[PATCH] D88307: [DON'T MERGE] Jump-threading for finite state automata
Ehsan Amiri via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 16 04:23:10 PST 2020
amehsan added a comment.
I think it is generalizable, and I will try to clarify generalization opportunities.
> There are three main components in the algorithm.
>
> 1- Choosing a SSA variable in the loop that is interesting. (“the variable” hereafter)
> 2- Proving the branches that depend on the value of the variable has opportunity for jump threading.
> 3- Deciding on which blocks needs to be replicated, how much code increase we will have and which branches we can remove.
To be clear, there is a lot of work that needs to be done after step (3). That is the actual transformation that can be discussed. But my goal here was to focus on the analysis to find the opportunity and also deciding how to replicate the code, which branches/BBs will be impacted.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88307/new/
https://reviews.llvm.org/D88307
More information about the llvm-commits
mailing list