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

825 Commits

Author SHA1 Message Date
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
c6c752ef8b Added mor specialized decax functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@675 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 20:47:12 +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
c2a88fd697 Removed an obsolete import
git-svn-id: svn://svn.cc65.org/cc65/trunk@671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 14:43:39 +00:00
cuz
092c0a2620 Recode decsp8
git-svn-id: svn://svn.cc65.org/cc65/trunk@670 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 14:41:45 +00:00
cuz
b4da972eb7 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@669 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-26 14:26:27 +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
d1530bc0a2 Squeeze one cycle and several bytes out of the pushax routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@666 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 16:25:08 +00:00
cuz
1e1199cb2b Rewrite the decsp and subysp functions now since they are used more often.
git-svn-id: svn://svn.cc65.org/cc65/trunk@665 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 16:15:01 +00:00
cuz
eec01763c4 Remove unused imports
git-svn-id: svn://svn.cc65.org/cc65/trunk@664 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 16:00:48 +00:00
cuz
e93f1574f4 Use decsp instead of subysp
git-svn-id: svn://svn.cc65.org/cc65/trunk@663 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 15:59:54 +00:00
cuz
0bac28d96f decspX will no longer save a
git-svn-id: svn://svn.cc65.org/cc65/trunk@662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-24 15:57:32 +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
4a6f7cadd0 Added Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@659 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 20:34:17 +00:00
cuz
57d2199bb3 Ignore some auto generated files
git-svn-id: svn://svn.cc65.org/cc65/trunk@658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 20:20:23 +00:00
cuz
93433f4023 Add section about cost of accessing params in a variadic function
git-svn-id: svn://svn.cc65.org/cc65/trunk@657 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 20:19:22 +00:00
cuz
300acc8175 Remove comment about stdarg.h being non standard
git-svn-id: svn://svn.cc65.org/cc65/trunk@656 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 20:19:02 +00:00
cuz
e7b80c4e8d va_start has also changed since the address of a fixed parameter is now
calculated by the compiler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@655 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 20:07:42 +00:00
cuz
b5914306cd Remove va_fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@654 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 19:21:27 +00:00
cuz
7e6005c999 The va_fix macro is no longer needed
git-svn-id: svn://svn.cc65.org/cc65/trunk@653 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 19:19:02 +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
59db8bdf1f Increased h/w stack safety zone to 12 bytes
git-svn-id: svn://svn.cc65.org/cc65/trunk@651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 19:08:07 +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
1bc86c9c78 Last checkin was a cr/lf converted version:-(
git-svn-id: svn://svn.cc65.org/cc65/trunk@648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 10:30:02 +00:00
cuz
5b68ec1591 Use the new __argsize__ pseudo variable
git-svn-id: svn://svn.cc65.org/cc65/trunk@647 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-23 10:28:11 +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
mrintsch
787ca6a9dd completed and testet cbm_read()
git-svn-id: svn://svn.cc65.org/cc65/trunk@639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-21 20:59:27 +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
mrintsch
fb76e97575 Added comments to cbm.h.
load/save returns oserror code.
Added open/close and read (which is not tested yet).


git-svn-id: svn://svn.cc65.org/cc65/trunk@637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 21:06:04 +00:00
cuz
83f8ce6f39 Describe new --check-stack option and related #pragma. Added missing
descriptions for the options to set the segment names from the command
line.


git-svn-id: svn://svn.cc65.org/cc65/trunk@636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 10:24:54 +00:00
cuz
9bf849151d Describe changed .incbin command
git-svn-id: svn://svn.cc65.org/cc65/trunk@635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-20 10:24:05 +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
01ffedd363 Removed the old stack checking routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@630 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 23:00:45 +00:00
cuz
4c8f35ea97 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@629 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 23:00:19 +00:00
cuz
dce87b81db Ignore intermediate files
git-svn-id: svn://svn.cc65.org/cc65/trunk@628 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 22:59:38 +00:00
cuz
1df22c6452 Added a stack checking routine
git-svn-id: svn://svn.cc65.org/cc65/trunk@627 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-03-19 22:26:47 +00:00