Lines Matching refs:P2
44 ; CHECK-NEXT: [[P2:%.*]] = getelementptr i8, i8* [[P:%.*]], i32 127
45 ; CHECK-NEXT: store i8 1, i8* [[P2]], align 1
49 %P2 = getelementptr i8, i8* %P, i32 127
50 store i8 1, i8* %P2 ;; Not dead across memset
52 %A = load i8, i8* %P2
61 %P2 = getelementptr i8, i8* %P, i32 126
63 store i8 1, i8* %P2 ;; Dead, clobbered by memset.
66 %A = load i8, i8* %P2
72 ; CHECK-NEXT: [[P2:%.*]] = getelementptr i8, i8* [[P:%.*]], i32 2
74 ; CHECK-NEXT: store i8 2, i8* [[P2]], align 1
79 %P2 = getelementptr i8, i8* %P, i32 2
80 store i8 %Y, i8* %P2 ;; Not read by lifetime.end, should be removed.
82 store i8 2, i8* %P2
93 %P2 = getelementptr i8, i8* %P, i32 2
94 store i8 %Y, i8* %P2
184 ;; In this case load can be removed, function clobbers only %P2.
185 define i32 @test9(i32* %P, i32* noalias %P2) {
187 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @func_argmemonly(i32* [[P2:%.*]])
191 call i32 @func_argmemonly(i32* %P2)
197 ;; In this case load can *not* be removed. Function clobers only %P2 but it may
199 define i32 @test10(i32* %P, i32* %P2) {
202 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @func_argmemonly(i32* [[P2:%.*]])
208 call i32 @func_argmemonly(i32* %P2)
214 define i32 @test11(i32* %P, i32* %P2) {
216 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @func_argmemonly(i32* readonly [[P2:%.*]])
220 call i32 @func_argmemonly(i32* readonly %P2)
227 declare i32 @func_argmemonly_two_args(i32* %P, i32* %P2) argmemonly
229 define i32 @test12(i32* %P, i32* %P2, i32* %P3) {
232 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @func_argmemonly_two_args(i32* readonly [[P2:%.*]], i32* […
238 call i32 @func_argmemonly_two_args(i32* readonly %P2, i32* %P3)
244 define i32 @test13(i32* %P, i32* %P2) {
246 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @func_argmemonly(i32* readnone [[P2:%.*]])
250 call i32 @func_argmemonly(i32* readnone %P2)