31 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -passes=gvn -S -o - < %s | FileCheck %s3 4target triple = "x86_64-unknown-linux-gnu"5 6define i64 @foo(ptr %arrayidx) {7; CHECK-LABEL: define i64 @foo(8; CHECK-SAME: ptr [[ARRAYIDX:%.*]]) {9; CHECK-NEXT: [[ENTRY:.*:]]10; CHECK-NEXT: [[P:%.*]] = load ptr, ptr [[ARRAYIDX]], align 811; CHECK-NEXT: [[CMPNULL:%.*]] = icmp eq ptr [[P]], null12; CHECK-NEXT: [[TMP0:%.*]] = ptrtoint ptr [[P]] to i6413; CHECK-NEXT: br label %[[BB2:.*]]14; CHECK: [[ENTRY2:.*:]]15; CHECK-NEXT: br label %[[BB2]]16; CHECK: [[BB2]]:17; CHECK-NEXT: ret i64 [[TMP0]]18;19entry:20 %p = load ptr, ptr %arrayidx, align 821 %cmpnull = icmp eq ptr %p, null22 br label %BB223 24entry2: ; No predecessors!25 br label %BB226 27BB2: ; preds = %entry2, %entry28 %load = load i64, ptr %arrayidx, align 829 ret i64 %load30}31