; LFTR should not eliminate the need for the computation of i*i completely
; due to LFTR is disabled.
; RUN: opt < %s -indvars -dce -disable-lftr -S | FileCheck %s

; Provide legal integer types.
target datalayout = "n8:16:32:64"


@A = external global i32                ; <i32*> [#uses=1]

define i32 @quadratic_setlt() {
; CHECK-LABEL: @quadratic_setlt(
; CHECK: mul
entry:
        br label %loop

loop:           ; preds = %loop, %entry
        %i = phi i32 [ 7, %entry ], [ %i.next, %loop ]          ; <i32> [#uses=5]
        %i.next = add i32 %i, 1         ; <i32> [#uses=1]
        store i32 %i, i32* @A
        %i2 = mul i32 %i, %i            ; <i32> [#uses=1]
        %c = icmp slt i32 %i2, 1000             ; <i1> [#uses=1]
        br i1 %c, label %loop, label %loopexit

loopexit:               ; preds = %loop
        ret i32 %i
}

