There is only one case where GVRequiresExtraLoad returns true for calls:
[oota-llvm.git] / lib / Target / X86 / X86Subtarget.h
index db3b5d5eaf9bdb16c63ed93a9570d03bd5896ac8..b2e518ed39f754bbed5135c8e0d7a7421ea2e4d5 100644 (file)
@@ -204,10 +204,16 @@ public:
   bool GVRequiresExtraLoad(const GlobalValue* GV, const TargetMachine &TM,
                            bool isDirectCall) const;
 
+  /// PCRelGVRequiresExtraLoad - True if accessing the GV from a PC-relative
+  /// operand like a call target requires an extra load.
+  bool PCRelGVRequiresExtraLoad(const GlobalValue *GV,
+                                const TargetMachine &TM) const;
+  
+  
   /// True if accessing the GV requires a register.  This is a superset of the
   /// cases where GVRequiresExtraLoad is true.  Some variations of PIC require
   /// a register, but not an extra load.
-  bool GVRequiresRegister(const GlobalValueGV, const TargetMachine &TM) const;
+  bool GVRequiresRegister(const GlobalValue *GV, const TargetMachine &TM) const;
 
   /// IsLegalToCallImmediateAddr - Return true if the subtarget allows calls
   /// to immediate address.