Commit graph

519 commits

Author SHA1 Message Date
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
cuz
45cf0c2dd9 Changed TgtTranslateBuf
git-svn-id: svn://svn.cc65.org/cc65/trunk@649 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 17:56:28 +00:00
cuz
594a941ee9 Make __fixargs__ an actual symbol table entry. Add a new pseudo variable
__argsize__.


git-svn-id: svn://svn.cc65.org/cc65/trunk@646 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 10:16:50 +00:00
cuz
4357bb4760 Allow __fastcall__ for C function. Contrary to the name, this is a size
optimization for C functions. The last parameter is not pushed onto the
stack by the caller but in the function entry code, so there is no speed
but a size gain.


git-svn-id: svn://svn.cc65.org/cc65/trunk@645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-22 21:02:01 +00:00
cuz
00706daa49 Fix a compiler crash that happens after a function definition with two or
more identical parameter names. The input is of course wrong, but the
compiler shouldn't crash.


git-svn-id: svn://svn.cc65.org/cc65/trunk@644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-22 20:54:52 +00:00
cuz
9528c379c1 Added code to check the 6502 stack
git-svn-id: svn://svn.cc65.org/cc65/trunk@638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 22:34:08 +00:00
cuz
6f604239c7 Help text alignment was wrong
git-svn-id: svn://svn.cc65.org/cc65/trunk@634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 10:18:56 +00:00
cuz
857a362e78 Partially fixed a bug with the long addressing modes that was introduced
with a change in the scanner and went undetected since then. Use of symbols
as lower part of the address does still not work.


git-svn-id: svn://svn.cc65.org/cc65/trunk@632 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 23:02:38 +00:00
cuz
3e5ed62469 Added new option and pragma to generate calls to a stack checking routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@631 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 23:01:35 +00:00
cuz
b86a6b9749 Some more debuginfo implementation
git-svn-id: svn://svn.cc65.org/cc65/trunk@626 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-18 17:55:36 +00:00
cuz
d57f57db55 Add new symbol __STACKSIZE__ to all linker configurations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@622 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-10 14:24:58 +00:00