[llvm] r254035 - [PGO] Relax test cases in PGO instrumentation

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 15:17:02 PST 2015


On Tue, Nov 24, 2015 at 2:50 PM, Rong Xu via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: xur
> Date: Tue Nov 24 16:50:34 2015
> New Revision: 254035
>
> URL: http://llvm.org/viewvc/llvm-project?rev=254035&view=rev
> Log:
> [PGO] Relax test cases in PGO instrumentation
>
> Fix buildbot failure for clang-x86_64-linux-selfhost-modules.
>
> http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/8866
> The failing test cases are newly added from r254021. It seems the IR has a
> different order in this platform. In this patch, I temporarily relax the
> test
> case to make the build green. I'll have a complete fix (more robust way to
> test)
> soon.
>
> Modified:
>     llvm/trunk/test/Transforms/PGOProfile/criticaledge_gen.ll
>     llvm/trunk/test/Transforms/PGOProfile/criticaledge_use.ll
>     llvm/trunk/test/Transforms/PGOProfile/loop3_gen.ll
>     llvm/trunk/test/Transforms/PGOProfile/loop3_use.ll
>     llvm/trunk/test/Transforms/PGOProfile/noprofile_use.ll
>     llvm/trunk/test/Transforms/PGOProfile/switch_gen.ll
>     llvm/trunk/test/Transforms/PGOProfile/switch_use.ll
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/criticaledge_gen.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/criticaledge_gen.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/criticaledge_gen.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/criticaledge_gen.ll Tue Nov 24
> 16:50:34 2015
> @@ -18,20 +18,16 @@ entry:
>    ]
>
>  ; CHECK: entry.sw.bb3_crit_edge1:
> -; CHECK:   call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 1)
>  ; CHECK:   br label %sw.bb3
>
>  ; CHECK: entry.sw.bb3_crit_edge:
> -; CHECK:   call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 0)
>  ; CHECK:   br label %sw.bb3
>
>  sw.bb:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 5)
>    %call = call i32 @_ZL3bari(i32 2)
>    br label %sw.epilog
>
>  sw.bb1:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 4)
>    %call2 = call i32 @_ZL3bari(i32 1024)
>    br label %sw.epilog
>
> @@ -40,23 +36,19 @@ sw.bb3:
>    br i1 %cmp, label %if.then, label %if.end
>
>  if.then:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 2)
>    %call4 = call i32 @_ZL3bari(i32 4)
>    br label %return
>
>  if.end:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 3)
>    %call5 = call i32 @_ZL3bari(i32 8)
>    br label %sw.epilog
>
>  sw.default:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 6)
>    %call6 = call i32 @_ZL3bari(i32 32)
>    %cmp7 = icmp sgt i32 %j, 10
>    br i1 %cmp7, label %if.then8, label %if.end9
>
>  if.then8:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @__llvm_profile_name__Z17test_criticalEdgeii, i32 0,
> i32 0), i64 82348442248, i32 8, i32 7)
>    %add = add nsw i32 %call6, 10
>    br label %if.end9
>
> @@ -75,6 +67,5 @@ return:
>
>  define internal i32 @_ZL3bari(i32 %i) {
>  entry:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([16 x i8], [16 x i8]* @"__llvm_profile_name_<stdin>:_ZL3bari", i32 0, i32
> 0), i64 12884901887, i32 1, i32 0)
>    ret i32 %i
>  }
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/criticaledge_use.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/criticaledge_use.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/criticaledge_use.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/criticaledge_use.ll Tue Nov 24
> 16:50:34 2015
> @@ -14,7 +14,7 @@ entry:
>  ; CHECK:    i32 4, label %entry.sw.bb3_crit_edge1
>      i32 5, label %sw.bb3
>    ]
> -; CHECK: !prof !0
> +; CHECK: !prof !
>
>  ; CHECK: entry.sw.bb3_crit_edge1:
>  ; CHECK:   br label %sw.bb3
> @@ -32,7 +32,7 @@ sw.bb1:
>  sw.bb3:
>    %cmp = icmp eq i32 %j, 2
>    br i1 %cmp, label %if.then, label %if.end
> -; CHECK: !prof !1
> +; CHECK: !prof !
>
>  if.then:
>    %call4 = call i32 @_ZL3bari(i32 4)
> @@ -46,7 +46,7 @@ sw.default:
>    %call6 = call i32 @_ZL3bari(i32 32)
>    %cmp7 = icmp sgt i32 %j, 10
>    br i1 %cmp7, label %if.then8, label %if.end9
> -; CHECK: !prof !2
> +; CHECK: !prof !
>
>  if.then8:
>    %add = add nsw i32 %call6, 10
> @@ -70,6 +70,5 @@ entry:
>    ret i32 %i
>  }
>
> -; CHECK: !0 = !{!"branch_weights", i32 2, i32 1, i32 0, i32 2, i32 1, i32
> 1}
> -; CHECK: !1 = !{!"branch_weights", i32 2, i32 2}
> -; CHECK: !2 = !{!"branch_weights", i32 1, i32 1}
> +; CHECK-DAG: !{!"branch_weights", i32 2, i32 2}
> +; CHECK-DAG: !{!"branch_weights", i32 1, i32 1}
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/loop3_gen.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/loop3_gen.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/loop3_gen.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/loop3_gen.ll Tue Nov 24 16:50:34
> 2015
> @@ -6,7 +6,6 @@ target triple = "x86_64-unknown-linux-gn
>
>  define i32 @_Z15test_nested_foriii(i32 %r, i32 %s, i32 %t) {
>  entry:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([22 x i8], [22 x i8]* @__llvm_profile_name__Z15test_nested_foriii, i32 0,
> i32 0), i64 75296580464, i32 4, i32 3)
>    br label %for.cond
>
>  for.cond:
> @@ -38,7 +37,6 @@ for.body6:
>    br label %for.inc
>
>  for.inc:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([22 x i8], [22 x i8]* @__llvm_profile_name__Z15test_nested_foriii, i32 0,
> i32 0), i64 75296580464, i32 4, i32 0)
>    %inc7 = add nsw i32 %k.0, 1
>    br label %for.cond4
>
> @@ -46,12 +44,10 @@ for.end:
>    br label %for.inc8
>
>  for.inc8:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([22 x i8], [22 x i8]* @__llvm_profile_name__Z15test_nested_foriii, i32 0,
> i32 0), i64 75296580464, i32 4, i32 1)
>    %inc9 = add nsw i32 %j.0, 1
>    br label %for.cond1
>
>  for.end10:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([22 x i8], [22 x i8]* @__llvm_profile_name__Z15test_nested_foriii, i32 0,
> i32 0), i64 75296580464, i32 4, i32 2)
>    br label %for.inc11
>
>  for.inc11:
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/loop3_use.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/loop3_use.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/loop3_use.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/loop3_use.ll Tue Nov 24 16:50:34
> 2015
> @@ -12,7 +12,7 @@ for.cond:
>    %nested_for_sum.0 = phi i32 [ 1, %entry ], [ %nested_for_sum.1,
> %for.inc11 ]
>    %cmp = icmp slt i32 %i.0, %r
>    br i1 %cmp, label %for.body, label %for.end13
> -; CHECK: !prof !0
> +; CHECK: !prof
>
>  for.body:
>    br label %for.cond1
> @@ -22,7 +22,7 @@ for.cond1:
>    %nested_for_sum.1 = phi i32 [ %nested_for_sum.0, %for.body ], [
> %nested_for_sum.2, %for.inc8 ]
>    %cmp2 = icmp slt i32 %j.0, %s
>    br i1 %cmp2, label %for.body3, label %for.end10
> -; CHECK: !prof !1
> +; CHECK: !prof
>
>  for.body3:
>    br label %for.cond4
> @@ -32,7 +32,7 @@ for.cond4:
>    %nested_for_sum.2 = phi i32 [ %nested_for_sum.1, %for.body3 ], [ %inc,
> %for.inc ]
>    %cmp5 = icmp slt i32 %k.0, %t
>    br i1 %cmp5, label %for.body6, label %for.end
> -; CHECK: !prof !2
> +; CHECK: !prof
>
>  for.body6:
>    %inc = add nsw i32 %nested_for_sum.2, 1
> @@ -60,6 +60,4 @@ for.end13:
>    ret i32 %nested_for_sum.0
>  }
>
> -; CHECK: !0 = !{!"branch_weights", i32 10, i32 6}
> -; CHECK: !1 = !{!"branch_weights", i32 33, i32 10}
> -; CHECK: !2 = !{!"branch_weights", i32 186, i32 33}
> +; CHECK: !{!"branch_weights"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/noprofile_use.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/noprofile_use.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/noprofile_use.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/noprofile_use.ll Tue Nov 24
> 16:50:34 2015
> @@ -1,4 +1,4 @@
> -; RUN: not opt < %s -pgo-instr-use
> -pgo-profile-file=%T/notexisting.profdata -S  2>&1 |grep
> 'notexisting.profdata: No such file or directory'
> +; RUN: not opt < %s -pgo-instr-use
> -pgo-profile-file=%T/notexisting.profdata -S
>
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-linux-gnu"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/switch_gen.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/switch_gen.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/switch_gen.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/switch_gen.ll Tue Nov 24
> 16:50:34 2015
> @@ -13,22 +13,18 @@ entry:
>    ]
>
>  sw.bb:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([18 x i8], [18 x i8]* @__llvm_profile_name__Z13test_switch_1i, i32 0, i32
> 0), i64 46628225222, i32 4, i32 2)
>    %add = add nsw i32 %i, 2
>    br label %sw.epilog
>
>  sw.bb1:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([18 x i8], [18 x i8]* @__llvm_profile_name__Z13test_switch_1i, i32 0, i32
> 0), i64 46628225222, i32 4, i32 0)
>    %add2 = add nsw i32 %i, 100
>    br label %sw.epilog
>
>  sw.bb3:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([18 x i8], [18 x i8]* @__llvm_profile_name__Z13test_switch_1i, i32 0, i32
> 0), i64 46628225222, i32 4, i32 1)
>    %add4 = add nsw i32 %i, 4
>    br label %sw.epilog
>
>  sw.default:
> -; CHECK: call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([18 x i8], [18 x i8]* @__llvm_profile_name__Z13test_switch_1i, i32 0, i32
> 0), i64 46628225222, i32 4, i32 3)
>    %add5 = add nsw i32 %i, 1
>    br label %sw.epilog
>
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/switch_use.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/switch_use.ll?rev=254035&r1=254034&r2=254035&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/switch_use.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/switch_use.ll Tue Nov 24
> 16:50:34 2015
> @@ -33,4 +33,4 @@ sw.epilog:
>    ret i32 %retv
>  }
>
> -;CHECK: !0 = !{!"branch_weights", i32 3, i32 0, i32 0, i32 0}
> +; CHECK: !0 = !{!"branch_weights"
>

This is not appropriate. It completely destroys the purpose of the test.
The appropriate solution is to revert the patch until the issue is resolved.

-- Sean Silva


>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151124/45c63f80/attachment.html>


More information about the llvm-commits mailing list