| Issue |
71200
|
| Summary |
LSR dropping nneg flag on zext in loop preheader
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
topperc
|
When induction variables have been widened, the loop preheader often contains something like `%wide.trip.count = zext nneg %x`. If LSR changes the loop, the nneg attribute appears to get lost.
RISC-V now depends on the nneg flag to form ISD::SIGN_EXTEND in SelectionDAGBuilder instead of converting zext to sext in RISCVCodeGenPrepare::visitZExtInst so the loss of this flag hurts RISC-V.
I'll work on extracting a reproducer.
cc: @preames @nikic
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs