1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00
Commit Graph

3770 Commits

Author SHA1 Message Date
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
aa7d419165 More entry points for long ops that clear the high word of the lhs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 21:06:06 +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
b1f772e9be Added additional entry points that clear the high word of the right operand.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4023 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 20:58:35 +00:00
uz
d0f9a0d6a7 Fixed wrong insertion order that caused problems with labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:49:46 +00:00
uz
14b00447a8 Fixed wrong insertion order that caused problems with labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:45:02 +00:00
uz
b4fda62df9 clc should always be the insn before adc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4020 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:00:30 +00:00
uz
15c420fd39 Some branch improvements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:58:21 +00:00
uz
3381311674 Inline some forms of aslax1
git-svn-id: svn://svn.cc65.org/cc65/trunk@4018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:27:43 +00:00
uz
f495a9edc3 Fixed an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@4017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:43:59 +00:00
uz
61195d914e Replace ldaxidx by inline code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:20:26 +00:00
uz
33f6c85753 Add more function to the "harmless calls" list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4015 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:18:00 +00:00
uz
b391929acb Minor improvement in last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@4014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:42:40 +00:00
uz
3717443f3b Try to generate more predictable code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:25:40 +00:00
uz
fbe009a182 Remove even more transfer instructions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:16:56 +00:00
uz
14f213cadb Remove unnecessary transfer instructions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 12:49:15 +00:00
uz
b68db83a2b Remove more push/pop sequences.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:27:41 +00:00
uz
d27664036d Change order of replacement code in OptPtrLoad10 to allow detection in other
steps.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:14:04 +00:00
uz
ec8280cc52 Use __asm__() instead of asm().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4008 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 09:08:03 +00:00
uz
0c4144c586 Don't generate inlined codes for integers shifts. If necessary the optimizer
can do that. 


git-svn-id: svn://svn.cc65.org/cc65/trunk@4007 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:17:47 +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
6a26b6e3b4 Added tosicmp0, a special entry point that clears the X register.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:08:28 +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
4a5ceb13c7 Removed debug code
git-svn-id: svn://svn.cc65.org/cc65/trunk@4003 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 18:32:11 +00:00
uz
50b410eb32 Do size improvements always if they have no impact on speed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 18:23:29 +00:00
uz
f374e746af Improvements in array index code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 17:28:32 +00:00
uz
a9b2226956 Moved part of codeopt into coptptrload for better modularization.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4000 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 17:09:24 +00:00
uz
3ea6be8f72 Fix definition for CIA (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3999 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-06 20:27:19 +00:00
uz
f8d3fccc01 get_tv() implementation for the CBM610 by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3998 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-06 20:24:41 +00:00
uz
f5a2022f32 Remove the top-level Makefile's attempt to install the no-longer-external
start-up files.  Let the makefile work with command-shells that don't
recognize the "test" command's "-e" operator (the Minix OS has that shell).
Patch by maintainer Greg King.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3997 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-05 14:31:33 +00:00
uz
cb1870de74 Fixed an off-by-one error (reported by Greg King - thanks).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3996 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-05 14:29:30 +00:00
cpg
9cafacaf6d introduce STARTUP segment to Atari platform
git-svn-id: svn://svn.cc65.org/cc65/trunk@3995 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 20:04:41 +00:00
uz
3ce7717bd2 Don't allow to call subroutines that aren't actual functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:23:15 +00:00
uz
70d2d9e50f Fixed an off-by-one bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:22:15 +00:00
uz
ca73116a03 New function IsLocalLabelName.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3992 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:12:34 +00:00
uz
3d95c9453f There's no longer a need to link in the startup file, it's done my magic
instead.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3991 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 13:39:07 +00:00
uz
4a6a0357e3 There are no more startup object modules.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3990 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:56:36 +00:00
uz
7ecf7a7e58 Adjust geos startup code to new compiler handling. Introduce __STARTUP__
symbol, remove geos.o.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:46:38 +00:00
uz
8216bf1d6a Force an import of the special symbol __STARTUP__ in the C compiler when
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
uz
66391bfc25 Inline shifts in g_asl as is already the case in g_scale.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 19:41:25 +00:00
uz
043acb1d98 Calculate time in seconds, not ticks. Implement pager output for primes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 19:25:59 +00:00
uz
a3eed9016f Fix problem with R3904: Chars on the lhs of opeq must still be accessed as
such.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 15:15:13 +00:00
uz
37157a31a8 Fixed problems with R3977: While the solution was correct, the generated code
is bad, since information is lost when converting functions and arrays to
pointers and cannot be regained easily. So I've reverted the change and fixed
the problem in a less general manner.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 14:45:50 +00:00
uz
a4a1c729c8 Allow registers in sweet16 mode also to be specified as constant numbers
instead of Rx. Suggestion and sample code by Gabriele Galeotti.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 13:05:41 +00:00
uz
e1866ed9f8 Correct sweet16 addressing bug with SUB instr. Patch by Gabriele Galeotti.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-29 14:37:58 +00:00
uz
f62b7a564e The "inc" target needed for the snapshot build script seems to have been lost.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:40:23 +00:00
uz
778f79c436 Add a dummy return to fix a Watcom warning.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3980 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:36:44 +00:00
uz
5ee49abd12 Fixed a compatibility problem in TypeCmp: Subtracting pointers with different
signedness is not allowed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:29:11 +00:00
uz
fb9c097981 Fixed a problem with function pointer conversion.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3978 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 19:21:38 +00:00
uz
32348f5778 Fixed an error: If an expression is loaded into the primary, a function must
be converted to pointer-to-function and an array to pointer-to-member resp.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 18:56:16 +00:00