[PATCH] D157581: [SelectionDAG][X86][WIP] Don't always seperate conditions in `(br (and/or cond0, cond1))` into seperate branches
Noah Goldstein via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 9 21:29:07 PDT 2023
goldstein.w.n added a comment.
In D157581#4575452 <https://reviews.llvm.org/D157581#4575452>, @craig.topper wrote:
> I have wondered in the past if this should be done by codegenprepare instead of SelectionDAGBuilder. I believe codegenprepare does it for fast isel.
>
> The current code in SelectionDAGBuilder doesn’t sink an AND so it blocks forming TEST instructions. CodegenPrepare already knows how to sink AND to be near compare.
Is in break up the branches in IR instead then let selectiondagbuilder just translate 1-1?
I see `splitBranchCondition` in CodeGenPrepare. You'd suggest there?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157581/new/
https://reviews.llvm.org/D157581
More information about the llvm-commits
mailing list