Jeppe Johansen
|
8b8f905d46
Merged with trunk, and fixed some errors introduced.
|
9 years ago |
florian
|
2a28f5a85d
* update used_in_proc only in trgobj.translate_registers, before it might cause unnecessary pushes of actually unused registers
|
9 years ago |
sergei
|
c0eafe38aa
* Make trgobj.uses_registers method return True when registers of appropriate type are specified in list of used registers (after assembler blocks), but not used otherwise. This is a missing piece of r30011, enabling code generator to actually save/restore such registers. Resolves #28421.
|
9 years ago |
florian
|
199b1861d6
* fix wrong comparisons in trgobj.conservative to enable better coalescing,
|
10 years ago |
florian
|
31709b1b43
* check registers of ait_regalloc for a valid color when translating and compiling with -dextdebug
|
10 years ago |
Jonas Maebe
|
e12dff9a5e
* support top_para in trgllvm.get_spill_temp()
|
10 years ago |
Jonas Maebe
|
e750678f37
* factored out spilling code that deals with operand types into virtual
|
10 years ago |
Jonas Maebe
|
197e5194b9
* don't crash if we have to spill a register of the last instruction in an
|
10 years ago |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 years ago |
sergei
|
31fddaafe8
+ New subtype of tai_regalloc, "ra_markused". It marks a physical register as used in procedure, triggering saving/restoring that register if it is non-volatile.
|
10 years ago |
Jonas Maebe
|
5c75b6dd6b
* synchronised with trunk up till r28402
|
11 years ago |
sergei
|
9b9ea15d68
+ m68k: initial implementation of do_spill_replace (supports only MOVE instructions for now). Tested with qemu for Coldfire target.
|
11 years ago |
Jeppe Johansen
|
03beaa9818
Added compiler support for SPC32 and initial embedded RTL.
|
11 years ago |
Jonas Maebe
|
bacd303208
* synchronized with trunk up to r27758
|
11 years ago |
Jonas Maebe
|
246caf3526
* never alias/coalesce cpu registers that are not usable by the register
|
11 years ago |
Jonas Maebe
|
e9268a0a14
* synchronised with trunk up till r26975
|
11 years ago |
florian
|
23c724f885
* prevent a temp. register allocated during spilling being immediately spilled again, resolves #25164
|
11 years ago |
florian
|
829764e96b
+ replace registers to spill in mov instructions and convert them into ldr/str
|
11 years ago |
Károly Balogh
|
587acf6452
fix infinite spilling on m68k, patch by Florian, additional IE workaround by me, based on a similar hack in the ARM cg...
|
11 years ago |
Károly Balogh
|
70f9b098e0
no longer define a segment field for m68k
|
11 years ago |
sergei
|
d2a9308181
+ SPARC: implemented register spill replacement.
|
11 years ago |
Jonas Maebe
|
b7803ab974
+ llvm support for the register allocator. While llvm works with virtual
|
11 years ago |
Jonas Maebe
|
5ef93e85b8
+ added extra "orgsupreg" parameter to do_spill_read/do_spill_written/
|
11 years ago |
Jonas Maebe
|
5599870a4e
* moved the register colouring and spill temp allocation to a virtual method,
|
11 years ago |
svenbarth
|
32a18199c5
Print aX or aregX for address registers if DEBUG_REGISTERLIFE is defined.
|
12 years ago |
florian
|
dc567acc9a
* accumulate register weight instead of taking only the maximum
|
12 years ago |
florian
|
c2f7ccb253
* coalesce more aggressive
|
12 years ago |
sergei
|
8b8553991a
+ MIPS: prevent coalescing written-to registers with $sp,$fp,$zero and $at.
|
12 years ago |
florian
|
23c84fd27c
* more fixes for segment register usage
|
12 years ago |
florian
|
b85addb451
+ color segment register
|
12 years ago |