The legacy PM is deprecated, so update a bunch of lit tests running opt to use the new PM syntax when specifying the pipeline. In this patch focus has been put on test cases for ConstantMerge, ConstraintElimination, CorrelatedValuePropagation, GlobalDCE, GlobalOpt, SCCP, TailCallElim and PredicateInfo. Differential Revision: https://reviews.llvm.org/D114516
46 lines
1.8 KiB
LLVM
46 lines
1.8 KiB
LLVM
; RUN: opt < %s -passes=sccp -disable-output
|
|
; PR1431
|
|
|
|
define void @_ada_bench() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
|
|
entry:
|
|
br label %cond_next
|
|
cond_next: ; preds = %cond_next, %entry
|
|
%indvar46 = phi i32 [ 0, %entry ], [ %indvar.next47, %cond_next ] ; <i32> [#uses=1]
|
|
%indvar.next47 = add i32 %indvar46, 1 ; <i32> [#uses=2]
|
|
%exitcond48 = icmp eq i32 %indvar.next47, 10000 ; <i1> [#uses=1]
|
|
br i1 %exitcond48, label %cond_next40, label %cond_next
|
|
cond_next40: ; preds = %cond_next40, %cond_next
|
|
%indvar43 = phi i32 [ %indvar.next44, %cond_next40 ], [ 0, %cond_next ] ; <i32> [#uses=1]
|
|
%indvar.next44 = add i32 %indvar43, 1 ; <i32> [#uses=2]
|
|
%exitcond45 = icmp eq i32 %indvar.next44, 10000 ; <i1> [#uses=1]
|
|
br i1 %exitcond45, label %cond_next53, label %cond_next40
|
|
cond_next53: ; preds = %cond_next53, %cond_next40
|
|
%indvar41 = phi i32 [ %indvar.next42, %cond_next53 ], [ 0, %cond_next40 ] ; <i32> [#uses=1]
|
|
%indvar.next42 = add i32 %indvar41, 1 ; <i32> [#uses=2]
|
|
%exitcond = icmp eq i32 %indvar.next42, 10000 ; <i1> [#uses=1]
|
|
br i1 %exitcond, label %bb67, label %cond_next53
|
|
bb67: ; preds = %cond_next53
|
|
%tmp112 = invoke double @sin( double 5.000000e-01 )
|
|
to label %bb114 unwind label %cleanup ; <double> [#uses=0]
|
|
bb114: ; preds = %bb67
|
|
%tmp147 = invoke double @log( double 5.000000e-01 )
|
|
to label %bb149 unwind label %cleanup ; <double> [#uses=0]
|
|
bb149: ; preds = %bb114
|
|
%tmp175 = invoke double @sqrt( double 5.000000e-01 )
|
|
to label %bb177 unwind label %cleanup ; <double> [#uses=0]
|
|
bb177: ; preds = %bb149
|
|
unreachable
|
|
cleanup: ; preds = %bb149, %bb114, %bb67
|
|
%val = landingpad { i8*, i32 }
|
|
cleanup
|
|
resume { i8*, i32 } %val
|
|
}
|
|
|
|
declare double @sin(double)
|
|
|
|
declare double @log(double)
|
|
|
|
declare double @sqrt(double)
|
|
|
|
declare i32 @__gxx_personality_v0(...)
|