mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Revert r239721 - Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
It appears to cause sparc-little-endian.s to assert on Windows and Darwin. llvm-svn: 239724
This commit is contained in:
parent
15d01ae3f0
commit
52648be0df
@ -20,6 +20,7 @@
|
||||
namespace llvm {
|
||||
class MCContext;
|
||||
class MCSection;
|
||||
class StringRef;
|
||||
|
||||
class MCObjectFileInfo {
|
||||
protected:
|
||||
@ -184,12 +185,8 @@ protected:
|
||||
MCSection *SXDataSection;
|
||||
|
||||
public:
|
||||
void InitMCObjectFileInfo(const Triple &TT, Reloc::Model RM,
|
||||
CodeModel::Model CM, MCContext &ctx);
|
||||
LLVM_ATTRIBUTE_DEPRECATED(
|
||||
void InitMCObjectFileInfo(StringRef TT, Reloc::Model RM,
|
||||
CodeModel::Model CM, MCContext &ctx),
|
||||
"StringRef GNU Triple argument replaced by a llvm::Triple object");
|
||||
void InitMCObjectFileInfo(StringRef TT, Reloc::Model RM, CodeModel::Model CM,
|
||||
MCContext &ctx);
|
||||
|
||||
bool getSupportsWeakOmittedEHFrame() const {
|
||||
return SupportsWeakOmittedEHFrame;
|
||||
|
@ -729,8 +729,7 @@ void MCObjectFileInfo::initCOFFMCObjectFileInfo(Triple T) {
|
||||
SectionKind::getDataRel());
|
||||
}
|
||||
|
||||
void MCObjectFileInfo::InitMCObjectFileInfo(const Triple &TheTriple,
|
||||
Reloc::Model relocm,
|
||||
void MCObjectFileInfo::InitMCObjectFileInfo(StringRef T, Reloc::Model relocm,
|
||||
CodeModel::Model cm,
|
||||
MCContext &ctx) {
|
||||
RelocM = relocm;
|
||||
@ -754,7 +753,7 @@ void MCObjectFileInfo::InitMCObjectFileInfo(const Triple &TheTriple,
|
||||
DwarfAccelNamespaceSection = nullptr; // Used only by selected targets.
|
||||
DwarfAccelTypesSection = nullptr; // Used only by selected targets.
|
||||
|
||||
TT = TheTriple;
|
||||
TT = Triple(T);
|
||||
|
||||
Triple::ArchType Arch = TT.getArch();
|
||||
// FIXME: Checking for Arch here to filter out bogus triples such as
|
||||
@ -778,12 +777,6 @@ void MCObjectFileInfo::InitMCObjectFileInfo(const Triple &TheTriple,
|
||||
}
|
||||
}
|
||||
|
||||
void MCObjectFileInfo::InitMCObjectFileInfo(StringRef TT, Reloc::Model RM,
|
||||
CodeModel::Model CM,
|
||||
MCContext &ctx) {
|
||||
InitMCObjectFileInfo(Triple(TT), RM, CM, ctx);
|
||||
}
|
||||
|
||||
MCSection *MCObjectFileInfo::getDwarfTypesSection(uint64_t Hash) const {
|
||||
return Ctx->getELFSection(".debug_types", ELF::SHT_PROGBITS, ELF::SHF_GROUP,
|
||||
0, utostr(Hash));
|
||||
|
@ -45,22 +45,22 @@ IRObjectFile::IRObjectFile(MemoryBufferRef Object, std::unique_ptr<Module> Mod)
|
||||
if (InlineAsm.empty())
|
||||
return;
|
||||
|
||||
Triple TT(M->getTargetTriple());
|
||||
StringRef Triple = M->getTargetTriple();
|
||||
std::string Err;
|
||||
const Target *T = TargetRegistry::lookupTarget(TT.str(), Err);
|
||||
const Target *T = TargetRegistry::lookupTarget(Triple, Err);
|
||||
if (!T)
|
||||
return;
|
||||
|
||||
std::unique_ptr<MCRegisterInfo> MRI(T->createMCRegInfo(TT.str()));
|
||||
std::unique_ptr<MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
|
||||
if (!MRI)
|
||||
return;
|
||||
|
||||
std::unique_ptr<MCAsmInfo> MAI(T->createMCAsmInfo(*MRI, TT.str()));
|
||||
std::unique_ptr<MCAsmInfo> MAI(T->createMCAsmInfo(*MRI, Triple));
|
||||
if (!MAI)
|
||||
return;
|
||||
|
||||
std::unique_ptr<MCSubtargetInfo> STI(
|
||||
T->createMCSubtargetInfo(TT.str(), "", ""));
|
||||
T->createMCSubtargetInfo(Triple, "", ""));
|
||||
if (!STI)
|
||||
return;
|
||||
|
||||
@ -70,7 +70,7 @@ IRObjectFile::IRObjectFile(MemoryBufferRef Object, std::unique_ptr<Module> Mod)
|
||||
|
||||
MCObjectFileInfo MOFI;
|
||||
MCContext MCCtx(MAI.get(), MRI.get(), &MOFI);
|
||||
MOFI.InitMCObjectFileInfo(TT, Reloc::Default, CodeModel::Default, MCCtx);
|
||||
MOFI.InitMCObjectFileInfo(Triple, Reloc::Default, CodeModel::Default, MCCtx);
|
||||
std::unique_ptr<RecordStreamer> Streamer(new RecordStreamer(MCCtx));
|
||||
T->createNullTargetStreamer(*Streamer);
|
||||
|
||||
|
@ -44,8 +44,8 @@ void TargetLoweringObjectFile::Initialize(MCContext &ctx,
|
||||
const TargetMachine &TM) {
|
||||
Ctx = &ctx;
|
||||
DL = TM.getDataLayout();
|
||||
InitMCObjectFileInfo(Triple(TM.getTargetTriple()), TM.getRelocationModel(),
|
||||
TM.getCodeModel(), *Ctx);
|
||||
InitMCObjectFileInfo(TM.getTargetTriple(),
|
||||
TM.getRelocationModel(), TM.getCodeModel(), *Ctx);
|
||||
}
|
||||
|
||||
TargetLoweringObjectFile::~TargetLoweringObjectFile() {
|
||||
|
@ -527,7 +527,7 @@ bool DwarfStreamer::init(Triple TheTriple, StringRef OutputFilename) {
|
||||
|
||||
MOFI.reset(new MCObjectFileInfo);
|
||||
MC.reset(new MCContext(MAI.get(), MRI.get(), MOFI.get()));
|
||||
MOFI->InitMCObjectFileInfo(TheTriple, Reloc::Default, CodeModel::Default,
|
||||
MOFI->InitMCObjectFileInfo(TripleName, Reloc::Default, CodeModel::Default,
|
||||
*MC);
|
||||
|
||||
MAB = TheTarget->createMCAsmBackend(*MRI, TripleName, "");
|
||||
|
@ -383,6 +383,7 @@ int main(int argc, char **argv) {
|
||||
cl::ParseCommandLineOptions(argc, argv, "llvm machine code playground\n");
|
||||
MCTargetOptions MCOptions = InitMCTargetOptionsFromFlags();
|
||||
TripleName = Triple::normalize(TripleName);
|
||||
Triple TheTriple(TripleName);
|
||||
setDwarfDebugFlags(argc, argv);
|
||||
|
||||
setDwarfDebugProducer();
|
||||
@ -391,9 +392,6 @@ int main(int argc, char **argv) {
|
||||
const Target *TheTarget = GetTarget(ProgName);
|
||||
if (!TheTarget)
|
||||
return 1;
|
||||
// Now that GetTarget() has (potentially) replaced TripleName, it's safe to
|
||||
// construct the Triple object.
|
||||
Triple TheTriple(TripleName);
|
||||
|
||||
ErrorOr<std::unique_ptr<MemoryBuffer>> BufferPtr =
|
||||
MemoryBuffer::getFileOrSTDIN(InputFilename);
|
||||
@ -431,7 +429,7 @@ int main(int argc, char **argv) {
|
||||
// MCObjectFileInfo needs a MCContext reference in order to initialize itself.
|
||||
MCObjectFileInfo MOFI;
|
||||
MCContext Ctx(MAI.get(), MRI.get(), &MOFI, &SrcMgr);
|
||||
MOFI.InitMCObjectFileInfo(TheTriple, RelocModel, CMModel, Ctx);
|
||||
MOFI.InitMCObjectFileInfo(TripleName, RelocModel, CMModel, Ctx);
|
||||
|
||||
if (SaveTempLabels)
|
||||
Ctx.setAllowTemporaryLabels(false);
|
||||
|
Loading…
Reference in New Issue
Block a user