diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMFastISel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp index 418a985..4a2a58e 100644 --- a/lib/Target/ARM/ARMFastISel.cpp +++ b/lib/Target/ARM/ARMFastISel.cpp @@ -620,8 +620,11 @@ bool ARMFastISel::ARMComputeRegOffset(const Value *Obj, unsigned &Reg, // FIXME: Handle global variables. if (const GlobalValue *GV = dyn_cast<GlobalValue>(Obj)) { - (void)GV; - return false; + unsigned Tmp = ARMMaterializeGV(GV, TLI.getValueType(Obj->getType())); + if (Tmp == 0) return false; + + Reg = Tmp; + return true; } // Try to get this in a register if nothing else has worked. |