This patch implements SDAG call lowering on AIX for functions which only have parameters that could fit into GPRs.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
| llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
|---|---|---|
| 6624 ↗ | (On Diff #202796) | nit: extra comma at end of list |
| llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
|---|---|---|
| 6624 ↗ | (On Diff #202796) | Thanks. Addressed. |
| llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
|---|---|---|
| 6631 ↗ | (On Diff #202954) | This looks fragile. |
| llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
|---|---|---|
| 6631 ↗ | (On Diff #202954) | Got it. How about now? |
| llvm/test/CodeGen/PowerPC/aix_gpr_param.ll | ||
|---|---|---|
| 36 ↗ | (On Diff #202983) | Please test with some use of zeroext and some values where it would matter. call void @test_chars(i8 signext 97, i8 zeroext -31, i8 zeroext 97, i8 signext -31) |
| 72 ↗ | (On Diff #202983) | Similarly (although the front-end does not seem to produce this for AIX yet), call void @test_ints(i32 signext 1, i32 zeroext 1, i32 zeroext 2147483648, i32 signext -2147483648, i32 signext 1, i32 signext 1, i32 signext 1, i32 signext 1) |
| 114 ↗ | (On Diff #202983) | declare void @test_chars(i8 signext, i8 zeroext, i8 zeroext, i8 signext) |
| 118 ↗ | (On Diff #202983) | declare void @test_ints(i32 signext, i32 zeroext, i32 zeroext, i32 signext, i32 signext, i32 signext, i32 signext, i32 signext) Have a separate function if you are concerned that this is more 64-bit specific than not. |