Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2527 ↗ | (On Diff #183811) | We already do this in DAGCombiner::combine for plain commutative binops, is it worth generalizing that code? |
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2527 ↗ | (On Diff #183811) | The problem is that this is not a binary operation so it doesn't fit in the existing machinery. If this end up being common enough, we can generalize. |
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2527 ↗ | (On Diff #183811) | OK - please add a TODO suggesting this. Should the ConstantSDNode handling be done here as well? |
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2527 ↗ | (On Diff #183811) | You mean moving a constant argument on RHS when it is on RHS ? |
lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
2527 ↗ | (On Diff #183811) | yes |
@RKSimon This can go now, but has no effect in isolation in any of the test cases I have, mainly because DAGCombine is fairly powerless when faced with addcarry as most of the work involve 'deep' patterns. Do you think I should land anyways ?
@RKSimon It is good to go, the main problem here is that I don't have a test case for it in isolation, and I have been struggling to get the pieces in where this really shines (mostly related to process the DAG topologically).
I added tests for this change.
https://reviews.llvm.org/rGe399c5877801
https://github.com/llvm/llvm-project/commit/e399c58778017388a818cabd1b13fcb88b79a432
Please rebase.