diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
index a45c64500d5b0fe063c0d9bec049499f35694336..300dc81dc760338cb1af6ca7a07ba97151386fbf 100644
--- a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+++ b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
@@ -128,13 +128,12 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVTarget() {
   initializeRISCVPreLegalizerCombinerPass(*PR);
   initializeRISCVPostLegalizerCombinerPass(*PR);
   initializeKCFIPass(*PR);
-  gVortexBranchDivergenceMode = VortexBranchDivergenceMode;
-  if (gVortexBranchDivergenceMode != 0) {
+  if (VortexBranchDivergenceMode != 0) {
     initializeVortexBranchDivergence0Pass(*PR);
     initializeVortexBranchDivergence1Pass(*PR);
     initializeVortexBranchDivergence2Pass(*PR);
   }
-  if (gVortexBranchDivergenceMode != 0) {
+  if (VortexKernelSchedulerMode != 0) {
     initializeVortexIntrinsicFuncLoweringPass(*PR);
   }
   initializeRISCVDeadRegisterDefinitionsPass(*PR);
@@ -193,8 +192,9 @@ RISCVTargetMachine::RISCVTargetMachine(const Target &T, const Triple &TT,
   setMachineOutliner(true);
   setSupportsDefaultOutlining(true);
 
-  if (FS.contains("vortex")
-   && gVortexBranchDivergenceMode != 0) {
+  if (FS.contains("+vortex")
+   && VortexBranchDivergenceMode != 0) {
+   gVortexBranchDivergenceMode = VortexBranchDivergenceMode;
    setRequiresStructuredCFG(true);
   }
 
@@ -476,23 +476,17 @@ bool RISCVPassConfig::addPreISel() {
                                   /* OnlyOptimizeForSize */ false,
                                   /* MergeExternalByDefault */ true));
   }
-
-  if (TM->getTargetFeatureString().contains("vortex")) {
-    if (gVortexBranchDivergenceMode != 0) {
-      addPass(createLowerSwitchPass());
-      addPass(createCFGSimplificationPass());
-      addPass(createFlattenCFGPass());
-      addPass(createLoopSimplifyPass());
-      addPass(createUnifyLoopExitsPass());
-      addPass(createFixIrreduciblePass());
-      addPass(createSinkingPass());
-      addPass(createVortexBranchDivergence0Pass());
-      addPass(createStructurizeCFGPass(true, (gVortexBranchDivergenceMode == 1)));
-      addPass(createVortexBranchDivergence1Pass(gVortexBranchDivergenceMode));
-    }
-    if (VortexKernelSchedulerMode != 0) {
-      addPass(createVortexIntrinsicFuncLoweringPass());
-    }
+  if (gVortexBranchDivergenceMode != 0) {
+    addPass(createLowerSwitchPass());
+    addPass(createCFGSimplificationPass());
+    addPass(createLoopSimplifyPass());
+    addPass(createUnifyLoopExitsPass());
+    addPass(createVortexBranchDivergence0Pass());
+    addPass(createStructurizeCFGPass(true, (VortexKernelSchedulerMode == 1)));
+    addPass(createVortexBranchDivergence1Pass(VortexKernelSchedulerMode));
+  }
+  if (VortexKernelSchedulerMode != 0) {
+    addPass(createVortexIntrinsicFuncLoweringPass());
   }
   return false;
 }
@@ -581,8 +575,7 @@ void RISCVPassConfig::addPreEmitPass2() {
     return MF.getFunction().getParent()->getModuleFlag("kcfi");
   }));
 
-  if (TM->getTargetFeatureString().contains("vortex")
-   && gVortexBranchDivergenceMode != 0) {
+  if (gVortexBranchDivergenceMode != 0) {
     addPass(createVortexBranchDivergence2Pass(1));
   }
 }
@@ -608,8 +601,7 @@ void RISCVPassConfig::addPreRegAlloc() {
   addPass(createRISCVInsertReadWriteCSRPass());
   addPass(createRISCVInsertWriteVXRMPass());
 
-  if (TM->getTargetFeatureString().contains("vortex")
-   && gVortexBranchDivergenceMode != 0) {
+  if (gVortexBranchDivergenceMode != 0) {
     addPass(createVortexBranchDivergence2Pass(0));
   }
 
diff --git a/llvm/lib/Target/RISCV/VortexBranchDivergence.cpp b/llvm/lib/Target/RISCV/VortexBranchDivergence.cpp
index 998dc96147c7a190df20959eab20aae9c4951f60..8088f70b7458d10ac4f84d16296c6e20c87cf6cf 100644
--- a/llvm/lib/Target/RISCV/VortexBranchDivergence.cpp
+++ b/llvm/lib/Target/RISCV/VortexBranchDivergence.cpp
@@ -369,10 +369,10 @@ FunctionPass *createVortexBranchDivergence2Pass(int PassMode) {
 }
 
 INITIALIZE_PASS_BEGIN(VortexBranchDivergence0, "vortex-branch-divergence-0",
-                "Vortex Branch Divergence Pre-Pass", false, false)
+                "Vortex Branch Divergence Pre-Processing", false, false)
 INITIALIZE_PASS_DEPENDENCY(UniformityInfoWrapperPass)
 INITIALIZE_PASS_END(VortexBranchDivergence0, "vortex-branch-divergence-0",
-                    "Vortex Branch Divergence Pre-Pass", false, false)
+                    "Vortex Branch Divergence Pre-Processing", false, false)
 
 INITIALIZE_PASS_BEGIN(VortexBranchDivergence1, "vortex-branch-divergence-1",
                       "Vortex Branch Divergence", false, false)
@@ -387,7 +387,7 @@ INITIALIZE_PASS_END(VortexBranchDivergence1, "vortex-branch-divergence-1",
                     "Vortex Branch Divergence", false, false)
 
 INITIALIZE_PASS(VortexBranchDivergence2, "VortexBranchDivergence-2",
-                "Vortex Branch Divergence Post-Pass", false, false)
+                "Vortex Branch Divergence Post-Processing", false, false)
 
 namespace vortex {