; Reduced from https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65323 by @RKSimon ; ; RUN: opt -S -passes=loop-reduce %s | FileCheck %s ; ; Make sure we don't trigger an assertion. target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @G = external global i32 define void @foo() { ; CHECK-LABEL: foo bb8: br label %bb30 bb30: ; preds = %bb30, %bb8 %l0 = phi i64 [ -2222, %bb8 ], [ %r23, %bb30 ] %A22 = alloca i16, align 2 %r23 = add nuw i64 1, %l0 %G7 = getelementptr i16, ptr %A22, i64 %r23 %B15 = urem i64 %r23, %r23 %G6 = getelementptr i16, ptr %G7, i64 %B15 %B1 = urem i64 %r23, %r23 %B8 = sub i64 -1, %r23 %B18 = sub i64 %B8, %B1 %G5 = getelementptr i16, ptr %G6, i64 %B18 store ptr %G5, ptr undef, align 8 br label %bb30 }