Jonas Maebe
cc6a8fbe91
* make sure all registers except r0 are handled by the register
...
allocator for -dnewra
2003-07-06 15:27:44 +00:00
Jonas Maebe
acb3078279
* newra fix for threadvars
2003-07-06 15:25:54 +00:00
Jonas Maebe
80d6905b7b
* fixed my previous completely broken commit. It's not perfect though,
...
registers > last_supreg and < max_intreg may still be "translated"
2003-07-06 15:00:47 +00:00
Jonas Maebe
b1917a614b
* support integer registers that are not managed by newra (ie. don't
...
translate register numbers that fall outside the range
first_supreg..last_supreg)
2003-07-06 14:45:05 +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
b69219bae4
* also generate the caller paraloc info of a procedure if it doesn't exist
...
yet at the start of pass_2
2003-07-06 10:18:47 +00:00
peter
af3946938a
* check if owner.defowner is valid when checking private/protected
2003-07-05 22:41:59 +00:00
Jonas Maebe
14bd8b899a
* create_paraloc_info() is now called separately for the caller and
...
callee info
* fixed ppc cycle
2003-07-05 20:21:26 +00:00
Jonas Maebe
cc7f340ac8
* set pi_do_call if range/overflow checking is on
2003-07-05 20:15:24 +00:00
Jonas Maebe
0c65bc5a8c
* create_paraloc_info() is now called separately for the caller and
...
callee info
* fixed ppc cycle
2003-07-05 20:13:03 +00:00
Jonas Maebe
70a5d1e4c2
* create_paraloc_info() is now called separately for the caller and
...
callee info
* fixed ppc cycle
2003-07-05 20:11:41 +00:00
Jonas Maebe
37d266b63d
* fixed range check errors
2003-07-05 20:07:24 +00:00
Jonas Maebe
024590b0fa
* fixed some range check errors that occurred on big endian systems
...
* slightly optimized the swap*() functions
2003-07-05 20:06:28 +00:00
pierre
ecaa77a503
* single threadvar debugging support
2003-07-04 22:41:41 +00:00
pierre
907b785f0d
* add support for constant offset in stabs address, needed by threadvar debugging support
2003-07-04 22:40:58 +00:00
peter
1e47d6ffe0
* delay slot NOPs and comments added
...
* a_loadaddr_ref_reg fixed and optimized to reuse passed register
if it is not used by the ref
2003-07-03 21:09:53 +00:00
peter
390db181c1
* loadfpu_reg_reg size specifier
2003-07-03 18:59:25 +00:00
peter
b7d99ec934
* paraloc splitted in callerparaloc,calleeparaloc
...
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
Jonas Maebe
b2cdd72e5c
* always add dummy marker object at the start of an assembler list, so
...
the optimizer can't remove the first object
2003-07-02 16:43:48 +00:00
peter
bfb8ae2151
* sym,def resolving partly rewritten to support also parent objects
...
not directly available through the uses clause
2003-06-25 18:31:23 +00:00
pierre
c80bd4565d
* fix a bug preventing correct reading of intel 'mov [edi],al'
2003-06-20 12:57:15 +00:00
olle
cb440f8f93
* changed .p to .pas to make the compiler compile
2003-06-18 10:19:07 +00:00
olle
280c8655e5
* macos: fixes of loading-code
2003-06-18 10:12:36 +00:00
Jonas Maebe
4be7651aa2
* fixed conversion of fpc_*str_unique to compilerproc
2003-06-17 19:24:08 +00:00
Jonas Maebe
aa9f048e02
* fixed -dnewra compilation problems
2003-06-17 18:13:51 +00:00
Jonas Maebe
9b645eef82
- removed allocparaloc/freeparaloc, generic ones are ok now
2003-06-17 17:27:08 +00:00
peter
b8ad3514c0
* cycle fixes
2003-06-17 16:51:30 +00:00
peter
c642c454a2
* freeintparaloc
2003-06-17 16:36:59 +00:00
peter
f50aba2839
* a_loadaddr_ref_reg fixed
2003-06-17 16:35:56 +00:00
peter
6ce3721d8b
* JMP_BUF_SIZE changed to 4 to remove Alloctemp warnings
2003-06-17 16:35:42 +00:00
Jonas Maebe
404d344d92
* lots of newra fixes (need getfuncretparaloc implementation for i386)!
...
* renamed all_intregisters to volatile_intregisters and made it
processor dependent
2003-06-17 16:34:44 +00:00
peter
e6e43724c3
* freeintparaloc added
2003-06-17 16:34:19 +00:00
peter
43746bc54a
* alloc register for function result
2003-06-17 16:32:44 +00:00
peter
b489c2d65e
* allocpara/freepara 64bit support
2003-06-17 16:32:03 +00:00
mazen
012af1131e
* updated to help compiling the compiler
2003-06-17 04:34:04 +00:00
Jonas Maebe
673d792cc6
* release function result registers if the functino result isn't used
...
* don't allocate function result register with -dnewra if there is none
* some optimizations for non-x86 processor (don't save any registers
before a call)
2003-06-15 16:52:02 +00:00
Jonas Maebe
75b147ba60
* fixed revious commit
2003-06-15 16:47:33 +00:00
Jonas Maebe
3bbea08997
* fixed register allocation for threadvar loads with newra
2003-06-15 15:13:12 +00:00
Jonas Maebe
4e7fac9e7e
* callparatemp fix: if a threadvar is a parameter, that paramter also
...
does a call
2003-06-15 15:10:57 +00:00
Jonas Maebe
642d0f923b
* ppc compiles with -dnewra, haven't tried to compile anything with it
...
yet though
2003-06-14 22:32:43 +00:00
Jonas Maebe
d29c96896f
* fixed newra cycle for x86
...
* added constants for indicating source and destination operands of the
"move reg,reg" instruction to aasmcpu (and use those in rgobj)
2003-06-14 14:53:50 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
65e2afbd58
* supreg_name added
2003-06-13 21:08:30 +00:00
Jonas Maebe
a5a186799a
+ added supreg_name function
2003-06-13 17:44:44 +00:00
Jonas Maebe
4db662b6d0
* fixed small LOC_(C)FPUREGISTER bug
2003-06-13 17:05:24 +00:00
Jonas Maebe
c0a35f3cab
* fixed bugs in case the left node was a LOC_(C)REFERENCE
2003-06-13 17:03:38 +00:00
mazen
b39a9919a2
- unused temp var r removed in GetExplicitRegisterInt function
...
* some case added for var and fauncions naming
2003-06-12 22:47:52 +00:00
Jonas Maebe
67e0cc3ad6
* t386innode.pass_2 already doesn't call a helper anymore since a long
...
time
2003-06-12 22:10:44 +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
peter
c036dbe71a
* size para for ungetregisterfpu
2003-06-12 21:12:20 +00:00