From 83e9312ece8b9683f06d98915e727e0e888c38f0 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Fri, 22 Feb 2013 09:29:15 +0000 Subject: [PATCH] Use attributes references on call/invoke instructions. llvm-svn: 175881 --- polly/test/Cloog/CodeGen/simple_vec_call.ll | 10 ++++++---- polly/test/Cloog/CodeGen/simple_vec_call_2.ll | 18 ++++++++++-------- polly/test/Isl/CodeGen/simple_vec_call.ll | 9 +++++---- polly/test/Isl/CodeGen/simple_vec_call_2.ll | 18 ++++++++++-------- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/polly/test/Cloog/CodeGen/simple_vec_call.ll b/polly/test/Cloog/CodeGen/simple_vec_call.ll index 9682b1f349ff..93cabf662130 100644 --- a/polly/test/Cloog/CodeGen/simple_vec_call.ll +++ b/polly/test/Cloog/CodeGen/simple_vec_call.ll @@ -31,12 +31,14 @@ return: ; CHECK: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float @foo(float %0) nounwind -; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float @foo(float %1) nounwind -; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float @foo(float %2) nounwind -; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float @foo(float %3) nounwind +; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float @foo(float %0) [[NUW:#[0-9]+]] +; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float @foo(float %1) [[NUW]] +; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float @foo(float %2) [[NUW]] +; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float @foo(float %3) [[NUW]] ; CHECK: %4 = insertelement <4 x float> undef, float [[RES1]], i32 0 ; CHECK: %5 = insertelement <4 x float> %4, float [[RES2]], i32 1 ; CHECK: %6 = insertelement <4 x float> %5, float [[RES3]], i32 2 ; CHECK: %7 = insertelement <4 x float> %6, float [[RES4]], i32 3 ; CHECK: store <4 x float> %7 + +; CHECK: attributes [[NUW]] = { nounwind } diff --git a/polly/test/Cloog/CodeGen/simple_vec_call_2.ll b/polly/test/Cloog/CodeGen/simple_vec_call_2.ll index bb2a68061962..a5bf14dd4f80 100644 --- a/polly/test/Cloog/CodeGen/simple_vec_call_2.ll +++ b/polly/test/Cloog/CodeGen/simple_vec_call_2.ll @@ -33,16 +33,17 @@ return: ; CHECK: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) nounwind -; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) nounwind -; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) nounwind -; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) nounwind +; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]] +; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]] +; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]] +; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]] ; CHECK: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0 ; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result4, i32 1 ; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result5, i32 2 ; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result6, i32 3 ; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>* ; CHECK: store <4 x float**> %7, <4 x float**>* %vector_ptr, align 8 +; CHECK: attributes [[NUW]] = { nounwind } ; CHECK-SCEV: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8 ; CHECK-SCEV: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer @@ -50,12 +51,13 @@ return: ; CHECK-SCEV: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK-SCEV: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK-SCEV: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) nounwind -; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) nounwind -; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) nounwind -; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) nounwind +; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]] +; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]] +; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]] +; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]] ; CHECK-SCEV: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0 ; CHECK-SCEV: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1 ; CHECK-SCEV: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2 ; CHECK-SCEV: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3 ; CHECK-SCEV: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align +; CHECK-SCEV: attributes [[NUW]] = { nounwind } diff --git a/polly/test/Isl/CodeGen/simple_vec_call.ll b/polly/test/Isl/CodeGen/simple_vec_call.ll index 2e0e4876ff58..6a778242af1f 100644 --- a/polly/test/Isl/CodeGen/simple_vec_call.ll +++ b/polly/test/Isl/CodeGen/simple_vec_call.ll @@ -31,12 +31,13 @@ return: ; CHECK: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float @foo(float %0) nounwind -; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float @foo(float %1) nounwind -; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float @foo(float %2) nounwind -; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float @foo(float %3) nounwind +; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float @foo(float %0) [[NUW:#[0-9]+]] +; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float @foo(float %1) [[NUW]] +; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float @foo(float %2) [[NUW]] +; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float @foo(float %3) [[NUW]] ; CHECK: %4 = insertelement <4 x float> undef, float [[RES1]], i32 0 ; CHECK: %5 = insertelement <4 x float> %4, float [[RES2]], i32 1 ; CHECK: %6 = insertelement <4 x float> %5, float [[RES3]], i32 2 ; CHECK: %7 = insertelement <4 x float> %6, float [[RES4]], i32 3 ; CHECK: store <4 x float> %7 +; CHECK: attributes [[NUW]] = { nounwind } diff --git a/polly/test/Isl/CodeGen/simple_vec_call_2.ll b/polly/test/Isl/CodeGen/simple_vec_call_2.ll index 36b6bb301a74..850f9398304f 100644 --- a/polly/test/Isl/CodeGen/simple_vec_call_2.ll +++ b/polly/test/Isl/CodeGen/simple_vec_call_2.ll @@ -33,16 +33,17 @@ return: ; CHECK: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) nounwind -; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) nounwind -; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) nounwind -; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) nounwind +; CHECK: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]] +; CHECK: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]] +; CHECK: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]] +; CHECK: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]] ; CHECK: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0 ; CHECK: %5 = insertelement <4 x float**> %4, float** %p_result4, i32 1 ; CHECK: %6 = insertelement <4 x float**> %5, float** %p_result5, i32 2 ; CHECK: %7 = insertelement <4 x float**> %6, float** %p_result6, i32 3 ; CHECK: %vector_ptr = bitcast float*** %p_scevgep to <4 x float**>* ; CHECK: store <4 x float**> %7, <4 x float**>* %vector_ptr, align 8 +; CHECK: attributes [[NUW]] = { nounwind } ; CHECK-SCEV: %value_p_splat_one = load <1 x float>* bitcast ([1024 x float]* @A to <1 x float>*), align 8 ; CHECK-SCEV: %value_p_splat = shufflevector <1 x float> %value_p_splat_one, <1 x float> %value_p_splat_one, <4 x i32> zeroinitializer @@ -50,12 +51,13 @@ return: ; CHECK-SCEV: %1 = extractelement <4 x float> %value_p_splat, i32 1 ; CHECK-SCEV: %2 = extractelement <4 x float> %value_p_splat, i32 2 ; CHECK-SCEV: %3 = extractelement <4 x float> %value_p_splat, i32 3 -; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) nounwind -; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) nounwind -; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) nounwind -; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) nounwind +; CHECK-SCEV: [[RES1:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %0) [[NUW:#[0-9]+]] +; CHECK-SCEV: [[RES2:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %1) [[NUW]] +; CHECK-SCEV: [[RES3:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %2) [[NUW]] +; CHECK-SCEV: [[RES4:%[a-zA-Z0-9_]+]] = tail call float** @foo(float %3) [[NUW]] ; CHECK-SCEV: %4 = insertelement <4 x float**> undef, float** %p_result, i32 0 ; CHECK-SCEV: %5 = insertelement <4 x float**> %4, float** %p_result1, i32 1 ; CHECK-SCEV: %6 = insertelement <4 x float**> %5, float** %p_result2, i32 2 ; CHECK-SCEV: %7 = insertelement <4 x float**> %6, float** %p_result3, i32 3 ; CHECK-SCEV: store <4 x float**> %7, <4 x float**>* bitcast ([1024 x float**]* @B to <4 x float**>*), align +; CHECK-SCEV: attributes [[NUW]] = { nounwind } -- 2.34.1