summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86FrameLowering.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-01-11 09:08:04 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-01-11 09:08:04 +0000
commit6039983755ed9b53542dee886cf6db64027190cd (patch)
treea5fe580fbba3be6b67d02b941c8bcaa7401a4b5c /llvm/lib/Target/X86/X86FrameLowering.cpp
parent51d3076bbfe7ae03cddfa1503a3c1291e90318f9 (diff)
downloadbcm5719-llvm-6039983755ed9b53542dee886cf6db64027190cd.tar.gz
bcm5719-llvm-6039983755ed9b53542dee886cf6db64027190cd.zip
Fix undefined code and reenable test case.
I don't think the compact encoding code is right, but at least is has defined behavior now. llvm-svn: 147938
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp
index 6a40cc17974..ac3ec89964e 100644
--- a/llvm/lib/Target/X86/X86FrameLowering.cpp
+++ b/llvm/lib/Target/X86/X86FrameLowering.cpp
@@ -458,7 +458,7 @@ encodeCompactUnwindRegistersWithFrame(unsigned SavedRegs[CU_NUM_SAVED_REGS],
// Encode the registers in the order they were saved, 3-bits per register. The
// registers are numbered from 1 to 6.
uint32_t RegEnc = 0;
- for (int I = 0; I != 6; --I) {
+ for (int I = 0; I != 6; ++I) {
unsigned Reg = SavedRegs[I];
if (Reg == 0) break;
int CURegNum = getCompactUnwindRegNum(CURegs, Reg);
@@ -470,7 +470,7 @@ encodeCompactUnwindRegistersWithFrame(unsigned SavedRegs[CU_NUM_SAVED_REGS],
RegEnc |= (CURegNum & 0x7) << ((5 - I) * 3);
}
- assert((RegEnc & 0x7FFF) == RegEnc && "Invalid compact register encoding!");
+ assert((RegEnc & 0x3FFFF) == RegEnc && "Invalid compact register encoding!");
return RegEnc;
}
OpenPOWER on IntegriCloud