llvm-project/llvm/test/CodeGen/SPARC/reserved-regs-named.ll
Koakuma c2f9885a8a
[SPARC] Support reserving arbitrary general purpose registers (#74927)
This adds support for marking arbitrary general purpose registers -
except for those with special purpose (G0, I6-I7, O6-O7) - as reserved,
as needed by some software like the Linux kernel.
2024-02-11 02:04:18 -05:00

14 lines
392 B
LLVM

; RUN: llc -mtriple=sparc64-linux-gnu -mattr=+reserve-l0 -o - %s | FileCheck %s --check-prefixes=CHECK-RESERVED-L0
;; Ensure explicit register references are catched as well.
; CHECK-RESERVED-L0: %l0
define void @set_reg(i32 zeroext %x) {
entry:
tail call void @llvm.write_register.i32(metadata !0, i32 %x)
ret void
}
declare void @llvm.write_register.i32(metadata, i32)
!0 = !{!"l0"}