llvm/test/Other/cleanup-lcssa.ll
Manuel Jacob b6968cd808 [PM] Schedule InstSimplify after late LICM run, to clean up LCSSA nodes.
Summary:
The module pass pipeline includes a late LICM run after loop
unrolling.  LCSSA is implicitly run as a pass dependency of LICM.  However no
cleanup pass was run after this, so the LCSSA nodes ended in the optimized output.

Reviewers: hfinkel, mehdi_amini

Subscribers: majnemer, bruno, mzolotukhin, mehdi_amini, llvm-commits

Differential Revision: http://reviews.llvm.org/D20606

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271602 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-02 22:14:26 +00:00

19 lines
296 B
LLVM

; RUN: opt -S -O3 < %s | FileCheck %s
define i64 @test() {
entry:
br label %loop
loop:
%i = phi i64 [ 0, %entry ], [ %inc, %loop ]
%inc = add i64 %i, 1
%cond = tail call i1 @check()
br i1 %cond, label %loop, label %exit
exit:
; CHECK-NOT: lcssa
ret i64 %i
}
declare i1 @check()