brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · d799cd2 Raw
108 lines · plain
1# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s2# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s3 4---5name:            loads6tracksRegLiveness: true7body:             |8  bb.1.entry:9    %1:_(p0) = G_IMPLICIT_DEF10    %4:_(p1) = G_IMPLICIT_DEF11    %6:_(p5) = G_IMPLICIT_DEF12 13    ; Atomic load14    ; CHECK: DIVERGENT15    ; CHECK-SAME: G_LOAD16    %0:_(s32) = G_LOAD %1(p0) :: (load seq_cst (s32) from `ptr undef`)17 18    ; flat load19    ; CHECK: DIVERGENT20    ; CHECK-SAME: G_LOAD21    %2:_(s32) = G_LOAD %1(p0) :: (load (s32) from `ptr undef`)22 23    ; Gloabal load24    ; CHECK-NOT: DIVERGENT25    %3:_(s32) = G_LOAD %4(p1) :: (load (s32) from `ptr addrspace(1) undef`, addrspace 1)26 27    ; Private load28    ; CHECK: DIVERGENT29    ; CHECK-SAME: G_LOAD30    %5:_(s32) = G_LOAD %6(p5) :: (volatile load (s32) from `ptr addrspace(5) undef`, addrspace 5)31    G_STORE %2(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)32    G_STORE %3(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)33    G_STORE %5(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)34    G_STORE %0(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)35    SI_RETURN36 37...38 39---40name:            zext_loads41tracksRegLiveness: true42body:             |43  bb.1.entry:44    %1:_(p0) = G_IMPLICIT_DEF45    %4:_(p1) = G_IMPLICIT_DEF46    %6:_(p5) = G_IMPLICIT_DEF47 48    ; Atomic load49    ; CHECK: DIVERGENT50    ; CHECK-SAME: G_ZEXTLOAD51    %0:_(s32) = G_ZEXTLOAD %1(p0) :: (load seq_cst (s16) from `ptr undef`)52 53    ; flat load54    ; CHECK: DIVERGENT55    ; CHECK-SAME: G_ZEXTLOAD56    %2:_(s32) = G_ZEXTLOAD %1(p0) :: (load (s16) from `ptr undef`)57 58    ; Gloabal load59    ; CHECK-NOT: DIVERGENT60    %3:_(s32) = G_ZEXTLOAD %4(p1) :: (load (s16) from `ptr addrspace(1) undef`, addrspace 1)61 62    ; Private load63    ; CHECK: DIVERGENT64    ; CHECK-SAME: G_ZEXTLOAD65    %5:_(s32) = G_ZEXTLOAD %6(p5) :: (volatile load (s16) from `ptr addrspace(5) undef`, addrspace 5)66    G_STORE %2(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)67    G_STORE %3(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)68    G_STORE %5(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)69    G_STORE %0(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)70    SI_RETURN71 72...73 74---75name:            sext_loads76tracksRegLiveness: true77body:             |78  bb.1.entry:79    %1:_(p0) = G_IMPLICIT_DEF80    %4:_(p1) = G_IMPLICIT_DEF81    %6:_(p5) = G_IMPLICIT_DEF82 83    ; Atomic load84    ; CHECK: DIVERGENT85    ; CHECK-SAME: G_SEXTLOAD86    %0:_(s32) = G_SEXTLOAD %1(p0) :: (load seq_cst (s16) from `ptr undef`)87 88    ; flat load89    ; CHECK: DIVERGENT90    ; CHECK-SAME: G_SEXTLOAD91    %2:_(s32) = G_SEXTLOAD %1(p0) :: (load (s16) from `ptr undef`)92 93    ; Gloabal load94    ; CHECK-NOT: DIVERGENT95    %3:_(s32) = G_SEXTLOAD %4(p1) :: (load (s16) from `ptr addrspace(1) undef`, addrspace 1)96 97    ; Private load98    ; CHECK: DIVERGENT99    ; CHECK-SAME: G_SEXTLOAD100    %5:_(s32) = G_SEXTLOAD %6(p5) :: (volatile load (s16) from `ptr addrspace(5) undef`, addrspace 5)101    G_STORE %2(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)102    G_STORE %3(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)103    G_STORE %5(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)104    G_STORE %0(s32), %4(p1) :: (volatile store (s32) into `ptr addrspace(1) undef`, addrspace 1)105    SI_RETURN106 107...108