--- /dev/null
+From b2973ea08d2148ca8adff793439950ff9aaeb801 Mon Sep 17 00:00:00 2001
+From: Dmitry Sidorov <dmitry.sidorov@intel.com>
+Date: Wed, 3 Nov 2021 13:05:23 +0300
+Subject: [PATCH] Rename OpConstFunctionPointerINTEL to
+ OpConstantFunctionPointerINTEL
+
+Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
+---
+ lib/SPIRV/SPIRVReader.cpp | 6 +++---
+ lib/SPIRV/SPIRVWriter.cpp | 2 +-
+ lib/SPIRV/SPIRVWriter.h | 3 ++-
+ lib/SPIRV/libSPIRV/SPIRVFunction.h | 10 +++++-----
+ lib/SPIRV/libSPIRV/SPIRVModule.cpp | 11 ++++++-----
+ lib/SPIRV/libSPIRV/SPIRVModule.h | 4 ++--
+ lib/SPIRV/libSPIRV/SPIRVOpCode.h | 2 +-
+ lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h | 2 +-
+ spirv-headers-tag.conf | 2 +-
+ 9 files changed, 22 insertions(+), 20 deletions(-)
+
+diff --git a/lib/SPIRV/SPIRVReader.cpp b/lib/SPIRV/SPIRVReader.cpp
+index d23bf4395..d01af93f7 100644
+--- a/lib/SPIRV/SPIRVReader.cpp
++++ b/lib/SPIRV/SPIRVReader.cpp
+@@ -1454,9 +1454,9 @@ Value *SPIRVToLLVM::transValueWithoutDecoration(SPIRVValue *BV, Function *F,
+ return mapValue(BV, transValue(BI, nullptr, nullptr, false));
+ }
+
+- case OpConstFunctionPointerINTEL: {
+- SPIRVConstFunctionPointerINTEL *BC =
+- static_cast<SPIRVConstFunctionPointerINTEL *>(BV);
++ case OpConstantFunctionPointerINTEL: {
++ SPIRVConstantFunctionPointerINTEL *BC =
++ static_cast<SPIRVConstantFunctionPointerINTEL *>(BV);
+ SPIRVFunction *F = BC->getFunction();
+ BV->setName(F->getName());
+ return mapValue(BV, transFunction(F));
+diff --git a/lib/SPIRV/SPIRVWriter.cpp b/lib/SPIRV/SPIRVWriter.cpp
+index 6263a87a1..ce2c0bff2 100644
+--- a/lib/SPIRV/SPIRVWriter.cpp
++++ b/lib/SPIRV/SPIRVWriter.cpp
+@@ -1414,7 +1414,7 @@ LLVMToSPIRVBase::transValueWithoutDecoration(Value *V, SPIRVBasicBlock *BB,
+ if (!BM->checkExtension(ExtensionID::SPV_INTEL_function_pointers,
+ SPIRVEC_FunctionPointers, toString(V)))
+ return nullptr;
+- return BM->addConstFunctionPointerINTEL(
++ return BM->addConstantFunctionPointerINTEL(
+ transType(F->getType()),
+ static_cast<SPIRVFunction *>(transValue(F, nullptr)));
+ }
+diff --git a/lib/SPIRV/SPIRVWriter.h b/lib/SPIRV/SPIRVWriter.h
+index 08e23e333..78ba39e36 100644
+--- a/lib/SPIRV/SPIRVWriter.h
++++ b/lib/SPIRV/SPIRVWriter.h
+@@ -75,7 +75,8 @@ class LLVMToSPIRVBase {
+ // a function, that is necessary for a convenient function pointers handling.
+ // By default transValue uses 'Decl' mode, which means every function
+ // we meet during the translation should result in its declaration generated.
+- // In 'Pointer' mode we generate OpConstFunctionPointerINTEL constant instead.
++ // In 'Pointer' mode we generate OpConstantFunctionPointerINTEL constant
++ // instead.
+ enum class FuncTransMode { Decl, Pointer };
+
+ SPIRVType *transType(Type *T);
+diff --git a/lib/SPIRV/libSPIRV/SPIRVFunction.h b/lib/SPIRV/libSPIRV/SPIRVFunction.h
+index bf126d402..35cab862b 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVFunction.h
++++ b/lib/SPIRV/libSPIRV/SPIRVFunction.h
+@@ -171,18 +171,18 @@ class SPIRVFunction : public SPIRVValue, public SPIRVComponentExecutionModes {
+
+ typedef SPIRVEntryOpCodeOnly<OpFunctionEnd> SPIRVFunctionEnd;
+
+-class SPIRVConstFunctionPointerINTEL : public SPIRVValue {
+- const static Op OC = OpConstFunctionPointerINTEL;
++class SPIRVConstantFunctionPointerINTEL : public SPIRVValue {
++ const static Op OC = OpConstantFunctionPointerINTEL;
+ const static SPIRVWord FixedWordCount = 4;
+
+ public:
+- SPIRVConstFunctionPointerINTEL(SPIRVId TheId, SPIRVType *TheType,
+- SPIRVFunction *TheFunction, SPIRVModule *M)
++ SPIRVConstantFunctionPointerINTEL(SPIRVId TheId, SPIRVType *TheType,
++ SPIRVFunction *TheFunction, SPIRVModule *M)
+ : SPIRVValue(M, FixedWordCount, OC, TheType, TheId),
+ TheFunction(TheFunction->getId()) {
+ validate();
+ }
+- SPIRVConstFunctionPointerINTEL()
++ SPIRVConstantFunctionPointerINTEL()
+ : SPIRVValue(OC), TheFunction(SPIRVID_INVALID) {}
+ SPIRVFunction *getFunction() const { return get<SPIRVFunction>(TheFunction); }
+ _SPIRV_DEF_ENCDEC3(Type, Id, TheFunction)
+diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+index 9cd9249a7..afa912af8 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVModule.cpp
++++ b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+@@ -272,8 +272,8 @@ class SPIRVModuleImpl : public SPIRVModule {
+ const std::vector<SPIRVValue *> &Elements) override;
+ SPIRVEntry *addSpecConstantCompositeContinuedINTEL(
+ const std::vector<SPIRVValue *> &) override;
+- SPIRVValue *addConstFunctionPointerINTEL(SPIRVType *Ty,
+- SPIRVFunction *F) override;
++ SPIRVValue *addConstantFunctionPointerINTEL(SPIRVType *Ty,
++ SPIRVFunction *F) override;
+ SPIRVValue *addConstant(SPIRVValue *) override;
+ SPIRVValue *addConstant(SPIRVType *, uint64_t) override;
+ SPIRVValue *addConstant(SPIRVType *, llvm::APInt) override;
+@@ -1153,9 +1153,10 @@ SPIRVEntry *SPIRVModuleImpl::addSpecConstantCompositeContinuedINTEL(
+ return add(new SPIRVSpecConstantCompositeContinuedINTEL(this, Elements));
+ }
+
+-SPIRVValue *SPIRVModuleImpl::addConstFunctionPointerINTEL(SPIRVType *Ty,
+- SPIRVFunction *F) {
+- return addConstant(new SPIRVConstFunctionPointerINTEL(getId(), Ty, F, this));
++SPIRVValue *SPIRVModuleImpl::addConstantFunctionPointerINTEL(SPIRVType *Ty,
++ SPIRVFunction *F) {
++ return addConstant(
++ new SPIRVConstantFunctionPointerINTEL(getId(), Ty, F, this));
+ }
+
+ SPIRVValue *SPIRVModuleImpl::addUndef(SPIRVType *TheType) {
+diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.h b/lib/SPIRV/libSPIRV/SPIRVModule.h
+index d65e9a600..33c85289f 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVModule.h
++++ b/lib/SPIRV/libSPIRV/SPIRVModule.h
+@@ -267,8 +267,8 @@ class SPIRVModule {
+ const std::vector<SPIRVValue *> &Elements) = 0;
+ virtual SPIRVEntry *
+ addSpecConstantCompositeContinuedINTEL(const std::vector<SPIRVValue *> &) = 0;
+- virtual SPIRVValue *addConstFunctionPointerINTEL(SPIRVType *Ty,
+- SPIRVFunction *F) = 0;
++ virtual SPIRVValue *addConstantFunctionPointerINTEL(SPIRVType *Ty,
++ SPIRVFunction *F) = 0;
+ virtual SPIRVValue *addConstant(SPIRVValue *) = 0;
+ virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) = 0;
+ virtual SPIRVValue *addConstant(SPIRVType *, llvm::APInt) = 0;
+diff --git a/lib/SPIRV/libSPIRV/SPIRVOpCode.h b/lib/SPIRV/libSPIRV/SPIRVOpCode.h
+index ce5c3dfda..045f41b02 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVOpCode.h
++++ b/lib/SPIRV/libSPIRV/SPIRVOpCode.h
+@@ -227,7 +227,7 @@ inline bool isSpecConstantOpCode(Op OpCode) {
+ inline bool isConstantOpCode(Op OpCode) {
+ unsigned OC = OpCode;
+ return (OpConstantTrue <= OC && OC <= OpSpecConstantOp) || OC == OpUndef ||
+- OC == OpConstantPipeStorage || OC == OpConstFunctionPointerINTEL;
++ OC == OpConstantPipeStorage || OC == OpConstantFunctionPointerINTEL;
+ }
+
+ inline bool isModuleScopeAllowedOpCode(Op OpCode) {
+diff --git a/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h b/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h
+index 0b8267dbc..748257b9e 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h
++++ b/lib/SPIRV/libSPIRV/SPIRVOpCodeEnum.h
+@@ -344,7 +344,7 @@ _SPIRV_OP(SubgroupImageBlockReadINTEL, 5577)
+ _SPIRV_OP(SubgroupImageBlockWriteINTEL, 5578)
+ _SPIRV_OP(SubgroupImageMediaBlockReadINTEL, 5580)
+ _SPIRV_OP(SubgroupImageMediaBlockWriteINTEL, 5581)
+-_SPIRV_OP(ConstFunctionPointerINTEL, 5600)
++_SPIRV_OP(ConstantFunctionPointerINTEL, 5600)
+ _SPIRV_OP(FunctionPointerCallINTEL, 5601)
+ _SPIRV_OP(AsmTargetINTEL, 5609)
+ _SPIRV_OP(AsmINTEL, 5610)
+diff --git a/spirv-headers-tag.conf b/spirv-headers-tag.conf
+index 1ea6e6c77..bb8d1c4ec 100644
+--- a/spirv-headers-tag.conf
++++ b/spirv-headers-tag.conf
+@@ -1 +1 @@
+-ddf3230c14c71e81fc0eae9b781cc4bcc2d1f0f5
++814e728b30ddd0f4509233099a3ad96fd4318c07