| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; RUN: opt < %s -nary-reassociate -S | FileCheck %s |
| |
| ; The test check that compilation does not fall into infinite loop. |
| |
| define i8 @foo(i8 %v) local_unnamed_addr #0 { |
| ; CHECK-LABEL: @foo( |
| ; CHECK-NEXT: region.0: |
| ; CHECK-NEXT: [[TMP0:%.*]] = mul nsw i8 16, [[V:%.*]] |
| ; CHECK-NEXT: [[TMP1:%.*]] = mul nsw i8 0, [[TMP0]] |
| ; CHECK-NEXT: [[TMP2:%.*]] = mul nsw i8 1, [[TMP1]] |
| ; CHECK-NEXT: ret i8 [[TMP2]] |
| ; |
| region.0: |
| %0 = mul nsw i8 16, %v |
| %1 = mul nsw i8 0, %0 |
| %2 = mul nsw i8 1, %1 |
| ret i8 %2 |
| } |