Skip to content
Snippets Groups Projects
Commit 03e3d29d authored by Blaise Tine's avatar Blaise Tine Committed by ncrouzet
Browse files

minor update

parent 7fe952c1
Branches
No related tags found
No related merge requests found
......@@ -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));
}
......
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment