1
0
mirror of https://github.com/cc65/cc65.git synced 2024-10-30 12:28:25 +00:00
Commit Graph

629 Commits

Author SHA1 Message Date
cuz
8a53f3667c Handle intermediate access to local variables in the stack op optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-02 10:55:04 +00:00
cuz
b08adf831d More stack op optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@991 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-01 19:40:01 +00:00
cuz
ab692b8de8 Fixed a bug, added info for more runtime routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-01 15:22:48 +00:00
cuz
91dac51780 Use __attribute ((unused)) instead of -Wno-unused-parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 22:19:39 +00:00
cuz
453a8b704f Used __attribute ((unused)) instead of -Wno-unused-parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 22:04:19 +00:00
cuz
c8415fc17c More source splitting.
Remove the -Wno-unused-parameter in favour of __atribute__((unused)).


git-svn-id: svn://svn.cc65.org/cc65/trunk@986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 21:56:45 +00:00
cuz
0a6895ca05 Working on optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 20:34:31 +00:00
cuz
3c2b118dae Readded size optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 16:59:29 +00:00
cuz
62e48d9fd9 More splitting
git-svn-id: svn://svn.cc65.org/cc65/trunk@983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 14:55:40 +00:00
cuz
9c24d729ae Added optimization statistics
git-svn-id: svn://svn.cc65.org/cc65/trunk@982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 12:17:36 +00:00
cuz
21111ba235 Reordered/splitted the optimization module
git-svn-id: svn://svn.cc65.org/cc65/trunk@981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 11:09:25 +00:00
cuz
2d7634aa6b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-27 17:09:10 +00:00
cuz
371fcf48da Added AUTO_COLLECTION_INITIALIZER
git-svn-id: svn://svn.cc65.org/cc65/trunk@977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-27 05:54:40 +00:00
cuz
3752afa685 Check for an additional error condition
git-svn-id: svn://svn.cc65.org/cc65/trunk@976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 18:43:37 +00:00
cuz
4c87acbcc2 Command line options cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 17:39:13 +00:00
cuz
e0e1515a72 Added new command line options, one bug fixed
git-svn-id: svn://svn.cc65.org/cc65/trunk@973 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 17:38:54 +00:00
cuz
42326113cb More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@971 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 20:37:58 +00:00
cuz
8d0dfb5b41 More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 12:34:34 +00:00
cuz
9b9508cbd8 Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 10:34:29 +00:00
cuz
5d0a52b7ac Finished indirect function calls.
Debugged zero page location tracking.


git-svn-id: svn://svn.cc65.org/cc65/trunk@968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 10:30:48 +00:00
cuz
f4fbbc3dcc Track usage of the sreg and several other zero page registers and remove
unused stores into these registers.
Because of this, the old code using regsave does no longer work. Started
to rewrite it.


