11# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
22# RUN: llc -mtriple=aarch64 -mattr=+mte -run-pass=prologepilog %s -o - | FileCheck %s
33--- |
4- source_filename = "<stdin>"
54 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
65 target triple = "aarch64-unknown-none-elf"
76
87 @glob = global [8 x i32] zeroinitializer, align 4
98
10- define dso_local void @F78(ptr %B) {
11- entry :
12- %0 = load i32, ptr %B, align 4
13- ret void
14- }
9+ declare dso_local void @F78(ptr %B)
1510
16- define void @F55() # 0 {
11+ define void @F55() sanitize_memtag "target-features"="+mte,+strict-align" {
1712 entry :
1813 %basetag = call ptr @llvm.aarch64.irg.sp(i64 0)
1914 %A = alloca i32, i32 8, align 16
3732 }
3833
3934 declare void @F56(ptr)
40-
41- declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) # 1
42-
43- declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) # 1
44-
45- declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) # 2
46-
47- declare void @llvm.aarch64.settag(ptr nocapture writeonly, i64) # 3
48-
49- declare ptr @llvm.aarch64.irg.sp(i64) # 4
50-
51- declare ptr @llvm.aarch64.tagp.p0(ptr, ptr, i64 immarg) # 5
52-
53- declare void @llvm.aarch64.settag.zero(ptr nocapture writeonly, i64) # 3
54-
55- declare void @llvm.aarch64.stgp(ptr nocapture writeonly, i64, i64) # 3
56-
57- attributes # 0 = { sanitize_memtag "target-features"="+mte,+strict-align" }
58- attributes # 1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
59- attributes # 2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
60- attributes # 3 = { nocallback nofree nosync nounwind willreturn memory(argmem: write) }
61- attributes # 4 = { nocallback nofree nosync nounwind willreturn }
62- attributes # 5 = { nocallback nofree nosync nounwind willreturn memory(none) }
63-
64- ...
65- ---
66- name : F78
67- alignment : 4
68- exposesReturnsTwice : false
69- legalized : false
70- regBankSelected : false
71- selected : false
72- failedISel : false
73- tracksRegLiveness : true
74- hasWinCFI : false
75- noPhis : true
76- isSSA : false
77- noVRegs : true
78- hasFakeUses : false
79- callsEHReturn : false
80- callsUnwindInit : false
81- hasEHCatchret : false
82- hasEHScopes : false
83- hasEHFunclets : false
84- isOutlined : false
85- debugInstrRef : false
86- failsVerification : false
87- tracksDebugUserValues : true
88- registers : []
89- liveins : []
90- frameInfo :
91- isFrameAddressTaken : false
92- isReturnAddressTaken : false
93- hasStackMap : false
94- hasPatchPoint : false
95- stackSize : 0
96- offsetAdjustment : 0
97- maxAlignment : 1
98- adjustsStack : false
99- hasCalls : false
100- stackProtector : ' '
101- functionContext : ' '
102- maxCallFrameSize : 0
103- cvBytesOfCalleeSavedRegisters : 0
104- hasOpaqueSPAdjustment : false
105- hasVAStart : false
106- hasMustTailInVarArgFunc : false
107- hasTailCall : false
108- isCalleeSavedInfoValid : false
109- localFrameSize : 0
110- savePoint : ' '
111- restorePoint : ' '
112- fixedStack : []
113- stack : []
114- entry_values : []
115- callSites : []
116- debugValueSubstitutions : []
117- constants : []
118- machineFunctionInfo : {}
119- body : |
120- bb.0.entry:
121- ; CHECK-LABEL: name: F78
122- ; CHECK: RET_ReallyLR
123- RET_ReallyLR
124-
12535...
12636---
12737name : F55
128- alignment : 4
129- exposesReturnsTwice : false
130- legalized : false
131- regBankSelected : false
132- selected : false
133- failedISel : false
134- tracksRegLiveness : true
135- hasWinCFI : false
136- noPhis : true
137- isSSA : false
138- noVRegs : true
139- hasFakeUses : false
140- callsEHReturn : false
141- callsUnwindInit : false
142- hasEHCatchret : false
143- hasEHScopes : false
144- hasEHFunclets : false
145- isOutlined : false
146- debugInstrRef : false
147- failsVerification : false
148- tracksDebugUserValues : true
149- registers : []
150- liveins : []
15138frameInfo :
152- isFrameAddressTaken : false
153- isReturnAddressTaken : false
154- hasStackMap : false
155- hasPatchPoint : false
156- stackSize : 0
157- offsetAdjustment : 0
158- maxAlignment : 16
15939 adjustsStack : true
160- hasCalls : true
161- stackProtector : ' '
162- functionContext : ' '
163- maxCallFrameSize : 0
164- cvBytesOfCalleeSavedRegisters : 0
165- hasOpaqueSPAdjustment : false
166- hasVAStart : false
167- hasMustTailInVarArgFunc : false
168- hasTailCall : false
169- isCalleeSavedInfoValid : false
170- localFrameSize : 64
171- savePoint : ' '
172- restorePoint : ' '
173- fixedStack : []
17440stack :
17541 - { id: 0, name: A, type: default, offset: 0, size: 32, alignment: 16,
17642 stack-id : default, callee-saved-register: '', callee-saved-restored: true,
@@ -180,11 +46,6 @@ stack:
18046 stack-id : default, callee-saved-register: '', callee-saved-restored: true,
18147 local-offset : -64, debug-info-variable: '', debug-info-expression: '',
18248 debug-info-location : ' ' }
183- entry_values : []
184- callSites : []
185- debugValueSubstitutions : []
186- constants : []
187- machineFunctionInfo : {}
18849body : |
18950 bb.0.entry:
19051 ; CHECK-LABEL: name: F55
0 commit comments