; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2 ; RUN: opt -S -passes=indvars < %s | FileCheck %s target datalayout = "n8:16:32:64" ; Just make sure this doesn't crash. ; SCEVExpander produces a degenerate phi node for the widened IV here, ; where the "increment" instruction folds to a poison value. define i32 @main() { ; CHECK-LABEL: define i32 @main() { ; CHECK-NEXT: entry: ; CHECK-NEXT: br label [[LOOP:%.*]] ; CHECK: loop: ; CHECK-NEXT: br label [[LOOP]] ; entry: %div = sdiv i32 1, 0 %trunc = trunc i32 %div to i16 br label %loop loop: %phi = phi i16 [ 0, %entry ], [ %or, %loop ] %or = or disjoint i16 %phi, %trunc %phi.ext = sext i16 %phi to i64 %add.ptr = getelementptr i8, ptr null, i64 %phi.ext br label %loop }