aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
diff options
context:
space:
mode:
authorCongzhe Cao <congzhe.cao@huawei.com>2021-09-27 18:30:20 -0400
committerCongzheUalberta <congzhecao@gmail.com>2021-09-27 18:37:36 -0400
commitc42772752a51849d311d5a379a042528c75795a8 (patch)
tree56875e7175d328d8bca5e2ad037c6b81753be6f7 /llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
parentb345952ad42655a437780e796cd0d7b6c4ccb559 (diff)
downloadllvm-c42772752a51849d311d5a379a042528c75795a8.zip
llvm-c42772752a51849d311d5a379a042528c75795a8.tar.gz
llvm-c42772752a51849d311d5a379a042528c75795a8.tar.bz2
[CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied
With improved analysis in determining CFG equivalence that does not require strict dominance and post-dominance conditions, we now relax isSafeToMoveBefore() such that an instruction I can be moved before InsertPoint even if they do not strictly dominate each other, as long as they follow the same control flow path. For example, we can move Instruction 0 before Instruction 1, and vice versa. ``` if (cond1) // Instruction 0: %add = add i32 1, 2 if (cond1) // Instruction 1: %add2 = add i32 2, 1 ``` Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D110456
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp')
0 files changed, 0 insertions, 0 deletions