Colin Leroy-Mira
7d7cf2d1e0
Implement aslax7/shlax7/asrax7/shrax7
2024-01-29 07:59:11 +01:00
acqn
0bfa13722b
More funcinfo on register usage fixes.
2021-06-03 12:03:53 +02:00
acqn
896f463a23
Used more specific pointers instead of the "arbitary attribute pointer" used in type strings.
2021-04-19 15:36:55 +02:00
acqn
3755e4a863
Replaced checking for __fastcall__ aginst AutoCDecl etc. with IsFastcallFunc().
2021-03-24 14:35:44 +08:00
acqn
c9ac515286
Functions with no prototypes might use EAX registers.
2021-01-30 14:31:51 +01:00
acqn
f8c9dde989
The instruction parser can now recognize ZP locations and set the addressing mode for them.
2020-10-11 23:05:20 +02:00
acqn
66c5faeb9a
Added processor flags usage tracking.
...
Added ZNRegs for tracking what register(s) Z/N flags currently reflect.
Added utility functions to check if the specified processor state is known to be a certain value.
2020-09-13 13:50:35 +02:00
acqn
fe3f267233
Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax.
2020-09-11 13:33:54 +02:00
acqn
142b0bf9b3
Added utility functions to get names of comparison function/transformer subroutines.
2020-09-11 13:33:54 +02:00
acqn
57117fa687
Utility functions about compare conditions.
2020-09-08 14:19:48 +02:00
acqn
df07e23f2c
Fixed bnegeax funcinfo on register usage.
2020-09-05 02:25:56 -04:00
acqn
0a96ffc878
Fixed function parameter checking.
...
Fixed function return type checking.
2020-08-29 16:37:16 +02:00
acqn
f206833a20
Alternative fix for Issue #1167 .
2020-08-17 20:31:02 +02:00
acqn
13ed557b92
Fixed compatibility checking of function declarations by using the composite types of them.
2020-08-14 18:33:54 +02:00
acqn
49c5cfd65b
Improved fix for Issues #167 and #784 and somehow #781 .
2020-06-22 23:23:39 +02:00
Greg King
a6b04f6e97
Changed most "backticks" (grave accents) into apostrophes.
...
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Lauri Kasanen
e8a735492d
Correct comment style
2017-05-19 15:38:50 +03:00
Lauri Kasanen
901ac80026
Wrapper functions use all registers
2017-05-19 15:25:50 +03:00
Greg King
8743e9911d
Added a command-line option to compile a program, with __cdecl__ as the default calling convention.
2015-04-22 09:59:23 -04:00
Greg King
a798b1d648
Made __fastcall__ be the default calling convention for non-variadic functions.
2015-03-10 05:53:52 -04:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
4185caf855
Normalized code.
2014-03-04 01:11:19 +01:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
uz
5f0db62f58
Added info for new shift routines that don't use the stack.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5763 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:00:22 +00:00
uz
92a0632634
Added register info for the aslaxy and shlaxy routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:05:56 +00:00
uz
4b80a3b9cd
Added new pushl0 runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:23:15 +00:00
uz
0f7f7796b1
Added info about the subysp function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:14:49 +00:00
uz
f1ce44edfe
Fixed register info for several runtime functions. Info for the Y register was
...
wrong, so the optimizer assumed it wouldn't change across a call.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4836 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-02 18:05:19 +00:00
uz
7064aafab9
Added info about changed leaa0sp and leaaxsp. Rewrote g_leasp to cope with 16
...
stack offsets, because it's rather easy in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4093 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:41:38 +00:00
uz
b4855e017b
The shift long by 4 functions do also destroy Y.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4076 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:14:20 +00:00
uz
ddeb171617
Info for long shift functions was missing or wrong.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4075 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:04:18 +00:00
uz
430c13f658
Added/corrected code info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:23:29 +00:00
uz
3aa4d74b18
Added more function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4026 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 16:38:25 +00:00
uz
582506b7fc
Check also sreg in OptSize1. Added information about shortcut functions for
...
longs that clear the high word of the right operand on entry.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4024 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 21:00:27 +00:00
uz
0b7b9354dc
Don't generate short code for the tosxxx functions when X is zero or similar.
...
Let the optimizer do it. This reduces the number of possible patterns that
must be detected by the optimizer. Add tosicmp0 as a shortcut function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:10:04 +00:00
uz
fdfa1678d4
Tell the compiler more about the runtime library functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4004 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 20:21:47 +00:00
uz
cc36f8a93a
Moved the fascall and near/far flags from the function desriptor into the
...
type. Started to add general handling of address size flags in types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-24 17:33:30 +00:00
cuz
7736aac1e2
Added more info about internal (builtin) functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 21:35:24 +00:00
cuz
155dc9c653
Corrected some runtime function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3721 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-07 08:38:30 +00:00
cuz
f507124733
Added lots of runtime function info.
...
Fixed a problem with wrong info for the incaxn functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-03 19:31:31 +00:00
cuz
c73c31c496
Added info for the staxspidx runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-02 15:32:16 +00:00
cuz
d187424389
Fixed a problem of the optimizer. Unknown internal functions are marked as
...
using just EAX as input, and destroy all registers. This did cause the
optimizer to remove loads to zero page locations needed in the routines or
later.
Print a warning for unknown internal functions when in debug mode.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-24 15:24:34 +00:00
cuz
412a1300f9
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-17 12:42:34 +00:00
cuz
07419b62f8
Changed shift functions, added info about shift runtime functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3142 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-30 19:18:56 +00:00
cuz
1b81dcc64f
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-19 10:18:21 +00:00
cuz
da019b064a
Assume numeric subroutines use anything and change anything.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-21 10:44:39 +00:00
cuz
b0a2e6375f
Fixed wrong assumptions in the optimizer when subroutine calls to absolute
...
addresses are made.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-21 10:23:23 +00:00
cuz
eea99d2a1d
More zeropage variable tracking in the optimizer
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2460 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-01 13:05:35 +00:00
cuz
73dfa23c98
Fixed a bug that caused problems locating the last parameter of a function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-10 17:05:18 +00:00
cuz
70755921a9
Re-added register variables.
...
Changed/added several optimizer steps to detect register variables correctly
or to handle them in a special way.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-25 15:05:15 +00:00