You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[AArch64][SME] Enable aarch64-split-sve-objects with hazard padding (#161714)
This enables `aarch64-split-sve-objects` by default. Note: This option
only has an effect when used in conjunction with hazard padding
(`aarch64-stack-hazard-size` != 0).
See #142392 for more details.
Copy file name to clipboardExpand all lines: llvm/test/CodeGen/AArch64/ssve-stack-hazard-remarks.ll
+2-4Lines changed: 2 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -68,13 +68,12 @@ entry:
68
68
}
69
69
70
70
; SVE calling conventions
71
-
; Predicate register spills end up in FP region, currently. This can be
72
-
; mitigated with the -aarch64-enable-zpr-predicate-spills option.
71
+
; Padding is placed between predicate and fpr/zpr register spills, so only emit remarks when hazard padding is off.
72
+
; Note: The -aarch64-enable-zpr-predicate-spills option is deprecated (and will be removed soon).
73
73
74
74
definei32@svecc_call(<4 x i16> %P0, ptr%P1, i32%P2, <vscale x 16 x i8> %P3, i16%P4) #2 {
75
75
; CHECK: remark: <unknown>:0:0: stack hazard in 'svecc_call': PPR stack object at [SP-64-258 * vscale] is too close to FPR stack object at [SP-64-256 * vscale]
76
76
; CHECK: remark: <unknown>:0:0: stack hazard in 'svecc_call': FPR stack object at [SP-64-16 * vscale] is too close to GPR stack object at [SP-64]
77
-
; CHECK-PADDING: remark: <unknown>:0:0: stack hazard in 'svecc_call': PPR stack object at [SP-1088-258 * vscale] is too close to FPR stack object at [SP-1088-256 * vscale]
78
77
; CHECK-PADDING-NOT: remark: <unknown>:0:0: stack hazard in 'svecc_call':
79
78
; CHECK-ZPR-PRED-SPILLS-NOT: <unknown>:0:0: stack hazard in 'svecc_call': PPR stack object at {{.*}} is too close to FPR stack object
80
79
; CHECK-ZPR-PRED-SPILLS: <unknown>:0:0: stack hazard in 'svecc_call': FPR stack object at [SP-64-16 * vscale] is too close to GPR stack object at [SP-64]
@@ -89,7 +88,6 @@ entry:
89
88
definei32@svecc_alloca_call(<4 x i16> %P0, ptr%P1, i32%P2, <vscale x 16 x i8> %P3, i16%P4) #2 {
90
89
; CHECK: remark: <unknown>:0:0: stack hazard in 'svecc_alloca_call': PPR stack object at [SP-64-258 * vscale] is too close to FPR stack object at [SP-64-256 * vscale]
91
90
; CHECK: remark: <unknown>:0:0: stack hazard in 'svecc_alloca_call': FPR stack object at [SP-64-16 * vscale] is too close to GPR stack object at [SP-64]
92
-
; CHECK-PADDING: remark: <unknown>:0:0: stack hazard in 'svecc_alloca_call': PPR stack object at [SP-1088-258 * vscale] is too close to FPR stack object at [SP-1088-256 * vscale]
93
91
; CHECK-PADDING-NOT: remark: <unknown>:0:0: stack hazard in 'svecc_alloca_call':
94
92
; CHECK-ZPR-PRED-SPILLS-NOT: <unknown>:0:0: stack hazard in 'svecc_call': PPR stack object at {{.*}} is too close to FPR stack object
95
93
; CHECK-ZPR-PRED-SPILLS: <unknown>:0:0: stack hazard in 'svecc_alloca_call': FPR stack object at [SP-64-16 * vscale] is too close to GPR stack object at [SP-64]
0 commit comments