[PATCH] D18762: Add Aggressive Control Dead Code Elimination

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 6 19:09:02 PDT 2016


It would be good to at least send a fresh mail to the list with an updated
rationale and such.

One thing that I'm having trouble even making out from the patch
description in Phab is exactly what numbers you have collected. The
formatting makes it really hard to understand what change this actually
introduces.

As one high-level comment, why would we want this *and* ADCE to exist? I
feel like we don't need 4 or 5 different dead code elimination passes and
would benefit from this actually just being a patch to one of the existing
ones.

Another high-level comment: if we must have both ADCE and this pass, I find
the name "ACDCE" or "Aggressive Control Dead Code Elimination" very
confusing. The order of the words seems all wrong. If we need to
distinguish between eliminating dead control flows independent of
eliminating dead instructions within basic blocks, I would name them
"Aggressive Dead Control Flow Elimination" and "Aggressive Dead Code
Elimination". And I would consider stripping the "Aggressive" prefix
because I doubt that really makes sense these days.

On Mon, Jun 6, 2016 at 2:11 PM David Callahan via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> david2050 updated this revision to Diff 59782.
> david2050 added a comment.
>
> - Merge branch 'master' into acdce-with-idf-for-review
>
>
> http://reviews.llvm.org/D18762
>
> Files:
>   include/llvm/InitializePasses.h
>   include/llvm/LinkAllPasses.h
>   include/llvm/Transforms/Scalar.h
>   include/llvm/Transforms/Scalar/ACDCE.h
>   lib/Passes/PassBuilder.cpp
>   lib/Passes/PassRegistry.def
>   lib/Transforms/IPO/PassManagerBuilder.cpp
>   lib/Transforms/Scalar/ACDCE.cpp
>   lib/Transforms/Scalar/CMakeLists.txt
>   lib/Transforms/Scalar/Scalar.cpp
>   test/Transforms/ADCE/2002-01-31-UseStuckAround.ll
>   test/Transforms/ADCE/2002-05-22-PHITest.ll
>   test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
>   test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
>   test/Transforms/ADCE/2002-05-28-Crash.ll
>   test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
>   test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
>   test/Transforms/ADCE/2002-07-29-Segfault.ll
>   test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
>   test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
>   test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
>   test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
>   test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
>   test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
>   test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
>   test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
>   test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll
>   test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
>   test/Transforms/ADCE/basictest.ll
>   test/Transforms/ADCE/basictest1.ll
>   test/Transforms/ADCE/basictest2.ll
>   test/Transforms/ADCE/debug-info-intrinsic.ll
>   test/Transforms/ADCE/delete-profiling-calls-to-constant.ll
>   test/Transforms/ADCE/unreachable-function.ll
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160607/83de8027/attachment.html>


More information about the llvm-commits mailing list