diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index dff2c36..e3161e5 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -301,7 +301,7 @@
   
   // Return true if this is a reference to a stub containing the address of the
   // global, not the global itself.
-  return isGlobalStubReference(GVOp);
+  return isGlobalStubReference(GVOp.getTargetFlags());
 }
 
 template<class CodeEmitter>
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index a1bd81b..28ee2c3 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -8839,6 +8839,7 @@
       // Otherwise, this isn't something we can handle, reject it.
       return;
     }
+    
     // If we require an extra load to get this address, as in PIC mode, we
     // can't accept it.
     if (Subtarget->GVRequiresExtraLoad(GA->getGlobal(), getTargetMachine()))
diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp
index 3e56531..8607db3 100644
--- a/lib/Target/X86/X86InstrInfo.cpp
+++ b/lib/Target/X86/X86InstrInfo.cpp
@@ -789,7 +789,7 @@
   if (MO.isGlobal()) {
     // If this is a load of a stub, not of the global, we can remat it.  This
     // access will always return the address of the global.
-    if (isGlobalStubReference(MO))
+    if (isGlobalStubReference(MO.getTargetFlags()))
       return true;
     
     // If the global itself is constant, we can remat the load.
@@ -980,7 +980,7 @@
       return true;
 
     if (MO.isGlobal())
-      return isGlobalStubReference(MO);
+      return isGlobalStubReference(MO.getTargetFlags());
 
     // If this is a load from an invariant stack slot, the load is a constant.
     if (MO.isFI()) {
diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h
index 0838739..83f6345 100644
--- a/lib/Target/X86/X86InstrInfo.h
+++ b/lib/Target/X86/X86InstrInfo.h
@@ -69,7 +69,8 @@
 /// instruction info tracks.
 ///
 namespace X86II {
-  enum {
+  /// Target Operand Flag enum.
+  enum TOF {
     //===------------------------------------------------------------------===//
     // X86 Specific MachineOperand flags.
     
@@ -179,15 +180,13 @@
     /// which is a PIC-base-relative reference to a hidden dyld lazy pointer
     /// stub.
     MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE = 17
-    
   };
 }
 
-/// isGlobalStubReference - Return true if the specified GlobalValue operand is
+/// isGlobalStubReference - Return true if the specified TargetFlag operand is
 /// a reference to a stub for a global, not the global itself.
-inline static bool isGlobalStubReference(const MachineOperand &MO) {
-  assert(MO.isGlobal() && "Predicate only works on globalvalue operands");
-  switch (MO.getTargetFlags()) {
+inline static bool isGlobalStubReference(unsigned char TargetFlag) {
+  switch (TargetFlag) {
   case X86II::MO_DLLIMPORT: // dllimport stub.
   case X86II::MO_GOTPCREL:  // rip-relative GOT reference.
   case X86II::MO_GOT:       // normal GOT reference.
