Fix the failure caused by r322773
Do not run GlobalISel if `-fast-isel=0 -global-isel=false`.
llvm-svn: 322800
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp
index acdc814..392f41a 100644
--- a/llvm/lib/CodeGen/TargetPassConfig.cpp
+++ b/llvm/lib/CodeGen/TargetPassConfig.cpp
@@ -711,16 +711,11 @@
TM->setFastISel(true);
// Ask the target for an instruction selector.
- bool EnableGlobalISel = TM->Options.EnableGlobalISel;
// Explicitly enabling fast-isel should override implicitly enabled
// global-isel.
- if (EnableGlobalISel && (EnableGlobalISelOption == cl::BOU_UNSET) &&
- (EnableFastISelOption == cl::BOU_TRUE))
- EnableGlobalISel = false;
- if (EnableGlobalISelOption == cl::BOU_TRUE)
- EnableGlobalISel = true;
-
- if (EnableGlobalISel) {
+ if (EnableGlobalISelOption == cl::BOU_TRUE ||
+ (EnableGlobalISelOption == cl::BOU_UNSET &&
+ TM->Options.EnableGlobalISel && EnableFastISelOption != cl::BOU_TRUE)) {
if (addIRTranslator())
return true;