Commit graph

1767 commits

Author SHA1 Message Date
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
cuz
1923199dad Allow to define symbols in the linker config
git-svn-id: svn://svn.cc65.org/cc65/trunk@620 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-10 14:10:38 +00:00
cuz
1eff067ff9 Moved verbose output to a shared module in the common/ directory.
git-svn-id: svn://svn.cc65.org/cc65/trunk@619 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-10 10:21:03 +00:00