Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | ||
---|---|---|
3216 | Did you make a general proof for this on alive2? Please add a link to the patch summary. I don't think this will be correct if the "+2" overflows? |
llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | ||
---|---|---|
3226 | There is no check that LHS0 is the same as RHS0. Please correct that and add a test similar to this: define i1 @xor_of_icmps_to_ne_no_common_operand(i64 %a, i64 %z) { %b = icmp sgt i64 %z, 4 %c = icmp slt i64 %a, 6 %xor = xor i1 %b, %c ret i1 %xor } | |
llvm/test/Transforms/InstCombine/set.ll | ||
259 | Similar to my comment from D129726:
|
LGTM - I think this could be implemented more generally using ConstantRange, but we already get the inverted pattern because the constants are equal in that case, so handling this specific pattern is ok.
Did you make a general proof for this on alive2? Please add a link to the patch summary. I don't think this will be correct if the "+2" overflows?