peter
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
...
getjumplabel and added type para to getlabel for specific types
* moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
655e947521
* better commenting
2005-01-04 20:14:40 +00:00
Jonas Maebe
62d4f7dd52
* fixed regvar problem due to emit_bit_test() changing a register that
...
was allowed to be a LOC_CREGISTER
2004-12-11 01:04:26 +00:00
peter
2b6456fe16
* procvar handling for tp procvar mode fixed
...
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that
can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
florian
3a06b4f0fd
* jmp table code generation for case statement on sparc
2004-10-30 22:01:11 +00:00
peter
65c3ba277c
* ungetregister is now only used for cpuregisters, renamed to
...
ungetcpuregister
* renamed (get|unget)explicitregister(s) to ..cpuregister
* removed location-release/reference_release
2004-09-25 14:23:54 +00:00
Jonas Maebe
49b014379e
* fixed rare case bug (see tests/test/tb0478.pp)
2004-08-25 11:51:31 +00:00
peter
4275383b15
* range checks fixed
2004-08-16 21:00:15 +00:00
Jonas Maebe
038a5dde80
* fixed relabeling (nextaltnr was never increased)
...
* fixed inlining of case statements at the node level
2004-07-22 10:07:09 +00:00
Jonas Maebe
d3f1b21fae
* fixed regvar bug in tcginnode.pass_2
2004-07-04 12:38:55 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
Jonas Maebe
43fa5b9f9c
* some optimizations and associated fixes for better regvar code
2004-05-30 21:18:22 +00:00
florian
fabb9c33ac
* top_symbol killed
...
+ refaddr to treference added
+ refsymbol to treference added
* top_local stuff moved to an extra record to save memory
+ aint introduced
* tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
Jonas Maebe
9843118433
* fixed for regvars + simplification
2004-02-08 14:51:04 +00:00
florian
55557eea92
* more x86-64 fixes
2004-02-05 19:35:27 +00:00
florian
001e65a94e
* another improvement to tcginnode.pass_2
2004-01-31 23:37:07 +00:00
peter
1422985ca0
* Change several $ifdef i386 to x86
...
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
florian
de4fa4e7e7
* fixed another couple of arm bugs
2004-01-28 15:36:46 +00:00
Jonas Maebe
da6811ed58
* fixed and optimized in-node with constant smallset
...
* some register usage optimisations.
2003-12-09 19:14:50 +00:00
peter
13961467e3
* fixed range compare when the last value was an equal
...
compare. The compare for the lower range was skipped
2003-11-10 19:10:31 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
...
* tregisteralloctor renamed to trgobj
* removed rgobj from a lot of units
* moved location_* and reference_* to cgobj
* first things for mmx register allocation
2003-10-10 17:48:13 +00:00
daniel
b2343f4b16
* Register allocator splitted, ans abstract now
2003-10-09 21:31:37 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
daniel
cdb8a15f4a
* Some more R_NO changes
...
* Preventive code to loadref added
2003-08-20 20:29:06 +00:00
Jonas Maebe
af784cfb1e
* final (?) fix to in-code
2003-07-23 11:02:53 +00:00
Jonas Maebe
db3bd69a18
* fixed bug in tcginnode.pass_2
2003-07-20 18:03:27 +00:00
Jonas Maebe
a82c9531b7
* fixed register leak
...
* changed a couple of case-statements to location_force_reg()
2003-07-06 14:28:04 +00:00
Jonas Maebe
7ca760912b
* tcginnode.pass_2 doesn't call a helper anymore in any case
...
* fixed ungetregisterfpu compilation problems
2003-06-12 22:09:54 +00:00
Jonas Maebe
7081853478
- disabled gentreejmp for now, it expects that the case labels are
...
ordered as a perfectly balanced tree, while they are often a linked
list -> generates extremely bad code
2003-06-08 16:03:22 +00:00
Jonas Maebe
edb2179730
+ added freeintparaloc
...
* ppc get/freeintparaloc now check whether the parameter regs are
properly allocated/deallocated (and get an extra list para)
* ppc a_call_* now internalerrors if pi_do_call is not yet set
* fixed lot of missing pi_do_call's
2003-06-07 18:57:04 +00:00
peter
d91c880148
* cg.a_load_* get a from and to size specifier
...
* makeregsize only accepts newregister
* i386 uses generic tcgnotnode,tcgunaryminus
2003-06-03 21:11:09 +00:00
peter
230a14ff68
* getregisterfpu size parameter added
...
* op_const_reg size parameter added
* sparc updates
2003-06-01 21:38:06 +00:00
peter
414bd5fa22
* more sparc cleanup
...
* accumulator removed, splitted in function_return_reg (called) and
function_result_reg (caller)
2003-05-30 23:57:08 +00:00
Jonas Maebe
e7e2cfe9a4
* a_load_loc_reg now has an extra size parameter for the destination
...
register (properly fixes what I worked around in revision 1.106 of
ncgutil.pas)
2003-05-30 23:49:18 +00:00
Jonas Maebe
1712878279
* fixed tcginnode endian bug again, but correcty this time :)
2003-05-24 19:48:49 +00:00
florian
89c93b12c4
* fixed sparc compiler compilation
2003-05-23 21:10:50 +00:00
Jonas Maebe
25435fe881
* corrected fix for endian differences in tcginnode
2003-05-23 19:52:28 +00:00
Jonas Maebe
4aadabdf80
* fixed size setting of result location of innodes
2003-05-17 19:17:35 +00:00
Jonas Maebe
a3a3311e41
* fixed endian issue in inlined in-test for smallsets
...
* pass the address of normalsets to fpc_set_in_set_byte instead of the
contents of the first 4 bytes
2003-05-01 12:26:50 +00:00
daniel
6aa01a99a9
* Ifdefs around a lot of calls to cleartempgen
...
* Fixed registers that are allocated but not freed in several nodes
* Tweak to register allocator to cause less spills
* 8-bit registers now interfere with esi,edi and ebp
Compiler can now compile rtl successfully when using new register
allocator
2003-04-25 08:25:26 +00:00
peter
47489f2376
* firstpass uses expectloc
...
* checks if there are differences between the expectloc and
location.loc from secondpass in EXTDEBUG
2003-04-22 23:50:22 +00:00
peter
9ed2ce8c12
* removed some notes/hints
2003-04-22 14:33:38 +00:00