@@ -16,8 +16,7 @@ define i32 @shl_amount_is_known_bogus(i32 %a, i32 %b) {
16
16
17
17
define i32 @shl_amount_is_known_bogus_range_attr (i32 %a , i32 range(i32 32 , 64 ) %b ) {
18
18
; CHECK-LABEL: @shl_amount_is_known_bogus_range_attr(
19
- ; CHECK-NEXT: [[SHL:%.*]] = shl i32 [[A:%.*]], [[B:%.*]]
20
- ; CHECK-NEXT: ret i32 [[SHL]]
19
+ ; CHECK-NEXT: ret i32 poison
21
20
;
22
21
%shl = shl i32 %a , %b
23
22
ret i32 %shl
@@ -38,8 +37,7 @@ declare range(i32 0, 32) i32 @returns_in_range_helper()
38
37
define i32 @shl_amount_is_known_bogus_range_return (i32 %a ) {
39
38
; CHECK-LABEL: @shl_amount_is_known_bogus_range_return(
40
39
; CHECK-NEXT: [[B:%.*]] = call i32 @returns_out_of_range_helper()
41
- ; CHECK-NEXT: [[SHL:%.*]] = shl i32 [[A:%.*]], [[B]]
42
- ; CHECK-NEXT: ret i32 [[SHL]]
40
+ ; CHECK-NEXT: ret i32 poison
43
41
;
44
42
%b = call i32 @returns_out_of_range_helper ()
45
43
%shl = shl i32 %a , %b
@@ -62,8 +60,7 @@ declare i32 @returns_i32_helper()
62
60
define i32 @shl_amount_is_known_bogus_range_call (i32 %a ) {
63
61
; CHECK-LABEL: @shl_amount_is_known_bogus_range_call(
64
62
; CHECK-NEXT: [[B:%.*]] = call range(i32 32, 64) i32 @returns_i32_helper()
65
- ; CHECK-NEXT: [[SHL:%.*]] = shl i32 [[A:%.*]], [[B]]
66
- ; CHECK-NEXT: ret i32 [[SHL]]
63
+ ; CHECK-NEXT: ret i32 poison
67
64
;
68
65
%b = call range(i32 32 , 64 ) i32 @returns_i32_helper ()
69
66
%shl = shl i32 %a , %b
@@ -83,8 +80,7 @@ define i32 @neg_shl_amount_is_known_bogus_range_call(i32 %a) {
83
80
84
81
define <2 x i32 > @shl_amount_is_known_bogus_range_attr_vec (<2 x i32 > %a , <2 x i32 > range(i32 32 , 64 ) %b ) {
85
82
; CHECK-LABEL: @shl_amount_is_known_bogus_range_attr_vec(
86
- ; CHECK-NEXT: [[SHL:%.*]] = shl <2 x i32> [[A:%.*]], [[B:%.*]]
87
- ; CHECK-NEXT: ret <2 x i32> [[SHL]]
83
+ ; CHECK-NEXT: ret <2 x i32> poison
88
84
;
89
85
%shl = shl <2 x i32 > %a , %b
90
86
ret <2 x i32 > %shl
@@ -105,8 +101,7 @@ declare range(i32 0, 32) <2 x i32> @returns_in_range_helper_vec()
105
101
define <2 x i32 > @shl_amount_is_known_bogus_range_return_vec (<2 x i32 > %a ) {
106
102
; CHECK-LABEL: @shl_amount_is_known_bogus_range_return_vec(
107
103
; CHECK-NEXT: [[B:%.*]] = call <2 x i32> @returns_out_of_range_helper_vec()
108
- ; CHECK-NEXT: [[SHL:%.*]] = shl <2 x i32> [[A:%.*]], [[B]]
109
- ; CHECK-NEXT: ret <2 x i32> [[SHL]]
104
+ ; CHECK-NEXT: ret <2 x i32> poison
110
105
;
111
106
%b = call <2 x i32 > @returns_out_of_range_helper_vec ()
112
107
%shl = shl <2 x i32 > %a , %b
@@ -129,8 +124,7 @@ declare <2 x i32> @returns_i32_helper_vec()
129
124
define <2 x i32 > @shl_amount_is_known_bogus_range_call_vec (<2 x i32 > %a ) {
130
125
; CHECK-LABEL: @shl_amount_is_known_bogus_range_call_vec(
131
126
; CHECK-NEXT: [[B:%.*]] = call range(i32 32, 64) <2 x i32> @returns_i32_helper_vec()
132
- ; CHECK-NEXT: [[SHL:%.*]] = shl <2 x i32> [[A:%.*]], [[B]]
133
- ; CHECK-NEXT: ret <2 x i32> [[SHL]]
127
+ ; CHECK-NEXT: ret <2 x i32> poison
134
128
;
135
129
%b = call range(i32 32 , 64 ) <2 x i32 > @returns_i32_helper_vec ()
136
130
%shl = shl <2 x i32 > %a , %b
0 commit comments