Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | ||
|---|---|---|
| 541 | I believe there are more case in the file where metadata copy is missed. I will try to identify them and create more tests cases. Can be in this review on later, depending on reviewers' suggestion. | |
| llvm/test/Transforms/InstCombine/unpredictable-select.ll | ||
| 1 ↗ | (On Diff #541012) | I created this test file. Is this good location? |
| llvm/test/Transforms/InstCombine/unpredictable-select.ll | ||
|---|---|---|
| 1 ↗ | (On Diff #541012) | I would add this to the select_meta.ll test. |
| llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | ||
|---|---|---|
| 541 | I think it make sense for any binop because the condition of the select in this transformation remains unchanged (i.e. !unpredictable is still applicable). | |
| llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | ||
|---|---|---|
| 541 | I think you have this in the right place for most binops, but you should probably add additional tests for things like: you probably don't need all but some variety of those (like 1/2 bitwise, div or rem, a few intrinsics) should provide better coverage. | |
| llvm/test/Transforms/InstCombine/unpredictable-select.ll | ||
| 1 ↗ | (On Diff #541012) | +1 |
| llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | ||
|---|---|---|
| 541 | I added tests for most instructions from getSelectFoldableOperands. There are no any intrinsics there. | |
I believe there are more case in the file where metadata copy is missed. I will try to identify them and create more tests cases. Can be in this review on later, depending on reviewers' suggestion.