Commit Graph

78 Commits

Author SHA1 Message Date
acqn ac4cb258be Removed a mysterious "Hey!" message. 2022-07-21 11:59:38 +08:00
mrdudz 3c1bb85b8e remove dangling spaces 2022-04-17 16:07:09 +02:00
acqn 79be6dec16 More quick hack for CE_GenRegInfo. 2021-06-03 12:03:53 +02:00
acqn 0bfa13722b More funcinfo on register usage fixes. 2021-06-03 12:03:53 +02:00
acqn a85d5330fa Fixed StrBuf initialization in PreparseArg(). 2020-10-04 12:17:14 +02:00
acqn b525554bfe Added support for parsing asm byte size expressions with a pair of parentheses. 2020-09-27 12:22:05 +02:00
acqn 688342e194 Now every code entry has its argument parsed to tell some info.
It fixes the compiling performance regression as well.
Built-in ZPs are recognized.
2020-09-27 12:22:05 +02:00
acqn c45a6b3685 Utility function ParseOpcArgStr(). 2020-09-27 12:22:05 +02:00
acqn de630a1245 Fixed quick hack for known registers after calling certain runtime functions,
and new quick hack for tosshrax.
2020-09-18 09:04:15 +02:00
acqn a7d6eb9190 Added processor flag usage/change-tracking for non-JSR/RTS code entries.
Some existing optimizations are impacted and need fixes in order to work correctly again.
Fixed and improved OptPrecalc. Now it respects the C/V/Z/N flags.
Fixed optimizations impacted by added support of tracking processor flags.
2020-09-18 09:04:15 +02:00
acqn b8ae5c28fe Added debug output support for processor flags. 2020-09-13 13:50:35 +02:00
acqn 810e17edfe Fixed processor states tracking for the BIT/TRB/TSB opcode.
Added new opcode descriptions about whether and how the opcode accesses memory.
2020-09-13 13:50:35 +02:00
acqn 66c5faeb9a Added processor flags usage tracking.
Added ZNRegs for tracking what register(s) Z/N flags currently reflect.
Added utility functions to check if the specified processor state is known to be a certain value.
2020-09-13 13:50:35 +02:00
acqn fe3f267233 Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax. 2020-09-11 13:33:54 +02:00
acqn 6e0fb630d7 Fixed check for processor flags usage in case of PHP. 2020-09-06 13:32:38 +02:00
acqn 8a166ac82f Fixed register usage tracking interfered by CE_SetArg. 2020-06-22 23:23:39 +02:00
marko.lauke 3e12840933 +code style 2020-03-26 23:08:49 -04:00
marko.lauke 68ff89ba0a +cc65 inline asm stp mnemonic support 2020-03-26 23:08:49 -04:00
Greg King 0390c34e88 Changed multi-line C comments into another style.
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt 4185caf855 Normalized code. 2014-03-04 01:11:19 +01:00
Oliver Schmidt 92ad74a49f Avoid GCC "unconst" warning. 2013-06-13 15:26:17 +02:00
Oliver Schmidt 85885001b1 Removed (pretty inconsistently used) tab chars from source code base. 2013-05-09 13:57:12 +02:00
uz 03e6556457 Fixed a bug in the function that generates register info: For tosaslax the
check for a known output value of A was wrong.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5954 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-01 21:09:16 +00:00
uz 43d0d2fb78 Special handling for a few more runtime functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5737 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 14:29:27 +00:00
uz 7c9b27c048 Be more flexible when detecting a special sequence that can be optimized.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-15 20:51:14 +00:00
uz 85f96a7d6f Fixed warnings generated by clang (run by Per Olofsson).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4255 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 15:59:18 +00:00
uz e9eb9eb77c Improved code generation, better tracking.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4108 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 10:07:02 +00:00
uz 82b998117a Added a separate output module that is used to manage the output file.
Fixed the -E switch: Output was always sent to stdout and an empty assembler
output file was generated. Now the output is sent to either <inputstem>.i or
the file named in the -o option.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3955 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 21:25:59 +00:00
cuz c7490cf060 Some function renaming.
Improved an optimization step.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-11 12:52:12 +00:00
cuz 412a1300f9 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-17 12:42:34 +00:00
cuz a3e6fbd21f Some cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@3127 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:05:54 +00:00
cuz 3ac1a08baf Cleaned up the code used for handling jump labels and the label name.
Fixed a problem that caused the optimizer not to detect that flags set by
a load are used, if the use is "hidden" behind an unconditional branch. This
caused the optimizer to remove the load.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-07 21:16:49 +00:00
cuz aa39d98cbc When changing the reference to a jump label, do also replace the string
argument for the instruction with the name of the new jump label. This
allows CodeEntriesAreEqual to work in all cases, and therefore optimizations
based on this function will also work more effectively (or at all).


git-svn-id: svn://svn.cc65.org/cc65/trunk@3100 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:21:07 +00:00
cuz b1d7f78bce More debugging output
git-svn-id: svn://svn.cc65.org/cc65/trunk@3084 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:36:36 +00:00
cuz 387ebfd396 Fixed a bug.
Added/moved debug code.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2472 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-06 10:29:17 +00:00
cuz 2b501720bf Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2468 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-02 09:01:47 +00:00
cuz 5a656ef6df Rearrange members to lower memory usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@2466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-01 20:59:39 +00:00
cuz eea99d2a1d More zeropage variable tracking in the optimizer
git-svn-id: svn://svn.cc65.org/cc65/trunk@2460 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-01 13:05:35 +00:00
cuz abcc981253 Move the Debug flag into a new module "debugflag" in the common directory.
Remove the const qualifier from the argument of xfree().


git-svn-id: svn://svn.cc65.org/cc65/trunk@1877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-04 16:59:51 +00:00
cuz cca009fe78 Added stack usage info
git-svn-id: svn://svn.cc65.org/cc65/trunk@1716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-05 12:59:00 +00:00
cuz 70755921a9 Re-added register variables.
Changed/added several optimizer steps to detect register variables correctly
or to handle them in a special way.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-25 15:05:15 +00:00
cuz e68b8160ed Added more size optimizations, separate module
git-svn-id: svn://svn.cc65.org/cc65/trunk@1453 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-08 20:56:00 +00:00
cuz 27cd610d49 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1351 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-12 09:10:02 +00:00
cuz 4a4e24623b Add info about the boolxx functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1216 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-06 15:06:03 +00:00
cuz c6fe12ef6b Fixed a code generation bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1215 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-06 14:51:27 +00:00
cuz 486640200b Several minor changes and fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1192 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 14:11:15 +00:00
cuz 0655cac6a6 Use MakeHexArg, replace STX and STY by STZ if possible
git-svn-id: svn://svn.cc65.org/cc65/trunk@1191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 10:24:55 +00:00
cuz 1118dd1237 Tracking zero page locations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1190 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-15 06:09:59 +00:00
cuz 0a9324d9c6 Working on the register tracking
git-svn-id: svn://svn.cc65.org/cc65/trunk@1188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-11 21:27:01 +00:00
cuz f38852df82 First support for STZ
git-svn-id: svn://svn.cc65.org/cc65/trunk@1187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-11 06:29:54 +00:00