diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-11 09:08:04 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-11 09:08:04 +0000 |
commit | 6039983755ed9b53542dee886cf6db64027190cd (patch) | |
tree | a5fe580fbba3be6b67d02b941c8bcaa7401a4b5c /llvm/lib/Target/X86/X86FrameLowering.cpp | |
parent | 51d3076bbfe7ae03cddfa1503a3c1291e90318f9 (diff) | |
download | bcm5719-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.cpp | 4 |
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; } |