Leverage it to transform addc into add.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
include/llvm/CodeGen/SelectionDAG.h | ||
---|---|---|
1287 ↗ | (On Diff #87140) | result of |
1290 ↗ | (On Diff #87140) | You can probably drop this part of the description now that OverflowKind is documented |
1283 ↗ | (On Diff #87056) | http://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly Style guide says enums should ave a prefix: OFK_Never, OFK_Sometimes, OFK_Always |
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
2780 ↗ | (On Diff #87140) | Does the test cases cover both of these patterns? Its not clear if it does. |
2782 ↗ | (On Diff #87140) | Are you intending to add OverflowKind::Always cases soon? If not you should possibly drop it from the enum and just put in a TODO. |
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
---|---|---|
2780 ↗ | (On Diff #87140) | I need some more improvement in the handling of adde/addc ( D29443 ) to expose the second one. then it kicks in in muladd in test/CodeGen/X86/adde-carry.ll |
2782 ↗ | (On Diff #87140) | Yes I want to add some there to transform adde(X, C, Carry) => addc(X, C+1) when the carry is always there. |
One last comment.
lib/CodeGen/SelectionDAG/SelectionDAG.cpp | ||
---|---|---|
2780 ↗ | (On Diff #87140) | In which case please can you drop this case until you can test for it? You can include it in another patch for review and commit it separately if you wish. |