[PATCH] D99205: Add jump-threading optimization for deterministic finite automata

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 28 01:15:51 PDT 2021


foad added a comment.

In D99205#2785323 <https://reviews.llvm.org/D99205#2785323>, @jkreiner wrote:

> In D99205#2784461 <https://reviews.llvm.org/D99205#2784461>, @foad wrote:
>
>> Naive question: does your new pass "result in irreducible control flow that harms other optimizations"? From the ASCII art diagram in the commit message it looks like it does. Why is that OK?
>
> It could produce irreducible control flow like that, but the pass is late enough in the pipeline that it won't have a negative impact. I experimented with putting it early in the pipeline and the gains I measured weren't great, but it seems to be profitable where it is right now.

Naive follow-up question: why does this have to be a complete new implementation of jump threading? Would it be feasible to have a single implementation that takes a "don't create irreducible control flow" flag?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99205/new/

https://reviews.llvm.org/D99205



More information about the llvm-commits mailing list