diff --git a/lib/SPIRV/SPIRVWriter.cpp b/lib/SPIRV/SPIRVWriter.cpp index a124ba48cf..f54c57cf89 100644 --- a/lib/SPIRV/SPIRVWriter.cpp +++ b/lib/SPIRV/SPIRVWriter.cpp @@ -995,13 +995,9 @@ SPIRVFunction *LLVMToSPIRVBase::transFunctionDecl(Function *F) { !isa(RuntimeAligned->getOperand(ArgNo))) IsRuntimeAligned = getMDOperandAsInt(RuntimeAligned, ArgNo); if (IsRuntimeAligned == 1) { - // TODO: to replace non-conformant to the spec decoration generation - // with: - // BM->addExtension(ExtensionID::SPV_INTEL_runtime_aligned); - // BM->addCapability(CapabilityRuntimeAlignedAttributeINTEL); - // BA->addAttr(FunctionParameterAttributeRuntimeAlignedINTEL); - BA->addDecorate(internal::DecorationRuntimeAlignedINTEL, - IsRuntimeAligned); + BM->addExtension(ExtensionID::SPV_INTEL_runtime_aligned); + BM->addCapability(CapabilityRuntimeAlignedAttributeINTEL); + BA->addAttr(FunctionParameterAttributeRuntimeAlignedINTEL); } } } diff --git a/test/extensions/INTEL/SPV_INTEL_runtime_aligned/RuntimeAligned.ll b/test/extensions/INTEL/SPV_INTEL_runtime_aligned/RuntimeAligned.ll index 13db4ef31b..7caff95844 100644 --- a/test/extensions/INTEL/SPV_INTEL_runtime_aligned/RuntimeAligned.ll +++ b/test/extensions/INTEL/SPV_INTEL_runtime_aligned/RuntimeAligned.ll @@ -16,11 +16,11 @@ ; CHECK-SPIRV: Name [[#ARGC:]] "c" ; CHECK-SPIRV: Name [[#ARGD:]] "d" ; CHECK-SPIRV: Name [[#ARGE:]] "e" -; CHECK-SPIRV: Decorate [[#ARGA]] RuntimeAlignedINTEL 1 -; CHECK-SPIRV-NOT: Decorate [[#ARGB]] RuntimeAlignedINTEL [[#]] -; CHECK-SPIRV: Decorate [[#ARGC]] RuntimeAlignedINTEL 1 -; CHECK-SPIRV-NOT: Decorate [[#ARGD]] RuntimeAlignedINTEL [[#]] -; CHECK-SPIRV-NOT: Decorate [[#ARGE]] RuntimeAlignedINTEL [[#]] +; CHECK-SPIRV: Decorate [[#ARGA]] FuncParamAttr 5940 +; CHECK-SPIRV-NOT: Decorate [[#ARGB]] FuncParamAttr 5940 +; CHECK-SPIRV: Decorate [[#ARGC]] FuncParamAttr 5940 +; CHECK-SPIRV-NOT: Decorate [[#ARGD]] FuncParamAttr 5940 +; CHECK-SPIRV-NOT: Decorate [[#ARGE]] FuncParamAttr 5940 ; CHECK-SPIRV: Function ; CHECK-SPIRV: FunctionParameter [[#]] [[#ARGA]]