llvm-6502/test/CodeGen
Ulrich Weigand 1edaab996f [PowerPC] Constrain base register in PPCRegisterInfo::resolveFrameIndex
I've run into a bug where current LLVM at -O0 (with fast-isel)
generated invalid code like:

        ld 0, 20936(1)                  # 8-byte Folded Reload
        stw 12, 10348(0)
        stw 12, 10344(0)

The underlying vreg had been introduced as base register by the
Local Stack Slot Allocation pass.  That register was constrained
to G8RC by PPCRegisterInfo::materializeFrameBaseRegister to match
the ADDI instruction used to set it, but it was *not* constrained
to G8RC_NOX0 to fit the *use* of the register in an address.

That should have happened in PPCRegisterInfo::resolveFrameIndex.
This patch adds an appropriate constrainRegClass call.

Reviewed by Hal Finkel.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211897 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 13:04:12 +00:00
..
AArch64 MachineScheduler: add some book-keeping to fix an assert. 2014-06-27 04:57:05 +00:00
ARM Fix up scoping in a few tests (and delete one that validates unnecessary behavior). 2014-06-24 20:10:27 +00:00
CPP IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
Generic
Hexagon
Inputs
Mips Print a=b as an assignment. 2014-06-24 22:45:16 +00:00
MSP430
NVPTX Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
PowerPC [PowerPC] Constrain base register in PPCRegisterInfo::resolveFrameIndex 2014-06-27 13:04:12 +00:00
R600 R600: Add some testcases for promote alloca pass. 2014-06-27 03:55:55 +00:00
SPARC IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
SystemZ IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
Thumb ARM: Fix fastcc calling convention for Thumb1 2014-06-13 08:33:03 +00:00
Thumb2 ARM: Fix TPsoft for Thumb mode 2014-06-24 15:45:59 +00:00
X86 [x86] Teach the target combine step to aggressively fold pshufd insturcions. 2014-06-27 11:40:13 +00:00
XCore