1
0
mirror of https://github.com/cc65/cc65.git synced 2024-08-06 04:29:04 +00:00
Commit Graph

712 Commits

Author SHA1 Message Date
cuz
ac61d6826c Another optimization step
git-svn-id: svn://svn.cc65.org/cc65/trunk@1603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 12:05:23 +00:00
cuz
d7d86886b6 Add STARTUP and LOWCODE segments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 11:10:50 +00:00
cuz
fe75b5c3f3 Added LOWCODE and STARTUP segments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1600 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:50:45 +00:00
cuz
a7d67fb9b5 New upper memory limit
git-svn-id: svn://svn.cc65.org/cc65/trunk@1598 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:45:57 +00:00
cuz
cf71d811dc Comment was wrong
git-svn-id: svn://svn.cc65.org/cc65/trunk@1597 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:45:37 +00:00
cuz
86fb1f760a New harmless function
git-svn-id: svn://svn.cc65.org/cc65/trunk@1595 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 23:44:36 +00:00
cuz
6eabc2813a Added interrupt handler table
git-svn-id: svn://svn.cc65.org/cc65/trunk@1591 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 22:42:49 +00:00
cuz
527c0575ec Cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1590 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 22:42:38 +00:00
izydorst
8c5da1ecc1 added LOWCODE and STARTUP segments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 18:46:55 +00:00
cuz
2b98a26cac Add STARTUP and LOWCODE segments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1582 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 17:43:47 +00:00
cuz
4dd4e76a88 Added a scope argument to the SymIsDef and SymIsDef functions, so it is
possible to request information for a specific scope.
Add an optional scope argument to the .DEFINED builtin function.
Change the long branch macros to look for symbols in local scope.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1574 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 01:45:00 +00:00
cuz
08b095c604 Reversed the last change because it did not work
git-svn-id: svn://svn.cc65.org/cc65/trunk@1566 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-22 00:33:29 +00:00
cuz
4f9f06c20a Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1565 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 23:28:32 +00:00
cuz
e41c0adbb2 New target c16
git-svn-id: svn://svn.cc65.org/cc65/trunk@1563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:22:26 +00:00
cuz
c80596458c Renamed NMI segment to LOWCODE
git-svn-id: svn://svn.cc65.org/cc65/trunk@1562 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:15:19 +00:00
cuz
f205950f54 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1561 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 21:10:10 +00:00
cuz
42463beaee Rewrote code for better readability
git-svn-id: svn://svn.cc65.org/cc65/trunk@1560 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 20:46:16 +00:00
cuz
0ba44bb2d4 Small but significant shift optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@1559 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-21 01:08:14 +00:00
cuz
cfbe5ec5b4 Commiting some old changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1551 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 17:04:29 +00:00
cuz
ead7de2b42 Ignore module.inc
git-svn-id: svn://svn.cc65.org/cc65/trunk@1550 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 17:03:14 +00:00
cuz
e688abde1f Moved the zero page locations for the PET machines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1547 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-20 01:34:56 +00:00
cuz
8ef3447248 Fixed an error in struct compare. For one, the behaviour was not standard
compliant, because struct tags were not compare, second, this lead to an
endless loop of recursive calls for a special case of wrong C code.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-15 13:19:46 +00:00
cuz
ca1386e9d4 Removed unused code
git-svn-id: svn://svn.cc65.org/cc65/trunk@1522 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:52:29 +00:00
cuz
b1cc64faaa Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1521 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:52:10 +00:00
cuz
57d6c2f51e New function ReplaceType
git-svn-id: svn://svn.cc65.org/cc65/trunk@1520 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:51:59 +00:00
cuz
c6abc5d9d4 Make small functions inline
git-svn-id: svn://svn.cc65.org/cc65/trunk@1519 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-14 22:51:39 +00:00
cuz
dadd136ae1 Use constants for datatype sizes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1480 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-02 12:39:10 +00:00
cuz
8810e38bb7 Move the assignment parser into a separate module.
When assigning structures, copy them using the primary register when the
size is 1, 2, or 4.
When assigning structures, allow structures by value when the size is 1,
2, or 4. These structures are expected to be in the primary register. The
only case when this can happen is by return from function, so this change
makes div() work.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1477 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-01 21:27:31 +00:00
cuz
5548b6fd56 Work on better type casts - not yet finished
git-svn-id: svn://svn.cc65.org/cc65/trunk@1476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-01 15:16:16 +00:00
cuz
571ea849d9 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1475 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-29 17:53:17 +00:00
cuz
914b2a7e37 New store optimization.
New functions RegValIsKnown and RegValIsUnknown should be used instead of
direct compares against zero, so we can change the "unknown" representation
one day.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-17 21:37:01 +00:00
cuz
4da19658c2 Fixed error "variable has unknown size" for a local array where the size
was not given (introduced by last change).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1465 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-17 21:14:40 +00:00
cuz
49fd7134e5 Fixed a buffer overflow (report from Christian Groessler).
git-svn-id: svn://svn.cc65.org/cc65/trunk@1464 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-14 16:23:26 +00:00
cuz
83fb2c8ab4 Allow initialization of local variables of compound type
git-svn-id: svn://svn.cc65.org/cc65/trunk@1458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 21:15:24 +00:00
cuz
dcdaf8fd49 Restructured DeclareLocals()
git-svn-id: svn://svn.cc65.org/cc65/trunk@1457 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 20:24:16 +00:00
cuz
872c2b4453 Made a lot of short functions inline
git-svn-id: svn://svn.cc65.org/cc65/trunk@1456 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 20:23:41 +00:00
cuz
2e5fa9575c Add info about more functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1455 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-09 19:39:45 +00:00
cuz
13642fc6c4 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1454 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-09 19:39:36 +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
3c31d063f7 New optimizer pass OptShift3.
Renamed CE_IsCall to CE_IsCallTo.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1451 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 20:54:01 +00:00
cuz
a0496ca53d Fixed an omission in AdjustStackOffset. Use CS_IsBasicBlock in OptStackOps.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1450 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:03:12 +00:00
cuz
9a62c92489 Improved implementation of OptPushPop
git-svn-id: svn://svn.cc65.org/cc65/trunk@1449 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:01:46 +00:00
cuz
1647c6783f New functions CS_ResetMarks, CS_ResetAllMarks and CS_IsBasicBlock.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1448 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-06 19:01:16 +00:00
cuz
6047165325 Fixed problem with earlier change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1445 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 22:55:42 +00:00
cuz
e9da20f961 Fix codesize setting
git-svn-id: svn://svn.cc65.org/cc65/trunk@1444 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 22:37:36 +00:00
cuz
7ce4196829 New/changed optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-05 20:32:31 +00:00
cuz
bc1085997d Minor improvement of optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1440 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-04 19:27:15 +00:00
cuz
89e8aae7d7 Increase the size of some buffers, so we are at the assembler level able to
handle any identifiers passed from the C level.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1439 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-04 17:54:46 +00:00
cuz
29c217b4b2 Use a #define instead of numeric value
git-svn-id: svn://svn.cc65.org/cc65/trunk@1429 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 11:20:45 +00:00
cuz
4389b0c438 Fixed a small bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1426 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-03 09:00:57 +00:00