The pattern became optimized after b92412fb286b.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM - feel free to add tests without pre-commit review.
I would add the 'or' variant of this pattern too for completeness:
define i32 @not_reassociate_or_or_not(i32 %a, i32 %b, i32 %c, i32 %d) { %notb = xor i32 %b, -1 %notc = xor i32 %c, -1 %b1 = or i32 %a, %notb %b2 = or i32 %b1, %d %b3 = or i32 %b2, %notc ret i32 %b3 }
llvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll | ||
---|---|---|
4 | siplify -> "allow Demorgan logic fold" ? |
siplify -> "allow Demorgan logic fold" ?