Use instruction itinerary to determine what instructions are 'cheap'.
[oota-llvm.git] / include / llvm / CodeGen / MachineRelocation.h
index 1c15fab532d4939a4e92d8f16e614fec56ec9ef6..c316785dd11279455c69afd6b56897a485dcd560 100644 (file)
@@ -138,14 +138,15 @@ public:
   ///
   static MachineRelocation getExtSym(uintptr_t offset, unsigned RelocationType, 
                                      const char *ES, intptr_t cst = 0,
-                                     bool GOTrelative = 0) {
+                                     bool GOTrelative = 0,
+                                     bool NeedStub = true) {
     assert((RelocationType & ~63) == 0 && "Relocation type too large!");
     MachineRelocation Result;
     Result.Offset = offset;
     Result.ConstantVal = cst;
     Result.TargetReloType = RelocationType;
     Result.AddrType = isExtSym;
-    Result.MayNeedFarStub = true;
+    Result.MayNeedFarStub = NeedStub;
     Result.GOTRelative = GOTrelative;
     Result.TargetResolve = false;
     Result.Target.ExtSym = ES;