brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 0ccf7e3 Raw
36 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -S -passes=infer-address-spaces %s | FileCheck %s3 4define void @phi_poison(ptr addrspace(1) %arg, <2 x ptr addrspace(1)> %arg1) {5; CHECK-LABEL: @phi_poison(6; CHECK-NEXT:  entry:7; CHECK-NEXT:    [[TMP0:%.*]] = call i1 @is_leader()8; CHECK-NEXT:    br i1 [[TMP0]], label [[LEADER:%.*]], label [[MERGE:%.*]]9; CHECK:       leader:10; CHECK-NEXT:    br label [[MERGE]]11; CHECK:       merge:12; CHECK-NEXT:    [[I:%.*]] = phi ptr addrspace(1) [ [[ARG:%.*]], [[LEADER]] ], [ poison, [[ENTRY:%.*]] ]13; CHECK-NEXT:    [[I2:%.*]] = phi <2 x ptr addrspace(1)> [ [[ARG1:%.*]], [[LEADER]] ], [ poison, [[ENTRY]] ]14; CHECK-NEXT:    [[J:%.*]] = icmp eq ptr addrspace(1) [[I]], addrspacecast (ptr null to ptr addrspace(1))15; CHECK-NEXT:    [[J1:%.*]] = icmp eq <2 x ptr addrspace(1)> [[I2]], <ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)), ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1))>16; CHECK-NEXT:    ret void17;18entry:19  %is = call i1 @is_leader()20  br i1 %is, label %leader, label %merge21 22leader:23  %cast = addrspacecast ptr addrspace(1) %arg to ptr24  %cast1 = addrspacecast <2 x ptr addrspace(1)> %arg1 to <2 x ptr>25  br label %merge26 27merge:28  %i = phi ptr [%cast, %leader], [poison, %entry]29  %i1 = phi <2 x ptr> [%cast1, %leader], [poison, %entry]30  %j = icmp eq ptr %i, null31  %j1 = icmp eq <2 x ptr> %i1, zeroinitializer32  ret void33}34 35declare i1 @is_leader()36