Do the transform when the carry isn't used. It's a pattern exposed when legalizing large integers.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2158 ↗ | (On Diff #97466) | Might it be quicker if we check for ISD::ADD/ISD::UADDO first before calling the heavier isNullConstan/hasAnyUseOfValue checks? |
Comment Actions
LGTM with one minor
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2158 ↗ | (On Diff #97604) | The comment doesn't grok well, maybe just: // IIF the flag result is dead: // (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry) |