[PATCH] D115622: [Debugify] Optimize debugify original mode
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG73777b4c35a3: [Debugify] Optimize debugify original mode (authored by djtodoro). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115622/new/ https://reviews.llvm.org/D115622 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/Transforms/Utils/Debugify.h llvm/lib/Transforms/Utils/Debugify.cpp llvm/tools/opt/opt.cpp llvm/unittests/Transforms/Utils/DebugifyTest.cpp Index: llvm/unittests/Transforms/Utils/DebugifyTest.cpp === --- llvm/unittests/Transforms/Utils/DebugifyTest.cpp +++ llvm/unittests/Transforms/Utils/DebugifyTest.cpp @@ -121,15 +121,15 @@ DebugInfoDrop *P = new DebugInfoDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -172,15 +172,15 @@ DebugValueDrop *P = new DebugValueDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -225,15 +225,15 @@ DebugInfoDummyAnalysis *P = new DebugInfoDummyAnalysis(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); Index: llvm/tools/opt/opt.cpp === --- llvm/tools/opt/opt.cpp +++ llvm/tools/opt/opt.cpp @@ -858,13 +858,13 @@ // the (-check)-debugify passes. DebugifyCustomPassManager Passes; DebugifyStatsMap DIStatsMap; - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DebugInfoBeforePass; if (DebugifyEach) { Passes.setDebugifyMode(DebugifyMode::SyntheticDebugInfo); Passes.setDIStatsMap(DIStatsMap); } else if (VerifyEachDebugInfoPreserve) { Passes.setDebugifyMode(DebugifyMode::OriginalDebugInfo); -Passes.setDIPreservationMap(DIPreservationMap); +Passes.setDebugInfoBeforePass(DebugInfoBeforePass); if (!VerifyDIPreserveExport.empty()) Passes.setOrigDIVerifyBugsReportFilePath(VerifyDIPreserveExport); } @@ -884,10 +884,10 @@ Passes.setDIStatsMap(DIStatsMap); Passes.add(createDebugifyModulePass()); } else if (VerifyDebugInfoPreserve) { - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DebugInfoBeforePass); Passes.add(createDebugifyModulePass( DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; } } @@ -1026,7 +1026,7 @@ Passes.setOrigDIVerifyBugsReportFilePath(VerifyDIPreserveExport); Passes.add(createCheckDebugifyModulePass( false, "", nullptr, DebugifyMode::OriginalDebugInfo, -
[PATCH] D115622: [Debugify] Optimize debugify original mode
StephenTozer accepted this revision. StephenTozer added a comment. Latest change makes sense, LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115622/new/ https://reviews.llvm.org/D115622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D115622: [Debugify] Optimize debugify original mode
djtodoro updated this revision to Diff 416438. djtodoro added a comment. Herald added a project: All. - Move the skipping into the for-loop since we want to collect metadata for the functions that are not observed in the previous Pass (for example the function wasn't of interest due to having an attribute attached that wasn't relevant for the previous Pass) -- the improvement is still ~2x Again, Sorry for delay here and, @Orlando @StephenTozer thank you a lot for your comments! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115622/new/ https://reviews.llvm.org/D115622 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/Transforms/Utils/Debugify.h llvm/lib/Transforms/Utils/Debugify.cpp llvm/tools/opt/opt.cpp llvm/unittests/Transforms/Utils/DebugifyTest.cpp Index: llvm/unittests/Transforms/Utils/DebugifyTest.cpp === --- llvm/unittests/Transforms/Utils/DebugifyTest.cpp +++ llvm/unittests/Transforms/Utils/DebugifyTest.cpp @@ -121,15 +121,15 @@ DebugInfoDrop *P = new DebugInfoDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -172,15 +172,15 @@ DebugValueDrop *P = new DebugValueDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -225,15 +225,15 @@ DebugInfoDummyAnalysis *P = new DebugInfoDummyAnalysis(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); Index: llvm/tools/opt/opt.cpp === --- llvm/tools/opt/opt.cpp +++ llvm/tools/opt/opt.cpp @@ -829,13 +829,13 @@ // the (-check)-debugify passes. DebugifyCustomPassManager Passes; DebugifyStatsMap DIStatsMap; - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DebugInfoBeforePass; if (DebugifyEach) { Passes.setDebugifyMode(DebugifyMode::SyntheticDebugInfo); Passes.setDIStatsMap(DIStatsMap); } else if (VerifyEachDebugInfoPreserve) { Passes.setDebugifyMode(DebugifyMode::OriginalDebugInfo); -Passes.setDIPreservationMap(DIPreservationMap); +Passes.setDebugInfoBeforePass(DebugInfoBeforePass); if (!VerifyDIPreserveExport.empty()) Passes.setOrigDIVerifyBugsReportFilePath(VerifyDIPreserveExport); } @@ -855,10 +855,10 @@ Passes.setDIStatsMap(DIStatsMap); Passes.add(createDebugifyModulePass()); } else if (VerifyDebugInfoPreserve) { - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DebugInfoBeforePass); Passes.add(createDebugifyModulePass( DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; }
[PATCH] D115622: [Debugify] Optimize debugify original mode
StephenTozer accepted this revision. StephenTozer added a comment. This revision is now accepted and ready to land. Seems like a simple and sensible change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115622/new/ https://reviews.llvm.org/D115622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D115622: [Debugify] Optimize debugify original mode
djtodoro created this revision. djtodoro added reviewers: Orlando, StephenTozer. djtodoro added projects: debug-info, LLVM. Herald added subscribers: ormris, hiraditya. djtodoro requested review of this revision. Herald added a project: clang. Herald added subscribers: llvm-commits, cfe-commits. Before we start addressing the issue with having a lot of false positives when using debugify in the original mode, we have made a few patches that should speed up the execution of the testing utility Passes. For example, when testing a large project (let's say LLVM project itself), we can face a lot of potential DI issues. Usually, we use `-verify-each-debuginfo-preserve` (that is very similar to `-debugify-each`) -- it collects DI metadata before each Pass, and after the Pass it checks if the Pass preserved the DI metadata. However, we can speed up this process, since we don't need to collect DI metadata before each pass -- we could use the DI metadata that are collected after the previous Pass from the pipeline as an input for the next Pass. This patch speeds up the utility for ~2x. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D115622 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/Transforms/Utils/Debugify.h llvm/lib/Transforms/Utils/Debugify.cpp llvm/tools/opt/opt.cpp llvm/unittests/Transforms/Utils/DebugifyTest.cpp Index: llvm/unittests/Transforms/Utils/DebugifyTest.cpp === --- llvm/unittests/Transforms/Utils/DebugifyTest.cpp +++ llvm/unittests/Transforms/Utils/DebugifyTest.cpp @@ -121,15 +121,15 @@ DebugInfoDrop *P = new DebugInfoDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -172,15 +172,15 @@ DebugValueDrop *P = new DebugValueDrop(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); @@ -225,15 +225,15 @@ DebugInfoDummyAnalysis *P = new DebugInfoDummyAnalysis(); - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DIBeforePass; DebugifyCustomPassManager Passes; - Passes.setDIPreservationMap(DIPreservationMap); + Passes.setDebugInfoBeforePass(DIBeforePass); Passes.add(createDebugifyModulePass(DebugifyMode::OriginalDebugInfo, "", - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; Passes.add(P); Passes.add(createCheckDebugifyModulePass(false, "", nullptr, DebugifyMode::OriginalDebugInfo, - &(Passes.getDebugInfoPerPassMap(; + &(Passes.getDebugInfoPerPass(; testing::internal::CaptureStderr(); Passes.run(*M); Index: llvm/tools/opt/opt.cpp === --- llvm/tools/opt/opt.cpp +++ llvm/tools/opt/opt.cpp @@ -829,13 +829,13 @@ // the (-check)-debugify passes. DebugifyCustomPassManager Passes; DebugifyStatsMap DIStatsMap; - DebugInfoPerPassMap DIPreservationMap; + DebugInfoPerPass DebugInfoBeforePass; if (DebugifyEach) { Passes.setDebugifyMode(DebugifyMode::SyntheticDebugInfo); Passes.setDIStatsMap(DIStatsMap); } else if (VerifyEachDebugInfoPreserve) { Passes.setDebugifyMode(DebugifyMode::OriginalDebugInfo); -Passes.setDIPreservationMap(DIPreservationMap); +Passes.setDebugInfoBeforePass(DebugInfoBefo