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
31 lines
689 B
LLVM
31 lines
689 B
LLVM
; RUN: opt -passes=sccp -S < %s | FileCheck %s
|
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
define i32 @main() {
|
|
entry:
|
|
br label %lbl_1154
|
|
|
|
lbl_1154:
|
|
%b0.0 = phi i32 [ -119, %entry ], [ 0, %lbl_1154 ]
|
|
%cmp11 = icmp slt i32 %b0.0, 0
|
|
%shl.op = shl i32 33554432, %b0.0
|
|
%cmp1445 = icmp ult i32 %shl.op, 33554432
|
|
%cmp14 = or i1 %cmp11, %cmp1445
|
|
br i1 %cmp14, label %lbl_1154, label %if.end19
|
|
|
|
if.end19:
|
|
br i1 %cmp11, label %if.then22, label %cleanup26
|
|
|
|
if.then22:
|
|
tail call void @abort()
|
|
unreachable
|
|
|
|
cleanup26:
|
|
ret i32 %shl.op
|
|
}
|
|
; CHECK-LABEL: define i32 @main(
|
|
; CHECK-NOT: ret i32 undef
|
|
|
|
declare void @abort()
|