Correct the Operand index when convert STRICT_FPOWI to FPOW.
(the old code miss considering the chain operand of STRICT_FPOWI, will cause crash.)
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | ||
|---|---|---|
| 4100–4101 | We should generate STRICT_SINT_TO_FP and STRICT_FPOWI for strict node and push the output chain into Results. | |
| llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | ||
|---|---|---|
| 4100–4101 | Here is already STRICT_FPOWI, and the Target has no libcall for STRICT_FPOWI | |
| llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | ||
|---|---|---|
| 4100–4101 | Oh, I meant STRICT_FPOW... | |
| llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | ||
|---|---|---|
| 4100–4101 | En., Make sense : ) | |
| llvm/test/CodeGen/X86/float-strict-powi-convert.ll | ||
|---|---|---|
| 3 | -disable-strictnode-mutation. X86 supports strict FP by default. This option is used for targets only support it partly. | |
We should generate STRICT_SINT_TO_FP and STRICT_FPOWI for strict node and push the output chain into Results.