X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FTargetMachine.cpp;h=307e93c37d484fd3a537381d94037e10c84734ae;hb=14593eb417e2cd345e1785bd311d55d1f1dd556b;hp=b3ff0010c43462fe094d3a9c6a4ecae560a372f6;hpb=4c553e0367dd13e1af55f0d90a8cd00a6ca15e3e;p=oota-llvm.git diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index b3ff0010c43..307e93c37d4 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Target/TargetMachine.h" +#include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalAlias.h" @@ -24,6 +25,7 @@ #include "llvm/MC/MCSectionMachO.h" #include "llvm/MC/MCTargetOptions.h" #include "llvm/MC/SectionKind.h" +#include "llvm/IR/LegacyPassManager.h" #include "llvm/Support/CommandLine.h" #include "llvm/Target/TargetLowering.h" #include "llvm/Target/TargetLoweringObjectFile.h" @@ -52,10 +54,8 @@ TargetMachine::~TargetMachine() { void TargetMachine::resetTargetOptions(const Function &F) const { #define RESET_OPTION(X, Y) \ do { \ - if (F.hasFnAttribute(Y)) \ - Options.X = (F.getAttributes() \ - .getAttribute(AttributeSet::FunctionIndex, Y) \ - .getValueAsString() == "true"); \ + if (F.hasFnAttribute(Y)) \ + Options.X = (F.getFnAttribute(Y).getValueAsString() == "true"); \ } while (0) RESET_OPTION(NoFramePointerElim, "no-frame-pointer-elim"); @@ -146,28 +146,9 @@ void TargetMachine::setOptLevel(CodeGenOpt::Level Level) const { CodeGenInfo->setOptLevel(Level); } -bool TargetMachine::getAsmVerbosityDefault() const { - return Options.MCOptions.AsmVerbose; -} - -void TargetMachine::setAsmVerbosityDefault(bool V) { - Options.MCOptions.AsmVerbose = V; -} - -bool TargetMachine::getFunctionSections() const { - return Options.FunctionSections; -} - -bool TargetMachine::getDataSections() const { - return Options.DataSections; -} - -void TargetMachine::setFunctionSections(bool V) { - Options.FunctionSections = V; -} - -void TargetMachine::setDataSections(bool V) { - Options.DataSections = V; +TargetIRAnalysis TargetMachine::getTargetIRAnalysis() { + return TargetIRAnalysis( + [this](Function &) { return TargetTransformInfo(getDataLayout()); }); } static bool canUsePrivateLabel(const MCAsmInfo &AsmInfo, @@ -193,9 +174,8 @@ void TargetMachine::getNameWithPrefix(SmallVectorImpl &Name, return; } SectionKind GVKind = TargetLoweringObjectFile::getKindForGlobal(GV, *this); - const TargetLoweringObjectFile &TLOF = - getSubtargetImpl()->getTargetLowering()->getObjFileLowering(); - const MCSection *TheSection = TLOF.SectionForGlobal(GV, GVKind, Mang, *this); + const TargetLoweringObjectFile *TLOF = getObjFileLowering(); + const MCSection *TheSection = TLOF->SectionForGlobal(GV, GVKind, Mang, *this); bool CannotUsePrivateLabel = !canUsePrivateLabel(*AsmInfo, *TheSection); Mang.getNameWithPrefix(Name, GV, CannotUsePrivateLabel); } @@ -203,7 +183,6 @@ void TargetMachine::getNameWithPrefix(SmallVectorImpl &Name, MCSymbol *TargetMachine::getSymbol(const GlobalValue *GV, Mangler &Mang) const { SmallString<60> NameStr; getNameWithPrefix(NameStr, GV, Mang); - const TargetLoweringObjectFile &TLOF = - getSubtargetImpl()->getTargetLowering()->getObjFileLowering(); - return TLOF.getContext().GetOrCreateSymbol(NameStr.str()); + const TargetLoweringObjectFile *TLOF = getObjFileLowering(); + return TLOF->getContext().GetOrCreateSymbol(NameStr.str()); }