394 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: sed 's/CODE_OBJECT_VERSION/400/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 | FileCheck --check-prefix=GFX8V4 %s3; RUN: sed 's/CODE_OBJECT_VERSION/500/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 | FileCheck --check-prefix=GFX8V5 %s4; RUN: sed 's/CODE_OBJECT_VERSION/600/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 | FileCheck --check-prefix=GFX8V5 %s5 6; RUN: sed 's/CODE_OBJECT_VERSION/400/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 | FileCheck --check-prefixes=GFX9V4 %s7; RUN: sed 's/CODE_OBJECT_VERSION/500/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 | FileCheck --check-prefixes=GFX9V5 %s8; RUN: sed 's/CODE_OBJECT_VERSION/600/g' %s | llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx906 | FileCheck --check-prefixes=GFX9V5 %s9 10define amdgpu_kernel void @addrspacecast(ptr addrspace(5) %ptr.private, ptr addrspace(3) %ptr.local) #0 {11; GFX8V4-LABEL: addrspacecast:12; GFX8V4: ; %bb.0:13; GFX8V4-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x014; GFX8V4-NEXT: s_load_dwordx2 s[2:3], s[6:7], 0x4015; GFX8V4-NEXT: v_mov_b32_e32 v4, 116; GFX8V4-NEXT: s_waitcnt lgkmcnt(0)17; GFX8V4-NEXT: s_cmp_lg_u32 s0, -118; GFX8V4-NEXT: s_cselect_b32 s3, s3, 019; GFX8V4-NEXT: s_cselect_b32 s0, s0, 020; GFX8V4-NEXT: s_cmp_lg_u32 s1, -121; GFX8V4-NEXT: v_mov_b32_e32 v0, s022; GFX8V4-NEXT: v_mov_b32_e32 v1, s323; GFX8V4-NEXT: s_cselect_b32 s0, s2, 024; GFX8V4-NEXT: s_cselect_b32 s1, s1, 025; GFX8V4-NEXT: v_mov_b32_e32 v2, s126; GFX8V4-NEXT: v_mov_b32_e32 v3, s027; GFX8V4-NEXT: flat_store_dword v[0:1], v428; GFX8V4-NEXT: s_waitcnt vmcnt(0)29; GFX8V4-NEXT: v_mov_b32_e32 v0, 230; GFX8V4-NEXT: flat_store_dword v[2:3], v031; GFX8V4-NEXT: s_waitcnt vmcnt(0)32; GFX8V4-NEXT: s_endpgm33;34; GFX8V5-LABEL: addrspacecast:35; GFX8V5: ; %bb.0:36; GFX8V5-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x037; GFX8V5-NEXT: s_load_dwordx2 s[2:3], s[8:9], 0xc838; GFX8V5-NEXT: v_mov_b32_e32 v4, 139; GFX8V5-NEXT: s_waitcnt lgkmcnt(0)40; GFX8V5-NEXT: s_cmp_lg_u32 s0, -141; GFX8V5-NEXT: s_cselect_b32 s2, s2, 042; GFX8V5-NEXT: s_cselect_b32 s0, s0, 043; GFX8V5-NEXT: s_cmp_lg_u32 s1, -144; GFX8V5-NEXT: v_mov_b32_e32 v0, s045; GFX8V5-NEXT: v_mov_b32_e32 v1, s246; GFX8V5-NEXT: s_cselect_b32 s0, s3, 047; GFX8V5-NEXT: s_cselect_b32 s1, s1, 048; GFX8V5-NEXT: v_mov_b32_e32 v2, s149; GFX8V5-NEXT: v_mov_b32_e32 v3, s050; GFX8V5-NEXT: flat_store_dword v[0:1], v451; GFX8V5-NEXT: s_waitcnt vmcnt(0)52; GFX8V5-NEXT: v_mov_b32_e32 v0, 253; GFX8V5-NEXT: flat_store_dword v[2:3], v054; GFX8V5-NEXT: s_waitcnt vmcnt(0)55; GFX8V5-NEXT: s_endpgm56;57; GFX9V4-LABEL: addrspacecast:58; GFX9V4: ; %bb.0:59; GFX9V4-NEXT: s_load_dwordx2 s[4:5], s[8:9], 0x060; GFX9V4-NEXT: s_mov_b64 s[0:1], src_private_base61; GFX9V4-NEXT: s_mov_b64 s[2:3], src_shared_base62; GFX9V4-NEXT: v_mov_b32_e32 v4, 163; GFX9V4-NEXT: s_waitcnt lgkmcnt(0)64; GFX9V4-NEXT: s_cmp_lg_u32 s4, -165; GFX9V4-NEXT: s_cselect_b32 s0, s1, 066; GFX9V4-NEXT: s_cselect_b32 s1, s4, 067; GFX9V4-NEXT: s_cmp_lg_u32 s5, -168; GFX9V4-NEXT: v_mov_b32_e32 v0, s169; GFX9V4-NEXT: v_mov_b32_e32 v1, s070; GFX9V4-NEXT: s_cselect_b32 s0, s3, 071; GFX9V4-NEXT: s_cselect_b32 s1, s5, 072; GFX9V4-NEXT: v_mov_b32_e32 v2, s173; GFX9V4-NEXT: v_mov_b32_e32 v3, s074; GFX9V4-NEXT: flat_store_dword v[0:1], v475; GFX9V4-NEXT: s_waitcnt vmcnt(0)76; GFX9V4-NEXT: v_mov_b32_e32 v0, 277; GFX9V4-NEXT: flat_store_dword v[2:3], v078; GFX9V4-NEXT: s_waitcnt vmcnt(0)79; GFX9V4-NEXT: s_endpgm80;81; GFX9V5-LABEL: addrspacecast:82; GFX9V5: ; %bb.0:83; GFX9V5-NEXT: s_load_dwordx2 s[4:5], s[8:9], 0x084; GFX9V5-NEXT: s_mov_b64 s[0:1], src_private_base85; GFX9V5-NEXT: s_mov_b64 s[2:3], src_shared_base86; GFX9V5-NEXT: v_mov_b32_e32 v4, 187; GFX9V5-NEXT: s_waitcnt lgkmcnt(0)88; GFX9V5-NEXT: s_cmp_lg_u32 s4, -189; GFX9V5-NEXT: s_cselect_b32 s0, s1, 090; GFX9V5-NEXT: s_cselect_b32 s1, s4, 091; GFX9V5-NEXT: s_cmp_lg_u32 s5, -192; GFX9V5-NEXT: v_mov_b32_e32 v0, s193; GFX9V5-NEXT: v_mov_b32_e32 v1, s094; GFX9V5-NEXT: s_cselect_b32 s0, s3, 095; GFX9V5-NEXT: s_cselect_b32 s1, s5, 096; GFX9V5-NEXT: v_mov_b32_e32 v2, s197; GFX9V5-NEXT: v_mov_b32_e32 v3, s098; GFX9V5-NEXT: flat_store_dword v[0:1], v499; GFX9V5-NEXT: s_waitcnt vmcnt(0)100; GFX9V5-NEXT: v_mov_b32_e32 v0, 2101; GFX9V5-NEXT: flat_store_dword v[2:3], v0102; GFX9V5-NEXT: s_waitcnt vmcnt(0)103; GFX9V5-NEXT: s_endpgm104 105 %flat.private = addrspacecast ptr addrspace(5) %ptr.private to ptr106 %flat.local = addrspacecast ptr addrspace(3) %ptr.local to ptr107 store volatile i32 1, ptr %flat.private108 store volatile i32 2, ptr %flat.local109 ret void110}111 112define amdgpu_kernel void @llvm_amdgcn_is_shared(ptr %ptr) #0 {113; GFX8V4-LABEL: llvm_amdgcn_is_shared:114; GFX8V4: ; %bb.0:115; GFX8V4-NEXT: s_load_dword s0, s[6:7], 0x40116; GFX8V4-NEXT: s_load_dword s1, s[8:9], 0x4117; GFX8V4-NEXT: s_waitcnt lgkmcnt(0)118; GFX8V4-NEXT: s_cmp_eq_u32 s1, s0119; GFX8V4-NEXT: s_cselect_b64 s[0:1], -1, 0120; GFX8V4-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]121; GFX8V4-NEXT: flat_store_dword v[0:1], v0122; GFX8V4-NEXT: s_waitcnt vmcnt(0)123; GFX8V4-NEXT: s_endpgm124;125; GFX8V5-LABEL: llvm_amdgcn_is_shared:126; GFX8V5: ; %bb.0:127; GFX8V5-NEXT: s_load_dword s0, s[8:9], 0xcc128; GFX8V5-NEXT: s_load_dword s1, s[8:9], 0x4129; GFX8V5-NEXT: s_waitcnt lgkmcnt(0)130; GFX8V5-NEXT: s_cmp_eq_u32 s1, s0131; GFX8V5-NEXT: s_cselect_b64 s[0:1], -1, 0132; GFX8V5-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]133; GFX8V5-NEXT: flat_store_dword v[0:1], v0134; GFX8V5-NEXT: s_waitcnt vmcnt(0)135; GFX8V5-NEXT: s_endpgm136;137; GFX9V4-LABEL: llvm_amdgcn_is_shared:138; GFX9V4: ; %bb.0:139; GFX9V4-NEXT: s_mov_b64 s[0:1], src_shared_base140; GFX9V4-NEXT: s_load_dword s0, s[8:9], 0x4141; GFX9V4-NEXT: s_waitcnt lgkmcnt(0)142; GFX9V4-NEXT: s_cmp_eq_u32 s0, s1143; GFX9V4-NEXT: s_cselect_b64 s[0:1], -1, 0144; GFX9V4-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]145; GFX9V4-NEXT: global_store_dword v[0:1], v0, off146; GFX9V4-NEXT: s_waitcnt vmcnt(0)147; GFX9V4-NEXT: s_endpgm148;149; GFX9V5-LABEL: llvm_amdgcn_is_shared:150; GFX9V5: ; %bb.0:151; GFX9V5-NEXT: s_mov_b64 s[0:1], src_shared_base152; GFX9V5-NEXT: s_load_dword s0, s[8:9], 0x4153; GFX9V5-NEXT: s_waitcnt lgkmcnt(0)154; GFX9V5-NEXT: s_cmp_eq_u32 s0, s1155; GFX9V5-NEXT: s_cselect_b64 s[0:1], -1, 0156; GFX9V5-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]157; GFX9V5-NEXT: global_store_dword v[0:1], v0, off158; GFX9V5-NEXT: s_waitcnt vmcnt(0)159; GFX9V5-NEXT: s_endpgm160 %is.shared = call i1 @llvm.amdgcn.is.shared(ptr %ptr)161 %zext = zext i1 %is.shared to i32162 store volatile i32 %zext, ptr addrspace(1) poison163 ret void164}165 166define amdgpu_kernel void @llvm_amdgcn_is_private(ptr %ptr) #0 {167; GFX8V4-LABEL: llvm_amdgcn_is_private:168; GFX8V4: ; %bb.0:169; GFX8V4-NEXT: s_load_dword s0, s[6:7], 0x44170; GFX8V4-NEXT: s_load_dword s1, s[8:9], 0x4171; GFX8V4-NEXT: s_waitcnt lgkmcnt(0)172; GFX8V4-NEXT: s_cmp_eq_u32 s1, s0173; GFX8V4-NEXT: s_cselect_b64 s[0:1], -1, 0174; GFX8V4-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]175; GFX8V4-NEXT: flat_store_dword v[0:1], v0176; GFX8V4-NEXT: s_waitcnt vmcnt(0)177; GFX8V4-NEXT: s_endpgm178;179; GFX8V5-LABEL: llvm_amdgcn_is_private:180; GFX8V5: ; %bb.0:181; GFX8V5-NEXT: s_load_dword s0, s[8:9], 0xc8182; GFX8V5-NEXT: s_load_dword s1, s[8:9], 0x4183; GFX8V5-NEXT: s_waitcnt lgkmcnt(0)184; GFX8V5-NEXT: s_cmp_eq_u32 s1, s0185; GFX8V5-NEXT: s_cselect_b64 s[0:1], -1, 0186; GFX8V5-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]187; GFX8V5-NEXT: flat_store_dword v[0:1], v0188; GFX8V5-NEXT: s_waitcnt vmcnt(0)189; GFX8V5-NEXT: s_endpgm190;191; GFX9V4-LABEL: llvm_amdgcn_is_private:192; GFX9V4: ; %bb.0:193; GFX9V4-NEXT: s_mov_b64 s[0:1], src_private_base194; GFX9V4-NEXT: s_load_dword s0, s[8:9], 0x4195; GFX9V4-NEXT: s_waitcnt lgkmcnt(0)196; GFX9V4-NEXT: s_cmp_eq_u32 s0, s1197; GFX9V4-NEXT: s_cselect_b64 s[0:1], -1, 0198; GFX9V4-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]199; GFX9V4-NEXT: global_store_dword v[0:1], v0, off200; GFX9V4-NEXT: s_waitcnt vmcnt(0)201; GFX9V4-NEXT: s_endpgm202;203; GFX9V5-LABEL: llvm_amdgcn_is_private:204; GFX9V5: ; %bb.0:205; GFX9V5-NEXT: s_mov_b64 s[0:1], src_private_base206; GFX9V5-NEXT: s_load_dword s0, s[8:9], 0x4207; GFX9V5-NEXT: s_waitcnt lgkmcnt(0)208; GFX9V5-NEXT: s_cmp_eq_u32 s0, s1209; GFX9V5-NEXT: s_cselect_b64 s[0:1], -1, 0210; GFX9V5-NEXT: v_cndmask_b32_e64 v0, 0, 1, s[0:1]211; GFX9V5-NEXT: global_store_dword v[0:1], v0, off212; GFX9V5-NEXT: s_waitcnt vmcnt(0)213; GFX9V5-NEXT: s_endpgm214 %is.private = call i1 @llvm.amdgcn.is.private(ptr %ptr)215 %zext = zext i1 %is.private to i32216 store volatile i32 %zext, ptr addrspace(1) poison217 ret void218}219 220define amdgpu_kernel void @llvm_trap() {221; GFX8V4-LABEL: llvm_trap:222; GFX8V4: ; %bb.0:223; GFX8V4-NEXT: s_mov_b64 s[0:1], s[6:7]224; GFX8V4-NEXT: s_trap 2225;226; GFX8V5-LABEL: llvm_trap:227; GFX8V5: ; %bb.0:228; GFX8V5-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0xc8229; GFX8V5-NEXT: s_waitcnt lgkmcnt(0)230; GFX8V5-NEXT: s_trap 2231;232; GFX9V4-LABEL: llvm_trap:233; GFX9V4: ; %bb.0:234; GFX9V4-NEXT: s_trap 2235;236; GFX9V5-LABEL: llvm_trap:237; GFX9V5: ; %bb.0:238; GFX9V5-NEXT: s_trap 2239 call void @llvm.trap()240 unreachable241}242 243define amdgpu_kernel void @llvm_debugtrap() {244; GFX8V4-LABEL: llvm_debugtrap:245; GFX8V4: ; %bb.0:246; GFX8V4-NEXT: s_trap 3247;248; GFX8V5-LABEL: llvm_debugtrap:249; GFX8V5: ; %bb.0:250; GFX8V5-NEXT: s_trap 3251;252; GFX9V4-LABEL: llvm_debugtrap:253; GFX9V4: ; %bb.0:254; GFX9V4-NEXT: s_trap 3255;256; GFX9V5-LABEL: llvm_debugtrap:257; GFX9V5: ; %bb.0:258; GFX9V5-NEXT: s_trap 3259 call void @llvm.debugtrap()260 unreachable261}262 263define amdgpu_kernel void @llvm_ubsantrap() {264; GFX8V4-LABEL: llvm_ubsantrap:265; GFX8V4: ; %bb.0:266; GFX8V4-NEXT: s_mov_b64 s[0:1], s[6:7]267; GFX8V4-NEXT: s_trap 2268;269; GFX8V5-LABEL: llvm_ubsantrap:270; GFX8V5: ; %bb.0:271; GFX8V5-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0xc8272; GFX8V5-NEXT: s_waitcnt lgkmcnt(0)273; GFX8V5-NEXT: s_trap 2274;275; GFX9V4-LABEL: llvm_ubsantrap:276; GFX9V4: ; %bb.0:277; GFX9V4-NEXT: s_trap 2278;279; GFX9V5-LABEL: llvm_ubsantrap:280; GFX9V5: ; %bb.0:281; GFX9V5-NEXT: s_trap 2282 call void @llvm.ubsantrap(i8 0)283 unreachable284}285 286define amdgpu_kernel void @llvm_amdgcn_queue_ptr(ptr addrspace(1) %ptr) #0 {287; GFX8V4-LABEL: llvm_amdgcn_queue_ptr:288; GFX8V4: ; %bb.0:289; GFX8V4-NEXT: v_mov_b32_e32 v0, s6290; GFX8V4-NEXT: v_mov_b32_e32 v1, s7291; GFX8V4-NEXT: s_add_u32 s0, s8, 8292; GFX8V4-NEXT: flat_load_ubyte v0, v[0:1] glc293; GFX8V4-NEXT: s_addc_u32 s1, s9, 0294; GFX8V4-NEXT: s_waitcnt vmcnt(0)295; GFX8V4-NEXT: v_mov_b32_e32 v0, s0296; GFX8V4-NEXT: v_mov_b32_e32 v1, s1297; GFX8V4-NEXT: flat_load_ubyte v0, v[0:1] glc298; GFX8V4-NEXT: s_waitcnt vmcnt(0)299; GFX8V4-NEXT: v_mov_b32_e32 v0, s4300; GFX8V4-NEXT: v_mov_b32_e32 v1, s5301; GFX8V4-NEXT: flat_load_ubyte v0, v[0:1] glc302; GFX8V4-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0303; GFX8V4-NEXT: v_mov_b32_e32 v2, s10304; GFX8V4-NEXT: v_mov_b32_e32 v3, s11305; GFX8V4-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)306; GFX8V4-NEXT: v_mov_b32_e32 v0, s0307; GFX8V4-NEXT: v_mov_b32_e32 v1, s1308; GFX8V4-NEXT: flat_store_dwordx2 v[0:1], v[2:3]309; GFX8V4-NEXT: s_waitcnt vmcnt(0)310; GFX8V4-NEXT: s_endpgm311;312; GFX8V5-LABEL: llvm_amdgcn_queue_ptr:313; GFX8V5: ; %bb.0:314; GFX8V5-NEXT: v_mov_b32_e32 v0, s6315; GFX8V5-NEXT: v_mov_b32_e32 v1, s7316; GFX8V5-NEXT: s_add_u32 s0, s8, 8317; GFX8V5-NEXT: flat_load_ubyte v0, v[0:1] glc318; GFX8V5-NEXT: s_addc_u32 s1, s9, 0319; GFX8V5-NEXT: s_waitcnt vmcnt(0)320; GFX8V5-NEXT: v_mov_b32_e32 v0, s0321; GFX8V5-NEXT: v_mov_b32_e32 v1, s1322; GFX8V5-NEXT: flat_load_ubyte v0, v[0:1] glc323; GFX8V5-NEXT: s_waitcnt vmcnt(0)324; GFX8V5-NEXT: v_mov_b32_e32 v0, s4325; GFX8V5-NEXT: v_mov_b32_e32 v1, s5326; GFX8V5-NEXT: flat_load_ubyte v0, v[0:1] glc327; GFX8V5-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0328; GFX8V5-NEXT: v_mov_b32_e32 v2, s10329; GFX8V5-NEXT: v_mov_b32_e32 v3, s11330; GFX8V5-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)331; GFX8V5-NEXT: v_mov_b32_e32 v0, s0332; GFX8V5-NEXT: v_mov_b32_e32 v1, s1333; GFX8V5-NEXT: flat_store_dwordx2 v[0:1], v[2:3]334; GFX8V5-NEXT: s_waitcnt vmcnt(0)335; GFX8V5-NEXT: s_endpgm336;337; GFX9V4-LABEL: llvm_amdgcn_queue_ptr:338; GFX9V4: ; %bb.0:339; GFX9V4-NEXT: v_mov_b32_e32 v2, 0340; GFX9V4-NEXT: global_load_ubyte v0, v2, s[6:7] glc341; GFX9V4-NEXT: global_load_ubyte v0, v2, s[8:9] offset:8 glc342; GFX9V4-NEXT: global_load_ubyte v0, v2, s[4:5] glc343; GFX9V4-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0344; GFX9V4-NEXT: s_waitcnt vmcnt(0)345; GFX9V4-NEXT: v_mov_b32_e32 v0, s10346; GFX9V4-NEXT: v_mov_b32_e32 v1, s11347; GFX9V4-NEXT: ; kill: killed $sgpr6_sgpr7348; GFX9V4-NEXT: ; kill: killed $sgpr4_sgpr5349; GFX9V4-NEXT: s_waitcnt lgkmcnt(0)350; GFX9V4-NEXT: global_store_dwordx2 v2, v[0:1], s[0:1]351; GFX9V4-NEXT: s_waitcnt vmcnt(0)352; GFX9V4-NEXT: s_endpgm353;354; GFX9V5-LABEL: llvm_amdgcn_queue_ptr:355; GFX9V5: ; %bb.0:356; GFX9V5-NEXT: v_mov_b32_e32 v2, 0357; GFX9V5-NEXT: global_load_ubyte v0, v2, s[6:7] glc358; GFX9V5-NEXT: global_load_ubyte v0, v2, s[8:9] offset:8 glc359; GFX9V5-NEXT: global_load_ubyte v0, v2, s[4:5] glc360; GFX9V5-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0361; GFX9V5-NEXT: s_waitcnt vmcnt(0)362; GFX9V5-NEXT: v_mov_b32_e32 v0, s10363; GFX9V5-NEXT: v_mov_b32_e32 v1, s11364; GFX9V5-NEXT: ; kill: killed $sgpr6_sgpr7365; GFX9V5-NEXT: ; kill: killed $sgpr4_sgpr5366; GFX9V5-NEXT: s_waitcnt lgkmcnt(0)367; GFX9V5-NEXT: global_store_dwordx2 v2, v[0:1], s[0:1]368; GFX9V5-NEXT: s_waitcnt vmcnt(0)369; GFX9V5-NEXT: s_endpgm370 %queue.ptr = call ptr addrspace(4) @llvm.amdgcn.queue.ptr()371 %implicitarg.ptr = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()372 %dispatch.ptr = call ptr addrspace(4) @llvm.amdgcn.dispatch.ptr()373 %dispatch.id = call i64 @llvm.amdgcn.dispatch.id()374 %queue.load = load volatile i8, ptr addrspace(4) %queue.ptr375 %implicitarg.load = load volatile i8, ptr addrspace(4) %implicitarg.ptr376 %dispatch.load = load volatile i8, ptr addrspace(4) %dispatch.ptr377 store volatile i64 %dispatch.id, ptr addrspace(1) %ptr378 ret void379}380 381declare noalias ptr addrspace(4) @llvm.amdgcn.queue.ptr()382declare noalias ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()383declare i64 @llvm.amdgcn.dispatch.id()384declare noalias ptr addrspace(4) @llvm.amdgcn.dispatch.ptr()385declare i1 @llvm.amdgcn.is.shared(ptr)386declare i1 @llvm.amdgcn.is.private(ptr)387declare void @llvm.trap()388declare void @llvm.debugtrap()389 390!llvm.module.flags = !{!0}391!0 = !{i32 1, !"amdhsa_code_object_version", i32 CODE_OBJECT_VERSION}392 393attributes #0 = { "amdgpu-no-flat-scratch-init" }394