summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2015-02-05 19:27:04 +0000
committerEric Christopher <echristo@gmail.com>2015-02-05 19:27:04 +0000
commit24f3f65196ec1afb528d2924fde0ed51789e5e36 (patch)
treea5728d8bfecaa8062ae64f514d0f7df046d5dcd8
parentd361ff8282217c4a6007eeabc4dfee56d908a9fe (diff)
downloadbcm5719-llvm-24f3f65196ec1afb528d2924fde0ed51789e5e36.tar.gz
bcm5719-llvm-24f3f65196ec1afb528d2924fde0ed51789e5e36.zip
Remove the use of getSubtarget in the creation of the X86
PassManager instance. In one case we can make the determination from the Triple, in the other (execution dependency pass) the pass will avoid running if we don't have any code that uses that register class so go ahead and add it to the pipeline. llvm-svn: 228334
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index 78fe430c7f6..be22d619eec 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -186,10 +186,6 @@ public:
return getTM<X86TargetMachine>();
}
- const X86Subtarget &getX86Subtarget() const {
- return *getX86TargetMachine().getSubtargetImpl();
- }
-
void addIRPasses() override;
bool addInstSelector() override;
bool addILPOpts() override;
@@ -214,7 +210,8 @@ bool X86PassConfig::addInstSelector() {
addPass(createX86ISelDag(getX86TargetMachine(), getOptLevel()));
// For ELF, cleanup any local-dynamic TLS accesses.
- if (getX86Subtarget().isTargetELF() && getOptLevel() != CodeGenOpt::None)
+ if (Triple(TM->getTargetTriple()).isOSBinFormatELF() &&
+ getOptLevel() != CodeGenOpt::None)
addPass(createCleanupLocalDynamicTLSPass());
addPass(createX86GlobalBaseRegPass());
@@ -236,7 +233,7 @@ void X86PassConfig::addPostRegAlloc() {
}
void X86PassConfig::addPreEmitPass() {
- if (getOptLevel() != CodeGenOpt::None && getX86Subtarget().hasSSE2())
+ if (getOptLevel() != CodeGenOpt::None)
addPass(createExecutionDependencyFixPass(&X86::VR128RegClass));
if (UseVZeroUpper)
OpenPOWER on IntegriCloud