llvm-project
b083340c - [llvm][NVPTX] Don't reorder MIs that construct a PTX function call (#116522)

Commit
320 days ago
[llvm][NVPTX] Don't reorder MIs that construct a PTX function call (#116522) With "-enable-misched", MachineScheduler can reorder MIs that must stick together (in initially set order) to generate legal PTX code for a function call. When generating PTX code for the attached test (using LLVM before this revision), the following invalid PTX code is generated: ``` { // callseq 0, 0 .param .b64 param0; st.param.f64 [param0], 0d0000000000000000; .param .b64 retval0; call.uni (retval0), mul.lo.s32 %r7, %r10, %r3; or.b32 %r8, %r4, %r7; mul.lo.s32 %r9, %r2, %r8; cvt.rn.f64.s32 %fd3, %r9; quux, ( param0 ); ld.param.f64 %fd1, [retval0]; } // callseq 0 ```
Author
Parents
Loading