Xamarin Public Jenkins (auto-signing) f32dbaf0b2 Imported Upstream version 5.18.0.225
Former-commit-id: 10196d987d5fc5564b9d3b33b1fdf13190f4d0b5
2018-12-21 19:01:49 +00:00

34 lines
954 B
LLVM

; RUN: opt -loop-reduce -verify < %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64--linux-gnu"
define void @unbounded() {
block_A:
%0 = sext i32 undef to i64
br i1 undef, label %block_F, label %block_G
block_C: ; preds = %block_F
br i1 undef, label %block_D, label %block_E
block_D: ; preds = %block_D, %block_C
br i1 undef, label %block_E, label %block_D
block_E: ; preds = %block_D, %block_C
%iv2 = phi i64 [ %4, %block_D ], [ %4, %block_C ]
%1 = add nsw i32 %iv1, 1
%2 = icmp eq i32 %1, undef
br i1 %2, label %block_G, label %block_F
block_F: ; preds = %block_E, %block_A
%iv3 = phi i64 [ %iv2, %block_E ], [ %0, %block_A ]
%iv1 = phi i32 [ %1, %block_E ], [ undef, %block_A ]
%3 = add nsw i64 %iv3, 2
%4 = add nsw i64 %iv3, 1
br label %block_C
block_G: ; preds = %block_E, %block_A
ret void
}