1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib/Target/PIC16
Jim Grosbach 61c5ce1bde Add register-reuse to frame-index register scavenging. When a target uses
a virtual register to eliminate a frame index, it can return that register
and the constant stored there to PEI to track. When scavenging to allocate
for those registers, PEI then tracks the last-used register and value, and
if it is still available and matches the value for the next index, reuses
the existing value rather and removes the re-materialization instructions.
Fancier tracking and adjustment of scavenger allocations to keep more
values live for longer is possible, but not yet implemented and would likely
be better done via a different, less special-purpose, approach to the
problem.

eliminateFrameIndex() is modified so the target implementations can return
the registers they wish to be tracked for reuse.

ARM Thumb1 implements and utilizes the new mechanism. All other targets are
simply modified to adjust for the changed eliminateFrameIndex() prototype.

llvm-svn: 83467
2009-10-07 17:12:56 +00:00
..
AsmPrinter Instead of printing unnecessary basic block labels as labels in 2009-10-06 17:38:38 +00:00
TargetInfo Factor commonality in triple match routines into helper template for registering 2009-07-26 05:03:33 +00:00
CMakeLists.txt Normalize makefile comments and sort cmake file lists. 2009-08-31 13:05:24 +00:00
Makefile revert r79562 + r79563 2009-08-21 23:12:15 +00:00
MCSectionPIC16.h Further refactoring of PIC16 Obj file code. 2009-09-01 10:47:31 +00:00
PIC16.h eliminate a #include. 2009-08-24 04:07:51 +00:00
PIC16.td
PIC16DebugInfo.cpp Remove std::string uses from DebugInfo interface. 2009-09-29 18:40:58 +00:00
PIC16DebugInfo.h Reapply 79977. 2009-08-28 23:24:31 +00:00
PIC16InstrFormats.td
PIC16InstrInfo.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
PIC16InstrInfo.h
PIC16InstrInfo.td revert r79562 + r79563 2009-08-21 23:12:15 +00:00
PIC16ISelDAGToDAG.cpp
PIC16ISelDAGToDAG.h don't copy TargetLowering. 2009-07-28 03:05:40 +00:00
PIC16ISelLowering.cpp Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. 2009-09-19 09:51:03 +00:00
PIC16ISelLowering.h Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes. 2009-09-18 21:02:19 +00:00
PIC16MCAsmInfo.cpp Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
PIC16MCAsmInfo.h Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
PIC16MemSelOpt.cpp Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
PIC16RegisterInfo.cpp Add register-reuse to frame-index register scavenging. When a target uses 2009-10-07 17:12:56 +00:00
PIC16RegisterInfo.h Add register-reuse to frame-index register scavenging. When a target uses 2009-10-07 17:12:56 +00:00
PIC16RegisterInfo.td
PIC16Subtarget.cpp Normalize Subtarget constructors to take a target triple string instead of 2009-08-02 22:11:08 +00:00
PIC16Subtarget.h Normalize Subtarget constructors to take a target triple string instead of 2009-08-02 22:11:08 +00:00
PIC16TargetMachine.cpp Rename TargetAsmInfo (and its subclasses) to MCAsmInfo. 2009-08-22 20:48:53 +00:00
PIC16TargetMachine.h Reapply pieces of 78914 reverted in 78916, this has been fixed. 2009-08-13 17:08:54 +00:00
PIC16TargetObjectFile.cpp Further refactoring of PIC16 Obj file code. 2009-09-01 10:47:31 +00:00
PIC16TargetObjectFile.h Further refactoring of PIC16 Obj file code. 2009-09-01 10:47:31 +00:00