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

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 15:17:22 PST 2015


----- Original Message -----
> From: "Rong Xu via llvm-commits" <llvm-commits at lists.llvm.org>
> To: llvm-commits at lists.llvm.org
> Sent: Tuesday, November 24, 2015 4:50:35 PM
> Subject: [llvm] r254035 - [PGO] Relax test cases in PGO instrumentation
> 
> 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.

What does this mean? The output needs to be deterministic across platforms (as a project requirement).

 -Hal

> 
> 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"
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-commits mailing list