[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