forked from OSchip/llvm-project
Object: Add IRObjectFile::getTargetTriple().
This lets us remove a use of IRObjectFile::getModule() in llvm-nm. Differential Revision: https://reviews.llvm.org/D27074 llvm-svn: 287846
This commit is contained in:
parent
e32baa0c3e
commit
debb6f6cc1
|
@ -60,6 +60,8 @@ public:
|
|||
}
|
||||
std::unique_ptr<Module> takeModule();
|
||||
|
||||
StringRef getTargetTriple() const;
|
||||
|
||||
static inline bool classof(const Binary *v) {
|
||||
return v->isIR();
|
||||
}
|
||||
|
|
|
@ -213,6 +213,8 @@ basic_symbol_iterator IRObjectFile::symbol_end() const {
|
|||
return basic_symbol_iterator(BasicSymbolRef(Ret, this));
|
||||
}
|
||||
|
||||
StringRef IRObjectFile::getTargetTriple() const { return M->getTargetTriple(); }
|
||||
|
||||
ErrorOr<MemoryBufferRef> IRObjectFile::findBitcodeInObject(const ObjectFile &Obj) {
|
||||
for (const SectionRef &Sec : Obj.sections()) {
|
||||
if (Sec.isBitcode()) {
|
||||
|
|
|
@ -265,14 +265,8 @@ static bool compareSymbolName(const NMSymbol &A, const NMSymbol &B) {
|
|||
}
|
||||
|
||||
static char isSymbolList64Bit(SymbolicFile &Obj) {
|
||||
if (isa<IRObjectFile>(Obj)) {
|
||||
IRObjectFile *IRobj = dyn_cast<IRObjectFile>(&Obj);
|
||||
Module &M = IRobj->getModule();
|
||||
if (M.getTargetTriple().empty())
|
||||
return false;
|
||||
Triple T(M.getTargetTriple());
|
||||
return T.isArch64Bit();
|
||||
}
|
||||
if (auto *IRObj = dyn_cast<IRObjectFile>(&Obj))
|
||||
return Triple(IRObj->getTargetTriple()).isArch64Bit();
|
||||
if (isa<COFFObjectFile>(Obj))
|
||||
return false;
|
||||
if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj))
|
||||
|
|
Loading…
Reference in New Issue