[llvm-dev] LLVM pass to optimize redundant branch conditions

Stefanos Baziotis via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 26 19:02:57 PDT 2020


Oh I didn't see Craig's comment. Thanks I didn't know about this pass.

On Fri, Mar 27, 2020, 04:01 Stefanos Baziotis <stefanos.baziotis at gmail.com>
wrote:

> Hi Adel,
>
> This is a complicated example I think. It would help if you could provide
> a more reduced one and a complete IR. I think that ome of the dead code
> elimination passes or LICM may be able to help.
>
> Best,
> Stefanos Baziotis
>
> On Fri, Mar 27, 2020, 03:25 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/20200327/5396dafa/attachment.html>


More information about the llvm-dev mailing list