brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 783a2e9 Raw
32 lines · plain
1; RUN: llc -O0 -mtriple=spirv64v1.4-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64v1.4-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-DAG: OpName %[[#GV:]] "v"5; CHECK-DAG: OpName %[[#FunBar:]] "bar"6; CHECK-DAG: OpDecorate %[[#GV]] LinkageAttributes "v" Export7; CHECK-DAG: OpDecorate %[[#GV]] Constant8; CHECK-DAG: OpDecorate %[[#Idx:]] UserSemantic "SemanticValue"9; CHECK: %[[#FunBar]] = OpFunction10; CHECK: %[[#Idx]] = OpInBoundsPtrAccessChain11 12@v = addrspace(1) global i32 0, !spirv.Decorations !013 14define spir_kernel void @foo() {15entry:16  %pv = load ptr addrspace(1), ptr addrspace(1) @v17  store i32 3, ptr addrspace(1) %pv18  ret void19}20 21define spir_kernel void @bar(ptr addrspace(1) %arg) {22entry:23  %idx = getelementptr inbounds i32, ptr addrspace(1) %arg, i64 1, !spirv.Decorations !324  ret void25}26 27!0 = !{!1, !2}28!1 = !{i32 22}                     ; 22 is Constant decoration29!2 = !{i32 41, !"v", i32 0}        ; 41 is LinkageAttributes decoration with 2 extra operands30!3 = !{!4}31!4 = !{i32 5635, !"SemanticValue"} ; 5635 is UserSemantic decoration32