| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -S -passes=instcombine < %s | FileCheck %s |
| |
| target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" |
| |
| ; Make sure we don't hang here. |
| define i32 @pr96012() { |
| ; CHECK-LABEL: define i32 @pr96012() { |
| ; CHECK-NEXT: [[ENTRY:.*:]] |
| ; CHECK-NEXT: br label %[[FOR_COND:.*]] |
| ; CHECK: [[FOR_COND]]: |
| ; CHECK-NEXT: br label %[[FOR_COND]] |
| ; |
| entry: |
| br label %for.cond |
| |
| for.cond: |
| %indvar = phi i32 [ 1, %entry ], [ %shl, %for.cond ] |
| %conv1 = trunc i32 %indvar to i8 |
| %neg = sub i8 0, %conv1 |
| %conv2 = zext i8 %neg to i32 |
| %shl = shl nuw i32 %conv2, 24 |
| br label %for.cond |
| } |