aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMFastISel.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp
index 719cf5a..c991c4e 100644
--- a/lib/Target/ARM/ARMFastISel.cpp
+++ b/lib/Target/ARM/ARMFastISel.cpp
@@ -647,8 +647,7 @@ bool ARMFastISel::ARMComputeAddress(const Value *Obj, Address &Addr) {
break;
}
case Instruction::GetElementPtr: {
- int SavedOffset = Addr.Offset;
- unsigned SavedBase = Addr.Base.Reg;
+ Address SavedAddr = Addr;
int TmpOffset = Addr.Offset;
// Iterate through the GEP folding the constants into offsets where
@@ -689,8 +688,7 @@ bool ARMFastISel::ARMComputeAddress(const Value *Obj, Address &Addr) {
if (ARMComputeAddress(U->getOperand(0), Addr)) return true;
// We failed, restore everything and try the other options.
- Addr.Offset = SavedOffset;
- Addr.Base.Reg = SavedBase;
+ Addr = SavedAddr;
unsupported_gep:
break;