aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCObjectWriter.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-12-24 21:22:02 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-12-24 21:22:02 +0000
commitfea753b397823c340608925eb7f3256a64a30017 (patch)
tree91016581c74485267516a02e4066ef865445cc0d /include/llvm/MC/MCObjectWriter.h
parenta112087e4298ca8ec1bc8aef8a2b272e49faa7ac (diff)
downloadexternal_llvm-fea753b397823c340608925eb7f3256a64a30017.zip
external_llvm-fea753b397823c340608925eb7f3256a64a30017.tar.gz
external_llvm-fea753b397823c340608925eb7f3256a64a30017.tar.bz2
Merge IsFixupFullyResolved and IsSymbolRefDifferenceFullyResolved. We now
have a single point where targets test if a relocation is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122549 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCObjectWriter.h')
-rw-r--r--include/llvm/MC/MCObjectWriter.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/include/llvm/MC/MCObjectWriter.h b/include/llvm/MC/MCObjectWriter.h
index 977b504..d267e6d 100644
--- a/include/llvm/MC/MCObjectWriter.h
+++ b/include/llvm/MC/MCObjectWriter.h
@@ -21,6 +21,7 @@ class MCAssembler;
class MCFixup;
class MCFragment;
class MCSymbol;
+class MCSymbolData;
class MCSymbolRefExpr;
class MCValue;
class raw_ostream;
@@ -84,21 +85,19 @@ public:
///
/// Clients are not required to answer precisely and may conservatively return
/// false, even when a difference is fully resolved.
- virtual bool
+ bool
IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm,
const MCSymbolRefExpr *A,
const MCSymbolRefExpr *B,
bool InSet) const;
- /// Check if a fixup is fully resolved.
- ///
- /// This routine is used by the assembler to let the file format decide
- /// if a fixup is not fully resolved. For example, one that crosses
- /// two sections on ELF.
- virtual bool IsFixupFullyResolved(const MCAssembler &Asm,
- const MCValue Target,
- bool IsPCRel,
- const MCFragment *DF) const = 0;
+ virtual bool
+ IsSymbolRefDifferenceFullyResolvedImpl(const MCAssembler &Asm,
+ const MCSymbolData &DataA,
+ const MCFragment &FB,
+ bool InSet,
+ bool IsPCRel) const = 0;
+
/// Write the object file.
///