Skip to content

Commit f872048

Browse files
authored
[SPIR-V] Add W/A for readnone function parameter attribute (#7669)
This patch partially reverts KhronosGroup/SPIRV-LLVM-Translator#1697 until CPU runtime is updated. Signed-off-by: Sidorov, Dmitry <[email protected]>
1 parent cff6c68 commit f872048

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

llvm-spirv/lib/SPIRV/SPIRVWriter.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,10 @@ SPIRVFunction *LLVMToSPIRVBase::transFunctionDecl(Function *F) {
840840
if (Attrs.hasParamAttr(ArgNo, Attribute::ReadOnly))
841841
BA->addAttr(FunctionParameterAttributeNoWrite);
842842
if (Attrs.hasParamAttr(ArgNo, Attribute::ReadNone))
843-
BA->addAttr(FunctionParameterAttributeNoReadWrite);
843+
// TODO: intel/llvm customization
844+
// see https://github.com/intel/llvm/issues/7592
845+
// Need to return FunctionParameterAttributeNoReadWrite
846+
BA->addAttr(FunctionParameterAttributeNoWrite);
844847
if (Attrs.hasParamAttr(ArgNo, Attribute::ZExt))
845848
BA->addAttr(FunctionParameterAttributeZext);
846849
if (Attrs.hasParamAttr(ArgNo, Attribute::SExt))

llvm-spirv/test/transcoding/builtin_function_readnone_attr.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
; CHECK-SPIRV: Name [[#B:]] "b"
1010
; CHECK-SPIRV: Decorate [[#A]] FuncParamAttr 5
1111
; CHECK-SPIRV: Decorate [[#A]] FuncParamAttr 6
12-
; CHECK-SPIRV: Decorate [[#B]] FuncParamAttr 7
12+
; CHECK-SPIRV: Decorate [[#B]] FuncParamAttr 5
1313

14-
; CHECK-LLVM: {{.*}}void @test_builtin_readnone(ptr nocapture readonly %{{.*}}, ptr nocapture readnone %{{.*}})
14+
; CHECK-LLVM: {{.*}}void @test_builtin_readnone(ptr nocapture readonly %{{.*}}, ptr nocapture readonly %{{.*}})
1515

1616
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
1717
target triple = "spir-unknown-unknown"

0 commit comments

Comments
 (0)