diff --git a/polly/lib/CodeGen/IRBuilder.cpp b/polly/lib/CodeGen/IRBuilder.cpp index e50fb14d8431a..3479ebda10436 100644 --- a/polly/lib/CodeGen/IRBuilder.cpp +++ b/polly/lib/CodeGen/IRBuilder.cpp @@ -304,7 +304,7 @@ void ScopAnnotator::annotate(Instruction *Inst) { return; } - Inst->setMetadata("alias.scope", AliasScope); + Inst->setMetadata("alias.scope", MDNode::get(SE->getContext(), AliasScope)); Inst->setMetadata("noalias", OtherAliasScopeList); } diff --git a/polly/test/CodeGen/stride_detection.ll b/polly/test/CodeGen/stride_detection.ll index 0bbaaa3698814..c05fcfa3dd43e 100644 --- a/polly/test/CodeGen/stride_detection.ll +++ b/polly/test/CodeGen/stride_detection.ll @@ -10,13 +10,13 @@ ; Stmt_for_body_3(32 * c0 + 4 * c2 + c4, 32 * c1 + c3); ; CHECK: polly.stmt.for.body.3: ; preds = %polly.loop_header18 -; CHECK: %_p_splat_one = load <1 x double>, <1 x double>* %_p_vec_p, align 8, !alias.scope !3, !noalias !5, !llvm.access.group !2 -; CHECK: %_p_vec_full = load <4 x double>, <4 x double>* %vector_ptr, align 8, !alias.scope !6, !noalias !7, !llvm.access.group !2 +; CHECK: %_p_splat_one = load <1 x double>, <1 x double>* %_p_vec_p, align 8, !alias.scope !3, !noalias !6, !llvm.access.group !2 +; CHECK: %_p_vec_full = load <4 x double>, <4 x double>* %vector_ptr, align 8, !alias.scope !6, !noalias !3, !llvm.access.group !2 ; CHECK: extractelement <4 x double> %addp_vec, i32 0 ; CHECK: extractelement <4 x double> %addp_vec, i32 1 ; CHECK: extractelement <4 x double> %addp_vec, i32 2 ; CHECK: extractelement <4 x double> %addp_vec, i32 3 -; CHECK: store <4 x double> %addp_vec, <4 x double>* {{.*}}, align 8, !alias.scope !6, !noalias !7, !llvm.access.group !2 +; CHECK: store <4 x double> %addp_vec, <4 x double>* {{.*}}, align 8, !alias.scope !6, !noalias !3, !llvm.access.group !2 define void @kernel_gemm(i32 %ni, i32 %nj, i32 %nk, [1024 x double]* %C, [1024 x double]* %A) #0 { entry: diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_address_space.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_address_space.ll index a013e1bc93425..0127bd1b1aa47 100644 --- a/polly/test/Isl/CodeGen/MemAccess/codegen_address_space.ll +++ b/polly/test/Isl/CodeGen/MemAccess/codegen_address_space.ll @@ -41,4 +41,4 @@ for.end: ; preds = %for.cond ; CHECK: %polly.access.cast.A = bitcast [100 x i32] addrspace(5)* %A to i32 addrspace(5)* ; CHECK: %polly.access.A = getelementptr i32, i32 addrspace(5)* %polly.access.cast.A, i64 0 -; CHECK: %tmp2_p_scalar_ = load i32, i32 addrspace(5)* %polly.access.A, align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp2_p_scalar_ = load i32, i32 addrspace(5)* %polly.access.A, align 4, !alias.scope !0, !noalias !3 diff --git a/polly/test/Isl/CodeGen/MemAccess/create_arrays.ll b/polly/test/Isl/CodeGen/MemAccess/create_arrays.ll index 97e586076f73a..dbd0a7bb2c41f 100644 --- a/polly/test/Isl/CodeGen/MemAccess/create_arrays.ll +++ b/polly/test/Isl/CodeGen/MemAccess/create_arrays.ll @@ -29,17 +29,19 @@ ; CODEGEN: %polly.access.cast.E = bitcast [270336 x [200000 x double]]* %E to double* ; CODEGEN: %polly.access.mul.E = mul nsw i64 %polly.indvar33, 200000 ; CODEGEN: %polly.access.add.E = add nsw i64 %polly.access.mul.E, %polly.indvar -; CODEGEN: {{%.*}} = load double, double* %polly.access.E, align 8, !alias.scope [[TAG0:![0-9]+]], !noalias [[TAG2:![0-9]+]] -; CODEGEN: store double {{%.*}}, double* %scevgep36, align 8, !alias.scope [[TAG5:![0-9]+]], !noalias [[TAG8:![0-9]+]] +; CODEGEN: {{%.*}} = load double, double* %polly.access.E, align 8, !alias.scope !0, !noalias !3 +; CODEGEN: store double {{%.*}}, double* %scevgep36, align 8, !alias.scope !8, !noalias !9 ; -; CODEGEN: [[TAG0]] = distinct !{[[TAG0]], [[TAG1:![0-9]+]], !"polly.alias.scope.E"} -; CODEGEN: [[TAG1]] = distinct !{[[TAG1]], !"polly.alias.scope.domain"} -; CODEGEN: [[TAG2]] = !{[[TAG3:![0-9]+]], [[TAG4:![0-9]+]], [[TAG5:![0-9]+]], [[TAG6:![0-9]+]]} -; CODEGEN: [[TAG3]] = distinct !{[[TAG3]], [[TAG1]], !"polly.alias.scope.MemRef_B"} -; CODEGEN: [[TAG4]] = distinct !{[[TAG4]], [[TAG1]], !"polly.alias.scope.MemRef_A"} -; CODEGEN: [[TAG5]] = distinct !{[[TAG5]], [[TAG1]], !"polly.alias.scope.D"} -; CODEGEN: [[TAG6]] = distinct !{[[TAG6]], [[TAG1]], !"polly.alias.scope.F"} -; CODEGEN: [[TAG7:![0-9]+]] = !{[[TAG3]], [[TAG5]], [[TAG0]], [[TAG6]]} +; CODEGEN: !0 = !{!1} +; CODEGEN: !1 = distinct !{!1, !2, !"polly.alias.scope.E"} +; CODEGEN: !2 = distinct !{!2, !"polly.alias.scope.domain"} +; CODEGEN: !3 = !{!4, !5, !6, !7} +; CODEGEN: !4 = distinct !{!4, !2, !"polly.alias.scope.MemRef_B"} +; CODEGEN: !5 = distinct !{!5, !2, !"polly.alias.scope.MemRef_A"} +; CODEGEN: !6 = distinct !{!6, !2, !"polly.alias.scope.D"} +; CODEGEN: !7 = distinct !{!7, !2, !"polly.alias.scope.F"} +; CODEGEN: !8 = !{!5} +; CODEGEN: !9 = !{!4, !6, !1, !7} ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-unknown" diff --git a/polly/test/Isl/CodeGen/MemAccess/different_types.ll b/polly/test/Isl/CodeGen/MemAccess/different_types.ll index 35836b6e8c345..50320a66ff2e6 100644 --- a/polly/test/Isl/CodeGen/MemAccess/different_types.ll +++ b/polly/test/Isl/CodeGen/MemAccess/different_types.ll @@ -14,7 +14,7 @@ ; CHECK: %[[R2:[._0-9]*]] = add nsw i64 %[[R1]], 99 ; CHECK: %polly.access.A15 = getelementptr i32, i32* %polly.access.cast.A14, i64 %[[R2]] ; CHECK: %[[R3:[._0-9]*]] = bitcast i32* %polly.access.A15 to float* -; CHECK: %tmp14_p_scalar_ = load float, float* %[[R3]], align 4, !alias.scope !3, !noalias !4 +; CHECK: %tmp14_p_scalar_ = load float, float* %[[R3]], align 4, !alias.scope !3, !noalias !0 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" diff --git a/polly/test/Isl/CodeGen/MemAccess/generate-all.ll b/polly/test/Isl/CodeGen/MemAccess/generate-all.ll index f9b07a947c6ae..8fb5d2acdc71a 100644 --- a/polly/test/Isl/CodeGen/MemAccess/generate-all.ll +++ b/polly/test/Isl/CodeGen/MemAccess/generate-all.ll @@ -12,9 +12,9 @@ ; SCEV-NEXT: %0 = trunc i64 %polly.indvar to i2 ; SCEV-NEXT: %1 = zext i2 %0 to i64 ; SCEV-NEXT: %scevgep = getelementptr float, float* %A, i64 %1 -; SCEV-NEXT: %tmp4_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !2 +; SCEV-NEXT: %tmp4_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !3 ; SCEV-NEXT: %p_tmp5 = fadd float %tmp4_p_scalar_, 1.000000e+01 -; SCEV-NEXT: store float %p_tmp5, float* %scevgep, align 4, !alias.scope !0, !noalias !2 +; SCEV-NEXT: store float %p_tmp5, float* %scevgep, align 4, !alias.scope !0, !noalias !3 ; SCEV-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1 ; SCEV-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99 ; SCEV-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit @@ -22,11 +22,11 @@ ; ASTEXPR: polly.stmt.bb2: ; preds = %polly.loop_header ; ASTEXPR-NEXT: %pexp.pdiv_r = urem i64 %polly.indvar, 4 ; ASTEXPR-NEXT: %polly.access.A = getelementptr float, float* %A, i64 %pexp.pdiv_r -; ASTEXPR-NEXT: %tmp4_p_scalar_ = load float, float* %polly.access.A, align 4, !alias.scope !0, !noalias !2 +; ASTEXPR-NEXT: %tmp4_p_scalar_ = load float, float* %polly.access.A, align 4, !alias.scope !0, !noalias !3 ; ASTEXPR-NEXT: %p_tmp5 = fadd float %tmp4_p_scalar_, 1.000000e+01 ; ASTEXPR-NEXT: %pexp.pdiv_r1 = urem i64 %polly.indvar, 4 ; ASTEXPR-NEXT: %polly.access.A2 = getelementptr float, float* %A, i64 %pexp.pdiv_r1 -; ASTEXPR-NEXT: store float %p_tmp5, float* %polly.access.A2, align 4, !alias.scope !0, !noalias !2 +; ASTEXPR-NEXT: store float %p_tmp5, float* %polly.access.A2, align 4, !alias.scope !0, !noalias !3 ; ASTEXPR-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1 ; ASTEXPR-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99 ; ASTEXPR-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit diff --git a/polly/test/Isl/CodeGen/OpenMP/alias-metadata.ll b/polly/test/Isl/CodeGen/OpenMP/alias-metadata.ll index fcb6bd511cb8b..653d22f7e8285 100644 --- a/polly/test/Isl/CodeGen/OpenMP/alias-metadata.ll +++ b/polly/test/Isl/CodeGen/OpenMP/alias-metadata.ll @@ -32,8 +32,8 @@ bb5: ; preds = %bb4 %tmp7 = getelementptr inbounds float, float* %A, i64 %i.0 %tmp6 = load float, float* %tmp, align 4 store float %tmp6, float* %tmp7, align 4 -; CHECK: %tmp6_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !2 -; CHECK: store float %tmp6_p_scalar_, float* %scevgep8, align 4, !alias.scope !3, !noalias !4 +; CHECK: %tmp6_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !3 +; CHECK: store float %tmp6_p_scalar_, float* %scevgep8, align 4, !alias.scope !3, !noalias !0 br label %bb8 bb8: ; preds = %bb5 diff --git a/polly/test/Isl/CodeGen/OpenMP/new_multidim_access.ll b/polly/test/Isl/CodeGen/OpenMP/new_multidim_access.ll index b28a914fc7301..9b08de58653a3 100644 --- a/polly/test/Isl/CodeGen/OpenMP/new_multidim_access.ll +++ b/polly/test/Isl/CodeGen/OpenMP/new_multidim_access.ll @@ -23,13 +23,13 @@ ; IR: %6 = add nsw i64 %polly.indvar5, 13 ; IR: %polly.access.add.polly.subfunc.arg.A = add nsw i64 %polly.access.mul.polly.subfunc.arg.A, %6 ; IR: %polly.access.polly.subfunc.arg.A = getelementptr float, float* %polly.subfunc.arg.A, i64 %polly.access.add.polly.subfunc.arg.A -; IR: %tmp10_p_scalar_ = load float, float* %polly.access.polly.subfunc.arg.A, align 4, !alias.scope !0, !noalias !2, !llvm.access.group !3 +; IR: %tmp10_p_scalar_ = load float, float* %polly.access.polly.subfunc.arg.A, align 4, !alias.scope !0, !noalias !3, !llvm.access.group !4 ; IR: %polly.access.mul.polly.subfunc.arg.A8 = mul nsw i64 %polly.indvar, %polly.subfunc.arg.m ; IR: %7 = add nsw i64 %polly.indvar5, 43 ; IR: %polly.access.add.polly.subfunc.arg.A9 = add nsw i64 %polly.access.mul.polly.subfunc.arg.A8, %7 ; IR: %polly.access.polly.subfunc.arg.A10 = getelementptr float, float* %polly.subfunc.arg.A, i64 %polly.access.add.polly.subfunc.arg.A9 -; IR: store float %p_tmp11, float* %polly.access.polly.subfunc.arg.A10, align 4, !alias.scope !0, !noalias !2, !llvm.access.group !3 +; IR: store float %p_tmp11, float* %polly.access.polly.subfunc.arg.A10, align 4, !alias.scope !0, !noalias !3, !llvm.access.group !4 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define void @new_multidim_access(i64 %n, i64 %m, float* %A) { diff --git a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll index c209d9e1ce1c7..22ee7a0ba7476 100644 --- a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll +++ b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll @@ -4,27 +4,22 @@ ; ; SCOPES-LABEL: polly.stmt.for.body: ; SCOPES: %[[BIdx:[._a-zA-Z0-9]*]] = getelementptr{{.*}} i32* %B, i64 %polly.indvar -; SCOPES: load i32, i32* %[[BIdx]], align 4, !alias.scope ![[AliasScopeB:[0-9]*]], !noalias ![[NoAliasB:[0-9]*]] +; SCOPES: load i32, i32* %[[BIdx]], align 4, !alias.scope !0, !noalias !3 ; SCOPES: %[[CIdx:[._a-zA-Z0-9]*]] = getelementptr{{.*}} float* %C, i64 %polly.indvar -; SCOPES: load float, float* %[[CIdx]], align 4, !alias.scope ![[AliasScopeC:[0-9]*]], !noalias ![[NoAliasC:[0-9]*]] +; SCOPES: load float, float* %[[CIdx]], align 4, !alias.scope !6, !noalias !7 ; SCOPES: %[[AIdx:[._a-zA-Z0-9]*]] = getelementptr{{.*}} i32* %A, i64 %polly.indvar -; SCOPES: store i32 %{{[._a-zA-Z0-9]*}}, i32* %[[AIdx]], align 4, !alias.scope ![[AliasScopeA:[0-9]*]], !noalias ![[NoAliasA:[0-9]*]] +; SCOPES: store i32 %{{[._a-zA-Z0-9]*}}, i32* %[[AIdx]], align 4, !alias.scope !8, !noalias !9 ; -; SCOPES: ![[AliasScopeB]] = distinct !{![[AliasScopeB]], !{{[0-9]*}}, !"polly.alias.scope.MemRef_B"} -; SCOPES: ![[NoAliasB]] = !{ -; SCOPES-DAG: ![[AliasScopeA]] -; SCOPES-DAG: ![[AliasScopeC]] -; SCOPES: } -; SCOPES-DAG: ![[AliasScopeA]] = distinct !{![[AliasScopeA]], !{{[0-9]*}}, !"polly.alias.scope.MemRef_A"} -; SCOPES-DAG: ![[AliasScopeC]] = distinct !{![[AliasScopeC]], !{{[0-9]*}}, !"polly.alias.scope.MemRef_C"} -; SCOPES: ![[NoAliasC]] = !{ -; SCOPES-DAG: ![[AliasScopeA]] -; SCOPES-DAG: ![[AliasScopeB]] -; SCOPES: } -; SCOPES: ![[NoAliasA]] = !{ -; SCOPES-DAG: ![[AliasScopeB]] -; SCOPES-DAG: ![[AliasScopeC]] -; SCOPES: } +; SCOPES: !0 = !{!1} +; SCOPES: !1 = distinct !{!1, !2, !"polly.alias.scope.MemRef_B"} +; SCOPES: !2 = distinct !{!2, !"polly.alias.scope.domain"} +; SCOPES: !3 = !{!4, !5} +; SCOPES: !4 = distinct !{!4, !2, !"polly.alias.scope.MemRef_C"} +; SCOPES: !5 = distinct !{!5, !2, !"polly.alias.scope.MemRef_A"} +; SCOPES: !6 = !{!4} +; SCOPES: !7 = !{!1, !5} +; SCOPES: !8 = !{!5} +; SCOPES: !9 = !{!1, !4} ; ; void jd(int *A, int *B, float *C) { ; for (int i = 0; i < 1024; i++) diff --git a/polly/test/Isl/CodeGen/getNumberOfIterations.ll b/polly/test/Isl/CodeGen/getNumberOfIterations.ll index a1eec2dc5e2d8..5310931e8e9b9 100644 --- a/polly/test/Isl/CodeGen/getNumberOfIterations.ll +++ b/polly/test/Isl/CodeGen/getNumberOfIterations.ll @@ -8,9 +8,9 @@ ; CHECK: polly.stmt.if.then: ; preds = %polly.loop_header ; CHECK: %p_conv = sitofp i64 %polly.indvar to float ; CHECK: %scevgep = getelementptr float, float* %A, i64 %polly.indvar -; CHECK: %_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !2, !llvm.access.group !3 +; CHECK: %_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !3, !llvm.access.group !4 ; CHECK: %p_add = fadd float %p_conv, %_p_scalar_ -; CHECK: store float %p_add, float* %scevgep, align 4, !alias.scope !0, !noalias !2, !llvm.access.group !3 +; CHECK: store float %p_add, float* %scevgep, align 4, !alias.scope !0, !noalias !3, !llvm.access.group !4 define void @foo(float* %A, i64 %N) #0 { entry: diff --git a/polly/test/Isl/CodeGen/invariant_load_alias_metadata.ll b/polly/test/Isl/CodeGen/invariant_load_alias_metadata.ll index 4fde2dc6443fe..e71349b86f4e5 100644 --- a/polly/test/Isl/CodeGen/invariant_load_alias_metadata.ll +++ b/polly/test/Isl/CodeGen/invariant_load_alias_metadata.ll @@ -4,13 +4,13 @@ ; This test case checks whether Polly generates alias metadata in case of ; the ublas gemm kernel and polly-invariant-load-hoisting. ; -; CHECK: store float 4.200000e+01, float* %polly.access.A.load, align 4, !alias.scope !3, !noalias !4 +; CHECK: store float 4.200000e+01, float* %polly.access.A.load, align 4, !alias.scope !3, !noalias !0 ; -; CHECK: !0 = distinct !{!0, !1, !"polly.alias.scope.MemRef_A"} -; CHECK-NEXT: !1 = distinct !{!1, !"polly.alias.scope.domain"} -; CHECK-NEXT: !2 = !{!3} -; CHECK-NEXT: !3 = distinct !{!3, !1, !"polly.alias.scope.MemRef_ptrA"} -; CHECK-NEXT: !4 = !{!0} +; CHECK: !0 = !{!1} +; CHECK-NEXT: !1 = distinct !{!1, !2, !"polly.alias.scope.MemRef_A"} +; CHECK-NEXT: !2 = distinct !{!2, !"polly.alias.scope.domain"} +; CHECK-NEXT: !3 = !{!4} +; CHECK-NEXT: !4 = distinct !{!4, !2, !"polly.alias.scope.MemRef_ptrA"} ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" diff --git a/polly/test/Isl/CodeGen/invariant_loads_ignore_parameter_bounds.ll b/polly/test/Isl/CodeGen/invariant_loads_ignore_parameter_bounds.ll index 684bb14989014..9a7e3254de589 100644 --- a/polly/test/Isl/CodeGen/invariant_loads_ignore_parameter_bounds.ll +++ b/polly/test/Isl/CodeGen/invariant_loads_ignore_parameter_bounds.ll @@ -2,7 +2,7 @@ ; RUN: -polly-ignore-parameter-bounds -S < %s | FileCheck %s ; CHECK: polly.preload.begin: -; CHECK-NEXT: %global.load = load i32, i32* @global, align 4, !alias.scope !0, !noalias !2 +; CHECK-NEXT: %global.load = load i32, i32* @global, align 4, !alias.scope !0, !noalias !3 ; CHECK-NEXT: store i32 %global.load, i32* %tmp24.preload.s2a target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/polly/test/Isl/CodeGen/non-affine-phi-node-expansion-2.ll b/polly/test/Isl/CodeGen/non-affine-phi-node-expansion-2.ll index 7cec20cbf6c32..c0d30fb6bc56c 100644 --- a/polly/test/Isl/CodeGen/non-affine-phi-node-expansion-2.ll +++ b/polly/test/Isl/CodeGen/non-affine-phi-node-expansion-2.ll @@ -4,7 +4,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK: polly.stmt.bb3: ; preds = %polly.stmt.bb3.entry -; CHECK: %tmp6_p_scalar_ = load double, double* %arg1{{[0-9]*}}, align 8, !alias.scope !0, !noalias !2 +; CHECK: %tmp6_p_scalar_ = load double, double* %arg1{{[0-9]*}}, align 8, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp7 = fadd double 1.000000e+00, %tmp6_p_scalar_ ; CHECK: %p_tmp8 = fcmp olt double 1.400000e+01, %p_tmp7 ; CHECK: br i1 %p_tmp8, label %polly.stmt.bb9, label %polly.stmt.bb10 diff --git a/polly/test/Isl/CodeGen/non_affine_float_compare.ll b/polly/test/Isl/CodeGen/non_affine_float_compare.ll index 138da0186a56a..2dfb6a7cfd83a 100644 --- a/polly/test/Isl/CodeGen/non_affine_float_compare.ll +++ b/polly/test/Isl/CodeGen/non_affine_float_compare.ll @@ -12,17 +12,17 @@ ; ; CHECK: polly.stmt.bb2: ; CHECK: %scevgep[[R0:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar -; CHECK: %tmp3_p_scalar_ = load float, float* %scevgep[[R0]], align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp3_p_scalar_ = load float, float* %scevgep[[R0]], align 4, !alias.scope !0, !noalias !3 ; CHECK: %scevgep[[R2:[0-9]*]] = getelementptr float, float* %scevgep{{[0-9]*}}, i64 %polly.indvar -; CHECK: %tmp6_p_scalar_ = load float, float* %scevgep[[R2]], align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp6_p_scalar_ = load float, float* %scevgep[[R2]], align 4, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp7 = fcmp oeq float %tmp3_p_scalar_, %tmp6_p_scalar_ ; CHECK: br i1 %p_tmp7, label %polly.stmt.bb8, label %polly.stmt.bb12.[[R:[a-zA-Z_.0-9]*]] ; CHECK: polly.stmt.bb8: ; CHECK: %scevgep[[R3:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar -; CHECK: %tmp10_p_scalar_ = load float, float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp10_p_scalar_ = load float, float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp11 = fadd float %tmp10_p_scalar_, 1.000000e+00 -; CHECK: store float %p_tmp11, float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !2 +; CHECK: store float %p_tmp11, float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !3 ; CHECK: br label %polly.stmt.bb12.[[R]] ; CHECK: polly.stmt.bb12.[[R]]: @@ -30,9 +30,9 @@ ; CHECK: polly.stmt.bb12: ; CHECK: %scevgep[[R4:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar -; CHECK: %tmp10b_p_scalar_ = load float, float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp10b_p_scalar_ = load float, float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp11b = fadd float %tmp10b_p_scalar_, 1.000000e+00 -; CHECK: store float %p_tmp11b, float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !2 +; CHECK: store float %p_tmp11b, float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !3 ; CHECK: %polly.indvar_next = add nsw i64 %polly.indvar, 1 ; CHECK: %polly.loop_cond = icmp sle i64 %polly.indvar_next, 1023 ; CHECK: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit diff --git a/polly/test/Isl/CodeGen/partial_write_array.ll b/polly/test/Isl/CodeGen/partial_write_array.ll index 15517aa80198c..14feba0aa7a1e 100644 --- a/polly/test/Isl/CodeGen/partial_write_array.ll +++ b/polly/test/Isl/CodeGen/partial_write_array.ll @@ -38,7 +38,7 @@ return: ; CHECK: polly.stmt.body.Stmt_body_Write0.partial: ; CHECK-NEXT: %polly.access.A = getelementptr double, double* %A, i64 0 -; CHECK-NEXT: store double 4.200000e+01, double* %polly.access.A, align 8, !alias.scope !0, !noalias !2 +; CHECK-NEXT: store double 4.200000e+01, double* %polly.access.A, align 8, !alias.scope !0, !noalias !3 ; CHECK-NEXT: br label %polly.stmt.body.cont ; CHECK: polly.stmt.body.cont: diff --git a/polly/test/Isl/CodeGen/partial_write_full_write_that_appears_partial.ll b/polly/test/Isl/CodeGen/partial_write_full_write_that_appears_partial.ll index 9df38ff6d9262..70eb86b21b92e 100644 --- a/polly/test/Isl/CodeGen/partial_write_full_write_that_appears_partial.ll +++ b/polly/test/Isl/CodeGen/partial_write_full_write_that_appears_partial.ll @@ -3,7 +3,7 @@ ; CHECK: polly.stmt.if.then81: ; preds = %polly.stmt.if.end75 ; CHECK-NEXT: %scevgep = getelementptr [2 x %S], [2 x %S]* %tmp, i64 0, i64 %.147 ; CHECK-NEXT: %scevgep1 = bitcast %S* %scevgep to float* -; CHECK-NEXT: store float undef, float* %scevgep1, align 4, !alias.scope !0, !noalias !2 +; CHECK-NEXT: store float undef, float* %scevgep1, align 4, !alias.scope !0, !noalias !3 ; CHECK-NEXT: br label %polly.stmt.if.end87.region_exiting target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" diff --git a/polly/test/Isl/CodeGen/partial_write_impossible_restriction.ll b/polly/test/Isl/CodeGen/partial_write_impossible_restriction.ll index 3b17518a3ef4a..136ae052d76f6 100644 --- a/polly/test/Isl/CodeGen/partial_write_impossible_restriction.ll +++ b/polly/test/Isl/CodeGen/partial_write_impossible_restriction.ll @@ -49,10 +49,10 @@ if.then.i.i1141.loopexit: ; preds = %cond.end ; CHECK-LABEL: polly.stmt.cond.false: ; CHECK: %polly.access..pn{{[0-9]*}} = getelementptr i32, i32* %.pn, i64 %polly.indvar -; CHECK: store i32 %cond.in.sroa.speculate.load.cond.false_p_scalar_, i32* %polly.access..pn{{[0-9]*}}, align 4, !alias.scope !0, !noalias !2 +; CHECK: store i32 %cond.in.sroa.speculate.load.cond.false_p_scalar_, i32* %polly.access..pn{{[0-9]*}}, align 4, !alias.scope !0, !noalias !3 ; CHECK: br label %polly.merge ; CHECK-LABEL: polly.stmt.cond.false{{[0-9]*}}: ; CHECK: %polly.access..pn{{[0-9]*}} = getelementptr i32, i32* %.pn, i64 0 -; CHECK: store i32 %cond.in.sroa.speculate.load.cond.false_p_scalar_{{[0-9]*}}, i32* %polly.access..pn{{[0-9]*}}, align 4, !alias.scope !0, !noalias !2 +; CHECK: store i32 %cond.in.sroa.speculate.load.cond.false_p_scalar_{{[0-9]*}}, i32* %polly.access..pn{{[0-9]*}}, align 4, !alias.scope !0, !noalias !3 ; CHECK: br label %polly.stmt.cond.end{{[0-9]*}} diff --git a/polly/test/Isl/CodeGen/phi_loop_carried_float.ll b/polly/test/Isl/CodeGen/phi_loop_carried_float.ll index ff86e38814998..32598698b0a8a 100644 --- a/polly/test/Isl/CodeGen/phi_loop_carried_float.ll +++ b/polly/test/Isl/CodeGen/phi_loop_carried_float.ll @@ -29,7 +29,7 @@ ; CHECK-LABEL: polly.stmt.bb4: ; CHECK: %tmp.0.s2a.reload[[R3:[0-9]*]] = load float, float* %tmp.0.s2a -; CHECK: %tmp[[R5:[0-9]*]]_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp[[R5:[0-9]*]]_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp[[R4:[0-9]*]] = fadd float %tmp.0.s2a.reload[[R3]], %tmp[[R5]]_p_scalar_ ; CHECK: store float %p_tmp[[R4]], float* %tmp.0.phiops diff --git a/polly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll b/polly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll index c039a0b16069d..edc4dcbc233c7 100644 --- a/polly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll +++ b/polly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll @@ -29,7 +29,7 @@ ; CHECK-LABEL: polly.stmt.bb4: ; CHECK: %tmp.0.s2a.reload[[R3:[0-9]*]] = load float, float* %tmp.0.s2a -; CHECK: %tmp[[R5:[0-9]*]]_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !2 +; CHECK: %tmp[[R5:[0-9]*]]_p_scalar_ = load float, float* %scevgep, align 4, !alias.scope !0, !noalias !3 ; CHECK: %p_tmp[[R4:[0-9]*]] = fadd float %tmp.0.s2a.reload[[R3]], %tmp[[R5]]_p_scalar_ ; CHECK: store float %p_tmp[[R4]], float* %tmp.0.phiops diff --git a/polly/test/Isl/CodeGen/scev-backedgetaken.ll b/polly/test/Isl/CodeGen/scev-backedgetaken.ll index f3cf1014f6227..9baab543c4caa 100644 --- a/polly/test/Isl/CodeGen/scev-backedgetaken.ll +++ b/polly/test/Isl/CodeGen/scev-backedgetaken.ll @@ -41,8 +41,9 @@ for.cond.cleanup.loopexit: ; CHECK-LABEL: @func( ; CHECK: polly.stmt.omp.inner.for.body.us.us.us.preheader: -; CHECK: load i32, i32* %scevgep, align 4, !alias.scope !0, !noalias !2 +; CHECK: load i32, i32* %scevgep, align 4, !alias.scope !0, !noalias !3 -; CHECK: !0 = distinct !{!0, !1, !"polly.alias.scope.MemRef_d"} -; CHECK: !1 = distinct !{!1, !"polly.alias.scope.domain"} -; CHECK: !2 = !{} +; CHECK: !0 = !{!1} +; CHECK: !1 = distinct !{!1, !2, !"polly.alias.scope.MemRef_d"} +; CHECK: !2 = distinct !{!2, !"polly.alias.scope.domain"} +; CHECK: !3 = !{} diff --git a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll index 2ac4b19e38dd1..6def8f137e745 100644 --- a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll +++ b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll @@ -59,6 +59,6 @@ bb: ; STRIPMINE-NOT: <4 x float> -; CHECK: %tmp_p_vec_full = load <4 x float>, <4 x float>* bitcast ([1024 x float]* @A to <4 x float>*), align 8, !alias.scope !0, !noalias !2 +; CHECK: %tmp_p_vec_full = load <4 x float>, <4 x float>* bitcast ([1024 x float]* @A to <4 x float>*), align 8, !alias.scope !0, !noalias !3 ; CHECK: %tmp4p_vec = fadd <4 x float> %tmp_p_vec_full, ; CHECK: store <4 x float> %tmp4p_vec, <4 x float>* bitcast ([1024 x float]* @B to <4 x float>*) diff --git a/polly/test/Isl/CodeGen/stmt_split_no_dependence.ll b/polly/test/Isl/CodeGen/stmt_split_no_dependence.ll index 539c4067bbb97..12aeebc9bdd7a 100644 --- a/polly/test/Isl/CodeGen/stmt_split_no_dependence.ll +++ b/polly/test/Isl/CodeGen/stmt_split_no_dependence.ll @@ -1,7 +1,7 @@ ; RUN: opt %loadPolly -polly-codegen -S < %s | FileCheck %s ; -; CHECK: store i32 %8, i32* %scevgep, align 4, !alias.scope !1, !noalias !3 -; CHECK: store i32 %9, i32* %scevgep4, align 4, !alias.scope !4, !noalias !5 +; CHECK: store i32 %8, i32* %scevgep, align 4, !alias.scope !1, !noalias !4 +; CHECK: store i32 %9, i32* %scevgep4, align 4, !alias.scope !4, !noalias !1 ; ; void func(int *A, int *B){ ; for (int i = 0; i < 1024; i+=1) { diff --git a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll index c7b7d4f682f45..3da2370e59fb5 100644 --- a/polly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll +++ b/polly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll @@ -12,13 +12,13 @@ ; This test case checks whether Polly generates second level alias metadata ; to distinguish the specific accesses in case of the ublas gemm kernel. ; -; CHECK: !11 = distinct !{!11, !0, !"second level alias metadata"} -; CHECK: !12 = distinct !{!12, !0, !"second level alias metadata"} -; CHECK: !13 = !{!3, !4, !5, !6, !11} -; CHECK: !14 = distinct !{!14, !0, !"second level alias metadata"} -; CHECK: !15 = !{!3, !4, !5, !6, !11, !12} -; CHECK: !16 = distinct !{!16, !0, !"second level alias metadata"} -; CHECK: !17 = !{!3, !4, !5, !6, !11, !12, !14} +; CHECK: !16 = distinct !{!16, !1, !"second level alias metadata"} +; CHECK: !17 = distinct !{!17, !1, !"second level alias metadata"} +; CHECK: !18 = !{!4, !5, !6, !7, !16} +; CHECK: !19 = distinct !{!19, !1, !"second level alias metadata"} +; CHECK: !20 = !{!4, !5, !6, !7, !16, !17} +; CHECK: !21 = distinct !{!21, !1, !"second level alias metadata"} +; CHECK: !22 = !{!4, !5, !6, !7, !16, !17, !19} ; target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-unknown" diff --git a/polly/test/ScopInfo/int2ptr_ptr2int.ll b/polly/test/ScopInfo/int2ptr_ptr2int.ll index c2bedff91e7fc..04fcea1d8bfe6 100644 --- a/polly/test/ScopInfo/int2ptr_ptr2int.ll +++ b/polly/test/ScopInfo/int2ptr_ptr2int.ll @@ -24,10 +24,10 @@ ; IR-NEXT: %p_add.ptr2 = getelementptr inbounds i64, i64* %p_tmp1, i64 1 ; IR-NEXT: %p_tmp2 = ptrtoint i64* %p_add.ptr2 to i64 ; IR-NEXT: %p_arrayidx = getelementptr inbounds i64, i64* %A, i64 %p_tmp2 -; IR-NEXT: %tmp3_p_scalar_ = load i64, i64* %p_arrayidx, align 8, !alias.scope !0, !noalias !2 -; IR-NEXT: %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !0, !noalias !2 +; IR-NEXT: %tmp3_p_scalar_ = load i64, i64* %p_arrayidx, align 8, !alias.scope !0, !noalias !3 +; IR-NEXT: %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !0, !noalias !3 ; IR-NEXT: %p_add4 = add nsw i64 %tmp4_p_scalar_, %tmp3_p_scalar_ -; IR-NEXT: store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !0, !noalias !2 +; IR-NEXT: store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !0, !noalias !3 ; IR-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1 ; IR-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99 ; IR-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit diff --git a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll index e84118ca74590..02ff1136c0ade 100644 --- a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll +++ b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll @@ -24,9 +24,9 @@ ; IR-NEXT: %ptr13 = ptrtoint i64* %ptr to i16 ; ; IR: polly.stmt.for.body: -; IR-NEXT: %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !3, !noalias !4 +; IR-NEXT: %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !3, !noalias !0 ; IR-NEXT: %p_add4 = add nsw i64 %tmp4_p_scalar_, %polly.preload.tmp3.merge -; IR-NEXT: store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !3, !noalias !4 +; IR-NEXT: store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !3, !noalias !0 ; IR-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1 ; IR-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99 ; IR-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit