[llvm-dev] LLVM pass to optimize redundant branch conditions
Craig Topper via llvm-dev
llvm-dev at lists.llvm.org
Thu Mar 26 18:58:58 PDT 2020
I didn't check in detail for this specific case, but the pass that does
optimization like this is lib/Transforms/Scalar/JumpThreading.cpp
~Craig
On Thu, Mar 26, 2020 at 6:25 PM Ejjeh, Adel via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hello All
>
> I am looking for an LLVM pass that is able to detect branches whose
> condition is known if they are reached. To illustrate what I mean, I
> attached a screenshot showing a partial CFG of a function. The branch in
> basic block for.cond.cleanup3 tests the same condition as the branch in the
> entry block, and has the same target BB if the condition is false. Also, if
> you inspect the graph carefully, the basic block for.cond.cleanup3 cannot
> be reached unless the first branch condition was true. This means that the
> condition of the branch in for.cond.cleanup3 will always be true. As such,
> it is possible to eliminate this branch, making it unconditional. Is there
> an LLVM pass that is able to perform such transformation?
>
> Thanks
> -Adel
>
> --
> *Adel Ejjeh*
> PhD Candidate - Computer Science
> University of Illinois at Urbana-Champaign
> 201 N Goodwin Ave, Urbana, IL 61801
> aejjeh at illinois.edu | adel.ejjeh at gmail.com
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200326/d4072c35/attachment.html>
More information about the llvm-dev
mailing list