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. |