From 03e3d29dbf3a6b12694afdb3ec2f751138061de0 Mon Sep 17 00:00:00 2001 From: Blaise Tine <tinebp@yahoo.com> Date: Tue, 11 Jun 2024 00:14:07 -0700 Subject: [PATCH] minor update --- llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 44 ++++++++----------- .../Target/RISCV/VortexBranchDivergence.cpp | 6 +-- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp index a45c64500d5b..300dc81dc760 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 998dc96147c7..8088f70b7458 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 { -- GitLab