]>
git.sur5r.net Git - cc65/log
uz [Mon, 31 Aug 2009 12:41:38 +0000 (12:41 +0000)]
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
uz [Mon, 31 Aug 2009 12:22:13 +0000 (12:22 +0000)]
Oh well. Decided to throw away the separate implementation for leaa0sp,
because it's not used too much, may sometimes inlined and can easily be
replaced by another entry in leaaxsp.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4092
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 31 Aug 2009 12:15:51 +0000 (12:15 +0000)]
Renamed leaasp.s again, this time to leaa0sp.s. Added a new module leaaxsp.s.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4091
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 31 Aug 2009 12:10:59 +0000 (12:10 +0000)]
Renamed leasp.s to leaasp.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4090
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 09:01:04 +0000 (09:01 +0000)]
For bit fields contained within single bytes, try to do character operations
instead of word sized ops.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4089
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 08:37:21 +0000 (08:37 +0000)]
Use CHAR_BITS instead of a hardcoded 8 bits/byte.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4088
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 08:36:56 +0000 (08:36 +0000)]
Make the SIZEOF_XXX constants resolve to unsigned values.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4087
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 08:30:55 +0000 (08:30 +0000)]
Any field without a name is legal but useless in a union.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4086
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 08:28:16 +0000 (08:28 +0000)]
Separate the functions that parse unions and structs, because they became too
different.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4085
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 30 Aug 2009 07:55:21 +0000 (07:55 +0000)]
Missing resp. ignored "volatile".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4084
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 23:19:01 +0000 (23:19 +0000)]
Added even more subroutines to the "harmless calls" list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4083
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 22:03:41 +0000 (22:03 +0000)]
Few small changes. Started a new section about implementation-defined
behavior.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4082
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 21:58:06 +0000 (21:58 +0000)]
Code improvements
git-svn-id: svn://svn.cc65.org/cc65/trunk@4081
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 21:32:14 +0000 (21:32 +0000)]
Rewrote the paragraph about compiler limits and standard compliance.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4080
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 21:20:13 +0000 (21:20 +0000)]
First implementation of bit fields.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4079
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 21:17:28 +0000 (21:17 +0000)]
Added more harmless functions to the list, so the stuff gets applied in more
cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4078
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 20:16:52 +0000 (20:16 +0000)]
Improved code for shifts.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4077
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 20:14:20 +0000 (20:14 +0000)]
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
uz [Sat, 29 Aug 2009 20:04:18 +0000 (20:04 +0000)]
Info for long shift functions was missing or wrong.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4075
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 19:05:01 +0000 (19:05 +0000)]
Fix wrong check for typedef which caused non allocation of storage for structs
after the latest changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4074
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 19:04:21 +0000 (19:04 +0000)]
Rename Width to BitWidth.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4073
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 17:38:53 +0000 (17:38 +0000)]
Added code to parse bit fields and enter them into the symbol table. They're
not supported in code generation until now.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4072
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 11:31:28 +0000 (11:31 +0000)]
Another tiny code improvement for integer compares.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4071
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 11:31:06 +0000 (11:31 +0000)]
Fixed a problem with local variables (stack offset for RHS was not corrected).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4070
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 29 Aug 2009 10:54:59 +0000 (10:54 +0000)]
Just comment and formatting changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4069
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 21:34:28 +0000 (21:34 +0000)]
Change mode constants for ParseDecl to an enum.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4068
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 21:03:17 +0000 (21:03 +0000)]
Reorder optimimization steps to get better results.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4067
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 19:34:35 +0000 (19:34 +0000)]
Added more code to improve compares.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4066
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 17:38:24 +0000 (17:38 +0000)]
Fixed a bug introduced by recent changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4065
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 17:21:58 +0000 (17:21 +0000)]
Increase count to 16384. Simplify complex expression.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4064
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 16:32:58 +0000 (16:32 +0000)]
Changed code generated for compares. Fixed bugs in OptStackOps. Still
generates wrong code in at least one place.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4063
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 13:44:03 +0000 (13:44 +0000)]
Change code generated for compares for special cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4062
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 10:23:19 +0000 (10:23 +0000)]
Added -u as an alias for --force-import. Updated command line option infos in
the cl65 and ld65 docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4061
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 28 Aug 2009 09:29:11 +0000 (09:29 +0000)]
Relax the precondition for OPtStackOps somewhat.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4060
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 22:09:46 +0000 (22:09 +0000)]
When preprocessing, all compares evaluate to constants, so don't print a
warning in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4059
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 22:07:28 +0000 (22:07 +0000)]
Added better code to replace tossubax.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4058
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 22:00:18 +0000 (22:00 +0000)]
Added a warning if the result of a compare operation is constant. This should
protect against missing parenthesis like in (si & 0x7F == 0). Hopefully
without too many false positives.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4057
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 16:59:26 +0000 (16:59 +0000)]
Try to generate more predicable code. clc always before adc or sbc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4056
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 16:38:27 +0000 (16:38 +0000)]
Check for usage of Y instead of reloading it. The latter will destroy the
flags from load of A.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4055
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 16:13:17 +0000 (16:13 +0000)]
Fixed a problem with OptPtrLoad6 (must correct stack pointer).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4054
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 15:30:52 +0000 (15:30 +0000)]
Added the --force-import option also to the cl65 utility.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4053
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 14:43:44 +0000 (14:43 +0000)]
Added a new "--force-import" command line option to the linker.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4052
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 14:19:47 +0000 (14:19 +0000)]
Use the new AddrSizeFromStr function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4051
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 27 Aug 2009 14:11:07 +0000 (14:11 +0000)]
Added an AddrSizeFromStr function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4050
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 23 Aug 2009 21:40:36 +0000 (21:40 +0000)]
Fixed two more function that didn't clear the high byte of the function result.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4049
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 23 Aug 2009 21:38:11 +0000 (21:38 +0000)]
Fixed an error in cbm_k_save (on which cbm_save is based): The X register was
not cleared on return.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4048
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 20 Aug 2009 21:01:01 +0000 (21:01 +0000)]
Disable handling of tossubax since it won't work as implemented in many cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4047
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 20 Aug 2009 16:06:20 +0000 (16:06 +0000)]
Added several constraints to the optimizer functions to avoid breaking code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4046
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 20 Aug 2009 10:55:38 +0000 (10:55 +0000)]
Fixed a bug reported by Greg King: Initialized data for constant arrays was
not placed in the RODATA but in the DATA segment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4044
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 14:51:16 +0000 (14:51 +0000)]
Special cased the division 16 by 8.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4043
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 13:36:26 +0000 (13:36 +0000)]
Also handle ldaxysp as a valid load insn before a push.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4042
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 13:20:28 +0000 (13:20 +0000)]
Inline the left shift routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4041
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 12:47:30 +0000 (12:47 +0000)]
Apply OptTransfers3 again in a later step, so it gets another chance.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4040
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 10:17:10 +0000 (10:17 +0000)]
Generate more predictable code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4039
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 19 Aug 2009 10:14:14 +0000 (10:14 +0000)]
Add an additional precondition check for safety.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4038
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 18 Aug 2009 15:10:15 +0000 (15:10 +0000)]
Serval improvements, handling of tossubax.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4037
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 17 Aug 2009 20:48:28 +0000 (20:48 +0000)]
Greatly improved multiplication routine. Optimized the generic 16x16 one and
added special cases for 8x16 and 8x8. The former is directly called by the
compiler as tosmula0 and tosumula0 resp.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4036
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 17 Aug 2009 20:37:36 +0000 (20:37 +0000)]
Added a multiplication test program.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4035
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 17 Aug 2009 16:25:54 +0000 (16:25 +0000)]
Change order of insns in generated sequence in OptPtrLoad17.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4034
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 17 Aug 2009 16:23:29 +0000 (16:23 +0000)]
Added/corrected code info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4033
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Mon, 17 Aug 2009 12:52:50 +0000 (12:52 +0000)]
Rewrite of the main function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4032
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 23:37:09 +0000 (23:37 +0000)]
Change order, so that the forced imports for main() go into the global
segments and not the one for main().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4031
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 21:01:16 +0000 (21:01 +0000)]
Use correct adddressing mode for "asl a".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4030
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 20:56:33 +0000 (20:56 +0000)]
Some more pattern replacements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4029
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 19:23:07 +0000 (19:23 +0000)]
Output an apropriate error message when a floating point type is encountered
(instead of an internal compiler error).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4028
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 16:38:52 +0000 (16:38 +0000)]
Added an entry point that clears the high word of rhs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4027
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sun, 16 Aug 2009 16:38:25 +0000 (16:38 +0000)]
Added more function info
git-svn-id: svn://svn.cc65.org/cc65/trunk@4026
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 21:06:06 +0000 (21:06 +0000)]
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
uz [Sat, 15 Aug 2009 21:00:27 +0000 (21:00 +0000)]
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
uz [Sat, 15 Aug 2009 20:58:35 +0000 (20:58 +0000)]
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
uz [Sat, 15 Aug 2009 16:49:46 +0000 (16:49 +0000)]
Fixed wrong insertion order that caused problems with labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4022
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 16:45:02 +0000 (16:45 +0000)]
Fixed wrong insertion order that caused problems with labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4021
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 16:00:30 +0000 (16:00 +0000)]
clc should always be the insn before adc.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4020
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 15:58:21 +0000 (15:58 +0000)]
Some branch improvements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4019
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 15:27:43 +0000 (15:27 +0000)]
Inline some forms of aslax1
git-svn-id: svn://svn.cc65.org/cc65/trunk@4018
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 14:43:59 +0000 (14:43 +0000)]
Fixed an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@4017
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 14:20:26 +0000 (14:20 +0000)]
Replace ldaxidx by inline code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4016
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 14:18:00 +0000 (14:18 +0000)]
Add more function to the "harmless calls" list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4015
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 13:42:40 +0000 (13:42 +0000)]
Minor improvement in last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@4014
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 13:25:40 +0000 (13:25 +0000)]
Try to generate more predictable code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4013
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 13:16:56 +0000 (13:16 +0000)]
Remove even more transfer instructions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4012
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 12:49:15 +0000 (12:49 +0000)]
Remove unnecessary transfer instructions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4011
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 10:27:41 +0000 (10:27 +0000)]
Remove more push/pop sequences.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4010
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Sat, 15 Aug 2009 10:14:04 +0000 (10:14 +0000)]
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
uz [Sat, 15 Aug 2009 09:08:03 +0000 (09:08 +0000)]
Use __asm__() instead of asm().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4008
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 14 Aug 2009 22:17:47 +0000 (22:17 +0000)]
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
uz [Fri, 14 Aug 2009 22:10:04 +0000 (22:10 +0000)]
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
uz [Fri, 14 Aug 2009 22:08:28 +0000 (22:08 +0000)]
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
uz [Fri, 14 Aug 2009 20:21:47 +0000 (20:21 +0000)]
Tell the compiler more about the runtime library functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4004
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 14 Aug 2009 18:32:11 +0000 (18:32 +0000)]
Removed debug code
git-svn-id: svn://svn.cc65.org/cc65/trunk@4003
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 14 Aug 2009 18:23:29 +0000 (18:23 +0000)]
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
uz [Fri, 14 Aug 2009 17:28:32 +0000 (17:28 +0000)]
Improvements in array index code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4001
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Fri, 14 Aug 2009 17:09:24 +0000 (17:09 +0000)]
Moved part of codeopt into coptptrload for better modularization.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4000
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 6 Aug 2009 20:27:19 +0000 (20:27 +0000)]
Fix definition for CIA (Stefan Haubenthal).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3999
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Thu, 6 Aug 2009 20:24:41 +0000 (20:24 +0000)]
get_tv() implementation for the CBM610 by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3998
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Wed, 5 Aug 2009 14:31:33 +0000 (14:31 +0000)]
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
uz [Wed, 5 Aug 2009 14:29:30 +0000 (14:29 +0000)]
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
cpg [Tue, 4 Aug 2009 20:04:41 +0000 (20:04 +0000)]
introduce STARTUP segment to Atari platform
git-svn-id: svn://svn.cc65.org/cc65/trunk@3995
b7a2c559 -68d2-44c3-8de9-
860c34a00d81
uz [Tue, 4 Aug 2009 19:23:15 +0000 (19:23 +0000)]
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
uz [Tue, 4 Aug 2009 19:22:15 +0000 (19:22 +0000)]
Fixed an off-by-one bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3993
b7a2c559 -68d2-44c3-8de9-
860c34a00d81