git-svn-id: svn://svn.cc65.org/cc65/trunk@966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-24 22:36:35 +00:00
cuz
f28be6d657 Collect more info on zp registers
git-svn-id: svn://svn.cc65.org/cc65/trunk@965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-23 09:20:55 +00:00
cuz
a6aa5512d5 Generate info about zp register usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 21:52:50 +00:00
cuz
51b8bd4046 Extend usage information
git-svn-id: svn://svn.cc65.org/cc65/trunk@962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 19:34:57 +00:00
cuz
f3b401cd21 Use X instead of Y register
git-svn-id: svn://svn.cc65.org/cc65/trunk@961 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 13:49:23 +00:00
cuz
fa1f814be5 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 13:48:55 +00:00
cuz
d694b9e88a Added a peephole optimization step for global array accesses
git-svn-id: svn://svn.cc65.org/cc65/trunk@957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-20 19:47:32 +00:00
cuz
afb63ff31c Add character RAM
git-svn-id: svn://svn.cc65.org/cc65/trunk@953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-20 09:52:28 +00:00
cuz
97af941462 Add IRQ function table
git-svn-id: svn://svn.cc65.org/cc65/trunk@945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-19 08:23:10 +00:00
cuz
95551a2fd1 Fixed a minor problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@942 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-16 20:48:22 +00:00
cuz
0f4acb37c6 Added text tables
git-svn-id: svn://svn.cc65.org/cc65/trunk@941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-16 18:16:09 +00:00
cuz
1a65e30fa0 Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 13:36:59 +00:00
cuz
7c67a35771 Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@937 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 13:11:41 +00:00
cuz
8f057fd84d Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@936 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 12:13:33 +00:00
cuz
0b5c5e2e36 Fixed a few compiler warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@935 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 12:00:43 +00:00
cuz
e67f4dcbd6 Enable even more warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@934 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:59:30 +00:00
cuz
c3cb057407 Check for sign problems in compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:51:08 +00:00
cuz
02be846175 Fix signed/unsigned comparisons
git-svn-id: svn://svn.cc65.org/cc65/trunk@931 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:39:07 +00:00
cuz
295d853b89 Add stacksize symbol
git-svn-id: svn://svn.cc65.org/cc65/trunk@928 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 21:19:48 +00:00
cuz
2760fbd5dc Adjust sizes, define the video RAM
git-svn-id: svn://svn.cc65.org/cc65/trunk@922 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 16:48:41 +00:00
cuz
6be0510138 Added the CBM510 as a new target system
git-svn-id: svn://svn.cc65.org/cc65/trunk@910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 19:49:27 +00:00
cuz
3ab5a002df Added the Commdore 510 target system
git-svn-id: svn://svn.cc65.org/cc65/trunk@909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 19:44:43 +00:00
cuz
fac003f477 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 15:29:59 +00:00
cuz
358578d417 Add IRQ table
git-svn-id: svn://svn.cc65.org/cc65/trunk@901 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 15:29:45 +00:00
cuz
c322febd66 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@896 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-12 18:20:42 +00:00
cuz
1a39515769 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@895 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-12 18:20:30 +00:00
cuz
23fbf3ff2a Adding functionality to StrBuf
git-svn-id: svn://svn.cc65.org/cc65/trunk@885 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 20:49:20 +00:00
cuz
c090f90172 Use a string buffer instead of the old implementation
git-svn-id: svn://svn.cc65.org/cc65/trunk@883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 13:23:54 +00:00
cuz
c04e8a90e4 More string buffer work
git-svn-id: svn://svn.cc65.org/cc65/trunk@882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 13:23:16 +00:00
cuz
2485259a93 New strbuf module
git-svn-id: svn://svn.cc65.org/cc65/trunk@881 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 10:24:16 +00:00
cuz
56b8ead112 Move inline asm parsing into a separate module
git-svn-id: svn://svn.cc65.org/cc65/trunk@880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 09:33:06 +00:00
cuz
bdf212b311 Added copyright notice
git-svn-id: svn://svn.cc65.org/cc65/trunk@879 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 09:26:46 +00:00
cuz
3e887bd9dd Flag labels in the map file exports list
git-svn-id: svn://svn.cc65.org/cc65/trunk@877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 22:09:30 +00:00
cuz
cd53882eed Add the label/equate bit to the exports and debug symbols
git-svn-id: svn://svn.cc65.org/cc65/trunk@876 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 21:08:20 +00:00
cuz
522ddabc35 Add new defines for export usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@875 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 20:51:33 +00:00
cuz
d799cc283f Add special routines for processing the boolean || and && operators in
preprocessor mode to work around limitations in the existing ones (constant
expressions are not detected).


git-svn-id: svn://svn.cc65.org/cc65/trunk@864 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 13:59:32 +00:00
cuz
84ddce0474 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 21:42:40 +00:00
cuz
5db55826f0 Removed an invalid data access.
Check nested #ifs for overflow.
Lots of cleanups and rewriting of code sections.
Streamlined and extended #if stack handling.
Added #elif preprocessor directive.


git-svn-id: svn://svn.cc65.org/cc65/trunk@859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 09:54:33 +00:00
cuz
f3df91260a Minor speedup
git-svn-id: svn://svn.cc65.org/cc65/trunk@858 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 07:04:54 +00:00
cuz
e1b0251f04 Renamed some functions for better readbility.
Add a binary search for preprocessor tokens (instead of the old linear one)
to speed up the compiler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 10:17:52 +00:00
cuz
bf47ac26c9 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 10:16:41 +00:00
cuz
3c2dafcb1f Added .lclintrc
git-svn-id: svn://svn.cc65.org/cc65/trunk@855 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 09:43:53 +00:00
cuz
b02fbce931 Changed an error message
git-svn-id: svn://svn.cc65.org/cc65/trunk@854 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-01 19:13:36 +00:00
cuz
4ce28c0cd5 Fixed problem with forward references in unnamed labels
git-svn-id: svn://svn.cc65.org/cc65/trunk@853 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-30 08:17:06 +00:00
cuz
b3af17126c Allow access to the global segments. Place ".dbg file" statements into the
global text segments so they will appear before any of the ".dbg line"
statements emitted later.


