26 lines · plain
1; RUN: opt -loop-reduce < %s -o /dev/null2 3; LSR doesn't actually do anything on this input; just check that it doesn't4; crash while building the compatible type for the IV (by virtue of using5; INT64_MAX as a constant in the loop).6 7target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"8target triple = "x86_64-apple-macosx10.12.0"9 10define void @foo(i1 %arg) {11entry:12 br label %for13 14for: 15 %0 = phi i64 [ %add, %for ], [ undef, %entry ]16 %next = phi i32 [ %inc, %for ], [ undef, %entry ]17 store i32 %next, ptr undef, align 418 %add = add i64 %0, 922337203685477580719 %inc = add nsw i32 %next, 120 br i1 %arg, label %exit, label %for21 22exit:23 store i64 %add, ptr undef24 ret void25}26