hanchenye-llvm-project/llvm/test/CodeGen
Hal Finkel 7153251ab5 LocalStackSlotAllocation improvements
First, taking advantage of the fact that the virtual base registers are allocated in order of the local frame offsets, remove the quadratic register-searching behavior. Because of the ordering, we only need to check the last virtual base register created.

Second, store the frame index in the FrameRef structure, and get the frame index and the local offset from this structure at the top of the loop iteration. This allows us to de-nest the loops in insertFrameReferenceRegisters (and I think makes the code cleaner). I also moved the needsFrameBaseReg check into the first loop over instructions so that we don't bother pushing FrameRefs for instructions that don't want a virtual base register anyway.

Lastly, and this is the only functionality change, avoid the creation of single-use virtual base registers. These are currently not useful because, in general, they end up replacing what would be one r+r instruction with an add and a r+i instruction. Committing this removes the XFAIL in CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll

Jim has okayed this off-list.

llvm-svn: 180799
2013-04-30 20:04:37 +00:00
..
AArch64 Replace coff-/elf-dump with llvm-readobj 2013-04-12 04:06:46 +00:00
ARM TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
CPP test commit: remove blank line. 2013-03-14 05:43:59 +00:00
Generic TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
Hexagon TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
Inputs Revert "Adding DIImportedModules to DIScopes." 2013-03-28 02:44:59 +00:00
MBlaze Remove unnecessary leading comment characters in lit-only file 2013-03-18 22:08:16 +00:00
MSP430 Remove unnecessary leading comment characters in lit-only file 2013-03-18 22:08:16 +00:00
Mips TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
NVPTX [NVPTX] Remove support for SM < 2.0. This was never fully supported anyway. 2013-03-30 14:29:30 +00:00
PowerPC LocalStackSlotAllocation improvements 2013-04-30 20:04:37 +00:00
R600 TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
SI Add R600 backend 2012-12-11 21:25:42 +00:00
SPARC Cleanup: test source files do not need to be executable 2013-04-22 08:02:43 +00:00
Thumb LocalStackSlotAllocation improvements 2013-04-30 20:04:37 +00:00
Thumb2 TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
X86 TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
XCore [XCore] Extend test to check positve offsets are folded into addresses. 2013-04-16 20:05:52 +00:00