[llvm] [AMDGPU] Allocate i1 argument to SGPRs (PR #72461)

Jun Wang via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 22 11:44:53 PST 2024


================
@@ -185,9 +185,12 @@ def CSR_AMDGPU_NoRegs : CalleeSavedRegs<(add)>;
 // Calling convention for leaf functions
 def CC_AMDGPU_Func : CallingConv<[
   CCIfByVal<CCPassByVal<4, 4>>,
-  CCIfType<[i1], CCPromoteToType<i32>>,
   CCIfType<[i8, i16], CCIfExtend<CCPromoteToType<i32>>>,
 
+  CCIfType<[i1] , CCCustom<"CC_AMDGPU_Custom_I1">>,
+
+  CCIfType<[i1], CCPromoteToType<i32>>,
----------------
jwanggit86 wrote:

The new CC function, CC_AMDGPU_Custom_I1, needs to have precedence over CCIfInReg. Otherwise, an "inreg i1" would be allocated to a 32b SGPR even if on a wavesize64 GPU.

https://github.com/llvm/llvm-project/pull/72461


More information about the llvm-commits mailing list