Do the transform when the carry isn't used. It's a pattern exposed when legalizing large integers.
Details
Details
Diff Detail
Diff Detail
- Build Status
Buildable 6060 Build 6060: arc lint + arc unit
Event Timeline
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2158 | 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 | 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) |
Might it be quicker if we check for ISD::ADD/ISD::UADDO first before calling the heavier isNullConstan/hasAnyUseOfValue checks?