Now the backend will select ~0 vl to a register and load instruction, we could use X0 to replace it.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | ||
|---|---|---|
| 1797 | I don't think this works on RV32. getZExtValue would return 0xffffffff but VLMaxSentinel is 0xffffffffffffffff. I might be wrong. Please check. | |
| llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | ||
|---|---|---|
| 1797 | I think getSExtValue would work if I'm correct that the issue exists. | |
| llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | ||
|---|---|---|
| 1797 | Thanks, you are right, I changed to getSExtValue. | |
I don't think this works on RV32. getZExtValue would return 0xffffffff but VLMaxSentinel is 0xffffffffffffffff. I might be wrong. Please check.