[Attributor][FIX] Unbreak buildbot through test correction

This commit is contained in:
Johannes Doerfert 2019-10-31 01:04:35 -05:00
parent dac2d403a2
commit 48b4ab4835
1 changed files with 23 additions and 10 deletions

View File

@ -79,9 +79,10 @@ define i8* @test5(i1 %c) {
}
; Local analysis, but going through a self recursive phi
define i8* @test6() {
; ATTRIBUTOR: Function Attrs: noreturn
; ATTRIBUTOR: define noalias nonnull align 536870912 dereferenceable(4294967295) i8* @test6a()
define i8* @test6a() {
entry:
; BOTH: define nonnull i8* @test6
%ret = call i8* @ret_nonnull()
br label %loop
loop:
@ -91,6 +92,18 @@ exit:
ret i8* %phi
}
; ATTRIBUTOR: define nonnull i8* @test6b(i1 %c)
define i8* @test6b(i1 %c) {
entry:
%ret = call i8* @ret_nonnull()
br label %loop
loop:
%phi = phi i8* [%ret, %entry], [%phi, %loop]
br i1 %c, label %loop, label %exit
exit:
ret i8* %phi
}
; BOTH: define i8* @test7
define i8* @test7(i8* %a) {
%b = getelementptr inbounds i8, i8* %a, i64 0
@ -590,7 +603,7 @@ declare void @h(i32*) willreturn nounwind
declare i32 @g(i32*) willreturn nounwind
define i32 @nonnull_exec_ctx_1(i32* %a, i32 %b) {
; FNATTR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_1
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #3
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; FNATTR-NEXT: en:
; FNATTR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; FNATTR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -605,7 +618,7 @@ define i32 @nonnull_exec_ctx_1(i32* %a, i32 %b) {
; FNATTR-NEXT: br i1 [[TMP9]], label [[EX]], label [[HD]]
;
; ATTRIBUTOR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_1
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #5
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; ATTRIBUTOR-NEXT: en:
; ATTRIBUTOR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; ATTRIBUTOR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -637,7 +650,7 @@ hd:
define i32 @nonnull_exec_ctx_1b(i32* %a, i32 %b) {
; FNATTR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_1b
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #3
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; FNATTR-NEXT: en:
; FNATTR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; FNATTR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -654,7 +667,7 @@ define i32 @nonnull_exec_ctx_1b(i32* %a, i32 %b) {
; FNATTR-NEXT: br i1 [[TMP9]], label [[EX]], label [[HD]]
;
; ATTRIBUTOR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_1b
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #5
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; ATTRIBUTOR-NEXT: en:
; ATTRIBUTOR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; ATTRIBUTOR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -691,7 +704,7 @@ hd2:
define i32 @nonnull_exec_ctx_2(i32* %a, i32 %b) willreturn nounwind {
; FNATTR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_2
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #2
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; FNATTR-NEXT: en:
; FNATTR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; FNATTR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -706,7 +719,7 @@ define i32 @nonnull_exec_ctx_2(i32* %a, i32 %b) willreturn nounwind {
; FNATTR-NEXT: br i1 [[TMP9]], label [[EX]], label [[HD]]
;
; ATTRIBUTOR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_2
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #3
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; ATTRIBUTOR-NEXT: en:
; ATTRIBUTOR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; ATTRIBUTOR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -738,7 +751,7 @@ hd:
define i32 @nonnull_exec_ctx_2b(i32* %a, i32 %b) willreturn nounwind {
; FNATTR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_2b
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #2
; FNATTR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; FNATTR-NEXT: en:
; FNATTR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; FNATTR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]
@ -755,7 +768,7 @@ define i32 @nonnull_exec_ctx_2b(i32* %a, i32 %b) willreturn nounwind {
; FNATTR-NEXT: br i1 [[TMP9]], label [[EX]], label [[HD]]
;
; ATTRIBUTOR-LABEL: define {{[^@]+}}@nonnull_exec_ctx_2b
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]]) #3
; ATTRIBUTOR-SAME: (i32* [[A:%.*]], i32 [[B:%.*]])
; ATTRIBUTOR-NEXT: en:
; ATTRIBUTOR-NEXT: [[TMP3:%.*]] = icmp eq i32 [[B:%.*]], 0
; ATTRIBUTOR-NEXT: br i1 [[TMP3]], label [[EX:%.*]], label [[HD:%.*]]