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.