[win/asan] GetInstructionSize: Fix `83 E4 XX` to return 3. (#119644)
[llvm-project.git] / llvm / test / Transforms / IRCE / pr89959.ll
blobdc7c0dfbc57a97ade935a9d790020c4322e8ec3c
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2 ; RUN: opt -passes=irce -S < %s 2>&1 | FileCheck %s
4 ; Make sure we don't crash.
5 define void @pr89959() {
6 ; CHECK-LABEL: define void @pr89959() {
7 ; CHECK-NEXT:  top:
8 ; CHECK-NEXT:    br label [[L3:%.*]]
9 ; CHECK:       L3:
10 ; CHECK-NEXT:    [[VALUE_PHI:%.*]] = phi ptr [ null, [[TOP:%.*]] ], [ [[TMP0:%.*]], [[L13:%.*]] ]
11 ; CHECK-NEXT:    [[TMP0]] = getelementptr i8, ptr [[VALUE_PHI]], i64 8
12 ; CHECK-NEXT:    [[DOTNOT:%.*]] = icmp ule ptr [[VALUE_PHI]], null
13 ; CHECK-NEXT:    br i1 [[DOTNOT]], label [[L13]], label [[L15:%.*]]
14 ; CHECK:       L13:
15 ; CHECK-NEXT:    br label [[L3]]
16 ; CHECK:       L15:
17 ; CHECK-NEXT:    ret void
19 top:
20   br label %L3
22 L3:
23   %value_phi = phi ptr [ null, %top ], [ %0, %L13 ]
24   %0 = getelementptr i8, ptr %value_phi, i64 8
25   %.not = icmp ule ptr %value_phi, null
26   br i1 %.not, label %L13, label %L15
28 L13:
29   br label %L3
31 L15:
32   ret void