Skip to content

Commit 850fe68

Browse files
committed
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1 [skip ci]
1 parent 5626438 commit 850fe68

File tree

5 files changed

+211
-0
lines changed

5 files changed

+211
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
2+
3+
; RUN: llc --call-graph-section -mtriple aarch64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
4+
5+
; Function Attrs: mustprogress noinline optnone uwtable
6+
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
7+
entry:
8+
; CHECK: callSites:
9+
; CHECK-NOT: calleeTypeIds:
10+
%x.addr = alloca i32, align 4
11+
%y.addr = alloca i32, align 4
12+
%z.addr = alloca i32, align 4
13+
store i32 %x, ptr %x.addr, align 4
14+
store i32 %y, ptr %y.addr, align 4
15+
store i32 %z, ptr %z.addr, align 4
16+
%zval = load i32, ptr %z.addr, align 4
17+
%yval = load i32, ptr %y.addr, align 4
18+
;; This direct call has a callee_type metadata node which matches the
19+
;; callee type accurately.
20+
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
21+
%xval = load i32, ptr %x.addr, align 4
22+
%yval2 = load i32, ptr %y.addr, align 4
23+
;; This direct call has a callee_type metadata node which points to a
24+
;; mismatched callee type id.
25+
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
26+
%add = add nsw i32 %call, %call1
27+
%xval2 = load i32, ptr %x.addr, align 4
28+
%zval2 = load i32, ptr %z.addr, align 4
29+
;; This direct call has a callee_type metadata node which points to a
30+
;; mismatched callee type id.
31+
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
32+
%sub = sub nsw i32 %add, %call2
33+
ret i32 %sub
34+
}
35+
36+
declare !type !4 i32 @_Z4fizzii(i32, i32)
37+
38+
!0 = !{!4}
39+
!1 = !{!2}
40+
!2 = !{i64 0, !"_ZTSFicE.generalized"}
41+
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
42+
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
2+
3+
; RUN: llc --call-graph-section -mtriple arm-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
4+
5+
; Function Attrs: mustprogress noinline optnone uwtable
6+
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
7+
entry:
8+
; CHECK: callSites:
9+
; CHECK-NOT: calleeTypeIds:
10+
%x.addr = alloca i32, align 4
11+
%y.addr = alloca i32, align 4
12+
%z.addr = alloca i32, align 4
13+
store i32 %x, ptr %x.addr, align 4
14+
store i32 %y, ptr %y.addr, align 4
15+
store i32 %z, ptr %z.addr, align 4
16+
%zval = load i32, ptr %z.addr, align 4
17+
%yval = load i32, ptr %y.addr, align 4
18+
;; This direct call has a callee_type metadata node which matches the
19+
;; callee type accurately.
20+
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
21+
%xval = load i32, ptr %x.addr, align 4
22+
%yval2 = load i32, ptr %y.addr, align 4
23+
;; This direct call has a callee_type metadata node which points to a
24+
;; mismatched callee type id.
25+
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
26+
%add = add nsw i32 %call, %call1
27+
%xval2 = load i32, ptr %x.addr, align 4
28+
%zval2 = load i32, ptr %z.addr, align 4
29+
;; This direct call has a callee_type metadata node which points to a
30+
;; mismatched callee type id.
31+
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
32+
%sub = sub nsw i32 %add, %call2
33+
ret i32 %sub
34+
}
35+
36+
declare !type !4 i32 @_Z4fizzii(i32, i32)
37+
38+
!0 = !{!4}
39+
!1 = !{!2}
40+
!2 = !{i64 0, !"_ZTSFicE.generalized"}
41+
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
42+
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
2+
3+
; RUN: llc --call-graph-section -mtriple mips-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
4+
5+
; Function Attrs: mustprogress noinline optnone uwtable
6+
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
7+
entry:
8+
; CHECK: callSites:
9+
; CHECK-NOT: calleeTypeIds:
10+
%x.addr = alloca i32, align 4
11+
%y.addr = alloca i32, align 4
12+
%z.addr = alloca i32, align 4
13+
store i32 %x, ptr %x.addr, align 4
14+
store i32 %y, ptr %y.addr, align 4
15+
store i32 %z, ptr %z.addr, align 4
16+
%zval = load i32, ptr %z.addr, align 4
17+
%yval = load i32, ptr %y.addr, align 4
18+
;; This direct call has a callee_type metadata node which matches the
19+
;; callee type accurately.
20+
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
21+
%xval = load i32, ptr %x.addr, align 4
22+
%yval2 = load i32, ptr %y.addr, align 4
23+
;; This direct call has a callee_type metadata node which points to a
24+
;; mismatched callee type id.
25+
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
26+
%add = add nsw i32 %call, %call1
27+
%xval2 = load i32, ptr %x.addr, align 4
28+
%zval2 = load i32, ptr %z.addr, align 4
29+
;; This direct call has a callee_type metadata node which points to a
30+
;; mismatched callee type id.
31+
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
32+
%sub = sub nsw i32 %add, %call2
33+
ret i32 %sub
34+
}
35+
36+
declare !type !4 i32 @_Z4fizzii(i32, i32)
37+
38+
!0 = !{!4}
39+
!1 = !{!2}
40+
!2 = !{i64 0, !"_ZTSFicE.generalized"}
41+
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
42+
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
2+
3+
; RUN: llc --call-graph-section -mtriple riscv64 < %s -stop-after=finalize-isel -o - | FileCheck %s
4+
; RUN: llc --call-graph-section -mtriple riscv32 < %s -stop-after=finalize-isel -o - | FileCheck %s
5+
6+
; Function Attrs: mustprogress noinline optnone uwtable
7+
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
8+
entry:
9+
; CHECK: callSites:
10+
; CHECK-NOT: calleeTypeIds:
11+
%x.addr = alloca i32, align 4
12+
%y.addr = alloca i32, align 4
13+
%z.addr = alloca i32, align 4
14+
store i32 %x, ptr %x.addr, align 4
15+
store i32 %y, ptr %y.addr, align 4
16+
store i32 %z, ptr %z.addr, align 4
17+
%zval = load i32, ptr %z.addr, align 4
18+
%yval = load i32, ptr %y.addr, align 4
19+
;; This direct call has a callee_type metadata node which matches the
20+
;; callee type accurately.
21+
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
22+
%xval = load i32, ptr %x.addr, align 4
23+
%yval2 = load i32, ptr %y.addr, align 4
24+
;; This direct call has a callee_type metadata node which points to a
25+
;; mismatched callee type id.
26+
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
27+
%add = add nsw i32 %call, %call1
28+
%xval2 = load i32, ptr %x.addr, align 4
29+
%zval2 = load i32, ptr %z.addr, align 4
30+
;; This direct call has a callee_type metadata node which points to a
31+
;; mismatched callee type id.
32+
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
33+
%sub = sub nsw i32 %add, %call2
34+
ret i32 %sub
35+
}
36+
37+
declare !type !4 i32 @_Z4fizzii(i32, i32)
38+
39+
!0 = !{!4}
40+
!1 = !{!2}
41+
!2 = !{i64 0, !"_ZTSFicE.generalized"}
42+
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
43+
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
;; Tests that callee_type metadata attached to direct call sites are safely ignored.
2+
3+
; RUN: llc --call-graph-section -mtriple x86_64-linux-gnu < %s -stop-after=finalize-isel -o - | FileCheck %s
4+
5+
; Function Attrs: mustprogress noinline optnone uwtable
6+
define i32 @_Z3fooiii(i32 %x, i32 %y, i32 %z) !type !3 {
7+
entry:
8+
; CHECK: callSites:
9+
; CHECK-NOT: calleeTypeIds:
10+
%x.addr = alloca i32, align 4
11+
%y.addr = alloca i32, align 4
12+
%z.addr = alloca i32, align 4
13+
store i32 %x, ptr %x.addr, align 4
14+
store i32 %y, ptr %y.addr, align 4
15+
store i32 %z, ptr %z.addr, align 4
16+
%zval = load i32, ptr %z.addr, align 4
17+
%yval = load i32, ptr %y.addr, align 4
18+
;; This direct call has a callee_type metadata node which matches the
19+
;; callee type accurately.
20+
%call = call i32 @_Z4fizzii(i32 %zval, i32 %yval), !callee_type !0
21+
%xval = load i32, ptr %x.addr, align 4
22+
%yval2 = load i32, ptr %y.addr, align 4
23+
;; This direct call has a callee_type metadata node which points to a
24+
;; mismatched callee type id.
25+
%call1 = call i32 @_Z4fizzii(i32 %xval, i32 %yval2), !callee_type !1
26+
%add = add nsw i32 %call, %call1
27+
%xval2 = load i32, ptr %x.addr, align 4
28+
%zval2 = load i32, ptr %z.addr, align 4
29+
;; This direct call has a callee_type metadata node which points to a
30+
;; mismatched callee type id.
31+
%call2 = call i32 @_Z4fizzii(i32 %xval2, i32 %zval2), !callee_type !1
32+
%sub = sub nsw i32 %add, %call2
33+
ret i32 %sub
34+
}
35+
36+
declare !type !4 i32 @_Z4fizzii(i32, i32)
37+
38+
!0 = !{!4}
39+
!1 = !{!2}
40+
!2 = !{i64 0, !"_ZTSFicE.generalized"}
41+
!3 = !{i64 0, !"_ZTSFiiiiE.generalized"}
42+
!4 = !{i64 0, !"_ZTSFiiiE.generalized"}

0 commit comments

Comments
 (0)