brintos

brintos / llvm-project-archived public Read only

0
0
Text · 990 B · a663350 Raw
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