[PATCH] D127281: [Greedy RegAlloc] Fix the handling of split register in last chance re-coloring.

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 10 07:50:31 PDT 2022


arsenm accepted this revision.
arsenm added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir:10-31
   define void @ham(i8 addrspace(1)* %arg) #0 gc "statepoint-example" {
   bb:
     %tmp = call token (i64, i32, i8 addrspace(1)* (i64, i64, i64, i32*)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_p1i8i64i64i64p0i32f(i64 2882400000, i32 0, i8 addrspace(1)* (i64, i64, i64, i32*)* nonnull elementtype(i8 addrspace(1)* (i64, i64, i64, i32*)) @bar, i32 4, i32 0, i64 undef, i64 526, i64 2, i32* nonnull undef, i32 0, i32 0) [ "deopt"(i32 0, i32 1, i32 0, i32 42, i32 2, i32 14, i32 0, i32 3, i32 400, i32 3, i32 400, i32 0, i8 addrspace(1)* %arg, i32 7, i8* null, i32 3, i32 95, i32 7, i8* null, i32 3, i32 -11, i32 3, i32 -8280, i32 3, i32 45, i32 3, i32 230, i32 7, i8* null, i32 4, i64 5, i32 7, i8* null, i32 3, i32 1, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* %arg) ]
     %tmp1 = call i8 addrspace(1)* @llvm.experimental.gc.result.p1i8(token %tmp)
     %tmp2 = call coldcc nonnull i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp, i32 0, i32 0) ; (%arg, %arg)
     %tmp3 = call nonnull i8 addrspace(1)* @llvm.orca.alloc.barrier.p1i8.p1i8(i8 addrspace(1)* nonnull %tmp1)
     %tmp4 = call token (i64, i32, i8 addrspace(1)* (i8 addrspace(1)*)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_p1i8p1i8f(i64 2, i32 4, i8 addrspace(1)* (i8 addrspace(1)*)* nonnull elementtype(i8 addrspace(1)* (i8 addrspace(1)*)) @barney, i32 1, i32 0, i8 addrspace(1)* nonnull undef, i32 0, i32 0) [ "deopt"(i32 0, i32 2, i32 0, i32 48, i32 0, i32 14, i32 0, i32 0, i8 addrspace(1)* %tmp2, i32 7, i8* null, i32 3, i32 95, i32 7, i8* null, i32 3, i32 -11, i32 3, i32 -8280, i32 3, i32 45, i32 3, i32 230, i32 7, i8* null, i32 4, i64 5, i32 7, i8* null, i32 3, i32 1, i32 0, i8 addrspace(1)* %tmp3, i32 7, i8* null), "gc-live"(i8 addrspace(1)* %tmp2, i8 addrspace(1)* %tmp3) ]
----------------
Can you drop this large IR section?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127281/new/

https://reviews.llvm.org/D127281



More information about the llvm-commits mailing list