From 251ee1704c6d2d8a3a8a9ffb198de28a5fbb5a34 Mon Sep 17 00:00:00 2001 From: Adel Ejjeh <aejjeh@illinois.edu> Date: Tue, 19 Apr 2022 09:46:36 -0500 Subject: [PATCH] [hpvmdse] more bug fixes --- hpvm/tools/hpvm-dse/hpvm-dse.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/hpvm/tools/hpvm-dse/hpvm-dse.cpp b/hpvm/tools/hpvm-dse/hpvm-dse.cpp index 0e3d37afa2..9b2a403670 100644 --- a/hpvm/tools/hpvm-dse/hpvm-dse.cpp +++ b/hpvm/tools/hpvm-dse/hpvm-dse.cpp @@ -903,24 +903,17 @@ void OptimizeLeaf(ParamMaps &PM, DFLeafNode *NewLeaf, ValueToValueMapTy &VMap, // Next, do Dim loops unrolling doUnrollDim(PM, NewLeaf, os); + // Invalidate FunctionAnalysisManager after unrolling + FAM.invalidate(*F,PreservedAnalyses::none()); + TripCountMap[F] = getFuncLoopTripCounts(F, 1); removeNZLoop(F); // Normalize after unrolling - FunctionAnalysisManager FAM3; - LoopAnalysisManager LAM3; - ModuleAnalysisManager MAM3; - CGSCCAnalysisManager CAM3; - PassBuilder PB3; - PB3.registerFunctionAnalyses(FAM3); - PB3.registerLoopAnalyses(LAM3); - PB3.registerModuleAnalyses(MAM3); - PB3.registerCGSCCAnalyses(CAM3); - PB3.crossRegisterProxies(LAM3, FAM3, CAM3, MAM3); FunctionPassManager FPM3; // FPM3.addPass(SimplifyCFGPass()); // FPM3.addPass(EarlyCSEPass(false)); FPM3.addPass(InstCombinePass()); - FPM3.run(*F, FAM3); + FPM3.run(*F, FAM); end = std::chrono::steady_clock::now(); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); os << "\t\tDuration: " << duration.count() << " ms" << std::endl; @@ -981,7 +974,7 @@ void OptimizeLeaf(ParamMaps &PM, DFLeafNode *NewLeaf, ValueToValueMapTy &VMap, start = std::chrono::steady_clock::now(); FunctionPassManager FPM4; FPM4.addPass(SimplifyCFGPass()); - FPM4.run(*F, FAM3); + FPM4.run(*F, FAM); end = std::chrono::steady_clock::now(); duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); os << "\t\tDuration: " << duration.count() << " ms" << std::endl; -- GitLab