git-svn-id: svn://svn.cc65.org/cc65/trunk@852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-24 15:03:10 +00:00
izydorst
9346c3fbac info about c1541 in docs, lowered highest available address to $6000 due to
posiblity of overwriting C stack by drawing/copying to screen backbuffer


git-svn-id: svn://svn.cc65.org/cc65/trunk@847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-15 16:08:15 +00:00
cuz
2ff141a73f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@845 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-13 16:01:18 +00:00
cuz
7da0da3cad More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@842 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:50:00 +00:00
cuz
185bb4875f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@841 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:22:58 +00:00
cuz
adb0ac070a More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:09:48 +00:00
cuz
0529c2044a More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@839 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 21:19:50 +00:00
cuz
24403e151e More optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@838 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 20:37:14 +00:00
cuz
59a94124a1 More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 07:34:40 +00:00
cuz
7cf676d40c More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@836 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:38 +00:00
cuz
254948fcfe Minor changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@835 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:30 +00:00
cuz
eaf1304b71 Make flag constants unsigned
git-svn-id: svn://svn.cc65.org/cc65/trunk@834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:22 +00:00
cuz
81520a5824 Make --list-opt-steps exclusive
git-svn-id: svn://svn.cc65.org/cc65/trunk@833 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-30 21:40:32 +00:00
cuz
b4010bae8b Fixed several bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@832 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-30 19:33:52 +00:00
cuz
d341565ddc Allow enabling/disabline optimizer steps by file
git-svn-id: svn://svn.cc65.org/cc65/trunk@831 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 20:38:15 +00:00
cuz
750cf445f7 Added IsControl
git-svn-id: svn://svn.cc65.org/cc65/trunk@830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 20:36:19 +00:00
cuz
c51a706830 Simplify code generation
git-svn-id: svn://svn.cc65.org/cc65/trunk@827 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 09:07:43 +00:00
cuz
1cfec2492e Optimizations, cleanup in codegen
git-svn-id: svn://svn.cc65.org/cc65/trunk@826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 20:08:28 +00:00
cuz
bbebbe3a1b More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 06:40:06 +00:00
cuz
58592116ac Better code for > compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 06:10:10 +00:00
cuz
d604ed5e3f More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 21:51:40 +00:00
cuz
c2e45ea24d Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@819 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 16:15:47 +00:00
cuz
cd358107d3 Free register info
git-svn-id: svn://svn.cc65.org/cc65/trunk@818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 06:59:27 +00:00
cuz
8cd7b15c8b Squashed one more bug in the switch statement
git-svn-id: svn://svn.cc65.org/cc65/trunk@816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:19:03 +00:00
cuz
0b08eb0e68 More register tracking
git-svn-id: svn://svn.cc65.org/cc65/trunk@815 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:13:10 +00:00
cuz
d982999f3e Fixed another bug in CascadeSwitch
git-svn-id: svn://svn.cc65.org/cc65/trunk@814 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:12:53 +00:00
cuz
c5ccad1fc7 Fixed a bug in CascadeSwitch
git-svn-id: svn://svn.cc65.org/cc65/trunk@813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:08:58 +00:00
cuz
05eb03b32f Better register tracking in the optimizer
git-svn-id: svn://svn.cc65.org/cc65/trunk@812 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 17:07:33 +00:00
cuz
f249ae345e More renaming. Remove the case label limit by using a collection to store
the switch entries.


git-svn-id: svn://svn.cc65.org/cc65/trunk@807 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:53:17 +00:00
cuz
c571214513 More renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@806 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:29:21 +00:00
cuz
cc83744882 Renamed struct expent
git-svn-id: svn://svn.cc65.org/cc65/trunk@805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:24:19 +00:00
cuz
cbdc651884 Added more optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 20:13:33 +00:00
cuz
e370e447f6 Fixed a while loop bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 17:18:07 +00:00
cuz
c1c402c6ba Fixed a bug in the for loop optimization applied earlier
git-svn-id: svn://svn.cc65.org/cc65/trunk@800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 16:46:43 +00:00
cuz
6c34eeb93d Move the increment code of a for loop after the loop body.
git-svn-id: svn://svn.cc65.org/cc65/trunk@799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 12:50:38 +00:00
cuz
db707db0f1 Added CollMoveMultiple
git-svn-id: svn://svn.cc65.org/cc65/trunk@798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 12:42:16 +00:00
cuz
5c46ebee60 Added CollMove
git-svn-id: svn://svn.cc65.org/cc65/trunk@797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 11:54:30 +00:00
cuz
2266d11fec Remove transfer insns if possible
git-svn-id: svn://svn.cc65.org/cc65/trunk@795 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 18:48:04 +00:00
cuz
6a09064842 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 18:47:19 +00:00
cuz
f98db88f36 Trace register usage, remove duplicate loads
git-svn-id: svn://svn.cc65.org/cc65/trunk@793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 16:32:14 +00:00
cuz
38f076a59e Fixed type compare for functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-15 16:41:00 +00:00
cuz
36131c00d0 Work around a problem with the #if hack in the preprocessor
git-svn-id: svn://svn.cc65.org/cc65/trunk@787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 15:56:17 +00:00
cuz
6dcb3b662e Avoid a copy of the line contents
git-svn-id: svn://svn.cc65.org/cc65/trunk@786 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 15:55:52 +00:00
cuz
ac6fdcc55b Add dbginfo module
git-svn-id: svn://svn.cc65.org/cc65/trunk@782 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 14:44:07 +00:00
cuz
49376daf0d Go back to a working codegen.c
git-svn-id: svn://svn.cc65.org/cc65/trunk@779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 14:31:50 +00:00
cuz
6a988b4859 Fixed multi line macro bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-24 16:08:35 +00:00
cuz
fe2cd767b2 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@771 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-04 12:27:16 +00:00
cuz
c1da7b8859 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@770 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-04 12:26:53 +00:00
cuz
d27bfe8a7b More renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@769 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-03 09:10:46 +00:00
cuz
f42300ef62 Lots of renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@768 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-31 21:08:49 +00:00
cuz
9ce1e413e4 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@767 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 18:11:06 +00:00
cuz
a9674c071a Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@766 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 07:41:08 +00:00
cuz
3889a2bec9 Added dbg file generation
git-svn-id: svn://svn.cc65.org/cc65/trunk@764 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 07:39:46 +00:00
cuz
45242a8e02 Fixed line info issues
git-svn-id: svn://svn.cc65.org/cc65/trunk@763 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 07:39:01 +00:00
cuz
369f59c1bb Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@762 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-28 06:30:03 +00:00
cuz
034a4b75e5 Optimizer bugfixes, polished the line info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@761 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-26 10:58:40 +00:00
cuz
916a0879d5 cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@760 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-26 10:04:15 +00:00
cuz
84f85293f1 Fixed more E_MCONST issues
git-svn-id: svn://svn.cc65.org/cc65/trunk@758 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-24 18:26:20 +00:00
cuz
b0324b6041 Bugfix
git-svn-id: svn://svn.cc65.org/cc65/trunk@757 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-24 09:16:11 +00:00
cuz
eab6086161 Cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@754 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-24 08:26:57 +00:00
cuz
1d458e9f33 Small fixes for Watcom-C
git-svn-id: svn://svn.cc65.org/cc65/trunk@752 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-24 08:04:42 +00:00
cuz
d96baa7c42 Use a collections for the line info and sort them by file/line.
git-svn-id: svn://svn.cc65.org/cc65/trunk@751 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 22:02:19 +00:00
cuz
f3f42c43e5 Use fstat instead of stat and simplify the code
git-svn-id: svn://svn.cc65.org/cc65/trunk@750 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 21:44:14 +00:00
cuz
275da22a66 Use a separate structure for file infos instead of just the name.
git-svn-id: svn://svn.cc65.org/cc65/trunk@749 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 21:32:57 +00:00
cuz
bfbedfa54b Added line infos
git-svn-id: svn://svn.cc65.org/cc65/trunk@748 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 19:03:40 +00:00
cuz
ea2cf602b0 Working on source line information
git-svn-id: svn://svn.cc65.org/cc65/trunk@747 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 08:51:48 +00:00
cuz
d390c51e57 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@746 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 07:10:16 +00:00
cuz
f0f7af6b4a Added new lineinfo module
git-svn-id: svn://svn.cc65.org/cc65/trunk@745 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-23 07:04:09 +00:00
cuz
bc8f4f3a1e Added .dbg statement generation for the assembler
git-svn-id: svn://svn.cc65.org/cc65/trunk@744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 20:03:26 +00:00
cuz
afbf6d5fac Bumped the version
git-svn-id: svn://svn.cc65.org/cc65/trunk@743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 19:59:37 +00:00
cuz
3a272d93af More polishing to get the line info right
git-svn-id: svn://svn.cc65.org/cc65/trunk@742 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 16:54:47 +00:00
cuz
12ec031f9a Polishing and minor corrections
git-svn-id: svn://svn.cc65.org/cc65/trunk@741 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 13:58:56 +00:00
cuz
0e80187cec Added the lineinfo module. Changed the complete code generation to use the
supplied data structures. Re-added the -T option which is much more exact
now because of the better line info stuff.
Cleanups in the scanner (remove old #defines).


git-svn-id: svn://svn.cc65.org/cc65/trunk@740 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 09:32:24 +00:00
cuz
caf73cf15f Fix load of longs and improve zero page info
git-svn-id: svn://svn.cc65.org/cc65/trunk@739 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-22 07:11:22 +00:00
cuz
a687912ea3 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@738 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-21 20:05:52 +00:00
cuz
c1b6680a92 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@737 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-21 06:43:46 +00:00
cuz
4c19a5b699 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@735 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-20 20:42:00 +00:00
cuz
3c04d5777f Fixed a problem with the Chg/Use flags
git-svn-id: svn://svn.cc65.org/cc65/trunk@734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-20 18:51:12 +00:00
cuz
a9702f8a52 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@733 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-20 09:38:20 +00:00
cuz
df6d71d91e Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-19 21:20:08 +00:00
cuz
68c0d38dfa Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-18 20:32:18 +00:00
cuz
4e645d3ab8 Added DelCodeEntries
git-svn-id: svn://svn.cc65.org/cc65/trunk@730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-17 21:42:41 +00:00
cuz
09eed789dd Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-16 19:01:19 +00:00
cuz
1d3ea5cde0 Use :? operator to allow use in expressions
git-svn-id: svn://svn.cc65.org/cc65/trunk@728 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-16 13:05:06 +00:00
cuz
46a306e400 Renamed cfeature.h to inline.h
git-svn-id: svn://svn.cc65.org/cc65/trunk@727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-16 09:27:35 +00:00
cuz
87e9f7379b Use inline for better performance
git-svn-id: svn://svn.cc65.org/cc65/trunk@726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-16 09:24:42 +00:00
cuz
f78237a6a6 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@725 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-15 22:35:38 +00:00
cuz
21d41040c9 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@724 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-15 19:42:17 +00:00
cuz
c9cb564b9b Moved some of the currently existing into a separate module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@723 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-14 17:35:53 +00:00
cuz
a1da98103a Added backend optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@722 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-09 21:56:03 +00:00
cuz
3ef00e7d2a The .defined function (and .ifdef/.ifndef) flagged an imported symbol as
"defined". I'm not sure whichever is correct, but I changed it now and
will introduce an additional function .isimport if necessary.


git-svn-id: svn://svn.cc65.org/cc65/trunk@721 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-08 17:56:39 +00:00
cuz
a961f00997 Several bug fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@720 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-07 22:07:59 +00:00
cuz
989aacec2c Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-06 20:57:58 +00:00
cuz
e6a5e57b47 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 21:42:58 +00:00
cuz
cc9826721b Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@717 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 16:12:47 +00:00
cuz
3ff4baeafb Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 14:30:29 +00:00
cuz
e6484f85c7 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 13:51:42 +00:00
cuz
e8174aaa25 Added CollPop
git-svn-id: svn://svn.cc65.org/cc65/trunk@714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 12:34:22 +00:00
cuz
0218f8c632 Working on the new backend. Moved the files from the b6502 into the main
compiler dir because the backend is not really a submodule, so this did
not reflect the real relations of the backend to the rest of the compiler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@713 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 11:46:02 +00:00
cuz
8800b0c1c8 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@712 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-05 11:31:05 +00:00
cuz
1fbf554c63 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-04 16:41:23 +00:00
cuz
c71a80b0af Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-03 22:06:59 +00:00
cuz
42695dd3c3 Added CollIndex and CollDeleteItem
git-svn-id: svn://svn.cc65.org/cc65/trunk@708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-03 20:45:26 +00:00
cuz
8a3bacd7f4 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-03 20:16:41 +00:00
cuz
8eadb8aee0 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-03 17:34:54 +00:00
cuz
cd956115fa Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@705 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-02 20:14:38 +00:00
cuz
b9677becc1 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@704 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-01 19:59:55 +00:00
cuz
30e8306e05 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-01 17:11:40 +00:00
cuz
239cbdcb2b Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@702 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-01 16:57:43 +00:00
cuz
88792854a6 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@701 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-01 15:50:31 +00:00
cuz
9d1940a124 Working on the new backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-01 09:21:32 +00:00
cuz
aa6b3afcfc Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-30 20:00:13 +00:00
cuz
ddc60c20fe Added CollDeleteAll
git-svn-id: svn://svn.cc65.org/cc65/trunk@698 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-30 19:44:54 +00:00
cuz
abb1362389 Fixed a bug with the .incbin command
git-svn-id: svn://svn.cc65.org/cc65/trunk@697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-30 15:42:52 +00:00
cuz
b28672246a Rewriting the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-28 21:45:13 +00:00
cuz
2f722e4779 Started to redo the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@694 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-25 19:41:32 +00:00
cuz
4fdd595007 New module strutil
git-svn-id: svn://svn.cc65.org/cc65/trunk@693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-25 13:50:35 +00:00
cuz
9cb63b679c Renamed GetLabel to GetLocalLabel
git-svn-id: svn://svn.cc65.org/cc65/trunk@692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-19 06:49:08 +00:00
cuz
72e27092d4 Fixed a bug. Function declarations where the type of the first parameter is
a typedef and the name of the parameter is omitted where parse as old style
(K&R) function declarations leading to errors.


git-svn-id: svn://svn.cc65.org/cc65/trunk@688 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-06 09:07:48 +00:00
cuz
67aed641db Fixed an internal error on too few params in function call
git-svn-id: svn://svn.cc65.org/cc65/trunk@685 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-04 20:20:48 +00:00
cuz
b8e26d3612 Repeat opts until there are no more changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@684 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-04-04 20:20:29 +00:00
cuz
2d77e8b35f Make the last change more generic
git-svn-id: svn://svn.cc65.org/cc65/trunk@681 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-27 22:57:20 +00:00
cuz
8e5d8b9e4f Added optimization for g_inc and g_dec (remove handling of high byte if
not used).


git-svn-id: svn://svn.cc65.org/cc65/trunk@680 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-27 22:52:16 +00:00
cuz
e07945e9fc Changed an error message
git-svn-id: svn://svn.cc65.org/cc65/trunk@679 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 22:05:05 +00:00
cuz
2eab65ad24 Remove the hardcoded limit from the literal pool.
git-svn-id: svn://svn.cc65.org/cc65/trunk@678 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 21:57:07 +00:00
cuz
1ced0327ed Added xrealloc
git-svn-id: svn://svn.cc65.org/cc65/trunk@677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 21:46:37 +00:00
cuz
c3e37a287a Changed the implementation of g_leavariadic.
Generate calls to the additional decax functions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 20:49:54 +00:00
cuz
c3ec23aed0 Use one function exit point
git-svn-id: svn://svn.cc65.org/cc65/trunk@674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 20:07:05 +00:00
cuz
b0f3e85d44 Changed header
git-svn-id: svn://svn.cc65.org/cc65/trunk@673 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 16:41:11 +00:00
cuz
32535083e7 Correct wrong optimizer infos
git-svn-id: svn://svn.cc65.org/cc65/trunk@672 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 16:40:40 +00:00
cuz
2fead58243 Allow a more exact specification which growth factor is allowed when
generating code and favouring speed over size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@668 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 23:33:38 +00:00
cuz
4ab743143b Adjust several optimizer information pieces
git-svn-id: svn://svn.cc65.org/cc65/trunk@667 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 16:28:18 +00:00
cuz
c18453ebcb Inline parameter frame building
git-svn-id: svn://svn.cc65.org/cc65/trunk@661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 13:00:16 +00:00
cuz
59bcc726b6 Make AddConstSym from AddEnumSym
git-svn-id: svn://svn.cc65.org/cc65/trunk@660 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 21:27:48 +00:00
cuz
544705e6f4 * Added several type casts to increase C++ compatibility.
* __fixargs__ is now an actual function symbol and no longer handled in the
   scanner.
 * Additional symbol __argsize__ that is a constant in normal functions and
   a const local variable for variadic functions. Using this symbol, the
   va_arg macro gets a lot simpler and smaller.
 * Added special code to handle the fixed parameters of a variadic function.
   The code has some overhead, but the va_fix macro is no longer needed (and
   the compiler generated code is better than va_fix anyway).


git-svn-id: svn://svn.cc65.org/cc65/trunk@652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 19:17:04 +00:00
cuz
080500d0a0 Type change
git-svn-id: svn://svn.cc65.org/cc65/trunk@650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 17:59:23 +00:00