diff options
author | Amara Emerson <aemerson@apple.com> | 2018-01-24 19:59:29 +0000 |
---|---|---|
committer | Amara Emerson <aemerson@apple.com> | 2018-01-24 19:59:29 +0000 |
commit | f386e2b081b728b031b197e6028980b1bbcf52a3 (patch) | |
tree | ee30896cff8208bb0dfdf3b00daeab36ff256826 /llvm/lib/CodeGen | |
parent | e151501615888a1f3011c6e031f0ee34464edea1 (diff) | |
download | bcm5719-llvm-f386e2b081b728b031b197e6028980b1bbcf52a3.tar.gz bcm5719-llvm-f386e2b081b728b031b197e6028980b1bbcf52a3.zip |
[GlobalISel] Don't fall back to FastISel.
Apparently checking the pass structure isn't enough to ensure that we don't fall
back to FastISel, as it's set up as part of the SelectionDAGISel.
llvm-svn: 323369
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/CodeGen/TargetPassConfig.cpp | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index c3d782802eb..73bae2fbf38 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -1380,8 +1380,10 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) { FastISelFailed = false; // Initialize the Fast-ISel state, if needed. FastISel *FastIS = nullptr; - if (TM.Options.EnableFastISel) + if (TM.Options.EnableFastISel) { + DEBUG(dbgs() << "Enabling fast-isel\n"); FastIS = TLI->createFastISel(*FuncInfo, LibInfo); + } setupSwiftErrorVals(Fn, TLI, FuncInfo); diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp index 4a10c249c3c..374bb7a38fe 100644 --- a/llvm/lib/CodeGen/TargetPassConfig.cpp +++ b/llvm/lib/CodeGen/TargetPassConfig.cpp @@ -708,6 +708,8 @@ bool TargetPassConfig::addCoreISelPasses() { if (EnableGlobalISelOption == cl::BOU_TRUE || (EnableGlobalISelOption == cl::BOU_UNSET && TM->Options.EnableGlobalISel && EnableFastISelOption != cl::BOU_TRUE)) { + TM->setFastISel(false); + if (addIRTranslator()) return true; |