File spirv-llvm-translator_PR2258.patch of Package spirv-llvm-translator

From 63bafe698796b52f97ad9ed342aac1fc36680022 Mon Sep 17 00:00:00 2001
From: "Wlodarczyk, Bertrand" <bertrand.wlodarczyk@intel.com>
Date: Thu, 7 Dec 2023 05:49:07 -0800
Subject: [PATCH 1/4] Bump SPIRV-Headers to
 1c6bb2743599e6eb6f37b2969acc0aef812e32e3

---
 spirv-headers-tag.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spirv-headers-tag.conf b/spirv-headers-tag.conf
index 37d2a266a..7fae55f32 100644
--- a/spirv-headers-tag.conf
+++ b/spirv-headers-tag.conf
@@ -1 +1 @@
-cca08c63cefa129d082abca0302adcb81610b465
+1c6bb2743599e6eb6f37b2969acc0aef812e32e3

From 6ceb032ad4364d62664f9a390e9d20584973d0c1 Mon Sep 17 00:00:00 2001
From: "Maksimova, Viktoria" <viktoria.maksimova@intel.com>
Date: Fri, 8 Dec 2023 02:00:25 -0800
Subject: [PATCH 2/4] replace internal SPV_INTEL_long_composites ext with the
 published SPV_INTEL_long_composites

---
 include/LLVMSPIRVExtensions.inc                 |  2 +-
 lib/SPIRV/SPIRVWriter.cpp                       | 10 ++++------
 lib/SPIRV/libSPIRV/SPIRVEntry.h                 |  4 ++--
 lib/SPIRV/libSPIRV/SPIRVModule.cpp              |  8 ++++----
 lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h           |  2 +-
 test/SpecConstants/long-spec-const-composite.ll |  6 +++---
 test/long-constant-array.ll                     |  8 ++++----
 test/long-type-struct.ll                        |  8 ++++----
 8 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc
index 8ff153993..023b7c0cc 100644
--- a/include/LLVMSPIRVExtensions.inc
+++ b/include/LLVMSPIRVExtensions.inc
@@ -43,7 +43,7 @@ EXT(SPV_INTEL_variable_length_array)
 EXT(SPV_INTEL_fp_fast_math_mode)
 EXT(SPV_INTEL_fpga_cluster_attributes)
 EXT(SPV_INTEL_loop_fuse)
-EXT(SPV_INTEL_long_constant_composite)
+EXT(SPV_INTEL_long_composites)
 EXT(SPV_INTEL_optnone)
 EXT(SPV_INTEL_fpga_dsp_control)
 EXT(SPV_INTEL_memory_access_aliasing)
diff --git a/lib/SPIRV/SPIRVWriter.cpp b/lib/SPIRV/SPIRVWriter.cpp
index c8474f2f7..b5372fe6f 100644
--- a/lib/SPIRV/SPIRVWriter.cpp
+++ b/lib/SPIRV/SPIRVWriter.cpp
@@ -428,11 +428,10 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
     const size_t NumElements = ST->getNumElements();
     size_t SPIRVStructNumElements = NumElements;
     // In case number of elements is greater than maximum WordCount and
-    // SPV_INTEL_long_constant_composite is not enabled, the error will be
+    // SPV_INTEL_long_composites is not enabled, the error will be
     // emitted by validate functionality of SPIRVTypeStruct class.
     if (NumElements > MaxNumElements &&
-        BM->isAllowedToUseExtension(
-            ExtensionID::SPV_INTEL_long_constant_composite)) {
+        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
       SPIRVStructNumElements = MaxNumElements;
     }
 
@@ -440,8 +439,7 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
     mapType(T, Struct);
 
     if (NumElements > MaxNumElements &&
-        BM->isAllowedToUseExtension(
-            ExtensionID::SPV_INTEL_long_constant_composite)) {
+        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
       uint64_t NumOfContinuedInstructions = NumElements / MaxNumElements - 1;
       for (uint64_t J = 0; J < NumOfContinuedInstructions; J++) {
         auto *Continued = BM->addTypeStructContinuedINTEL(MaxNumElements);
@@ -1869,7 +1867,7 @@ LLVMToSPIRVBase::transValueWithoutDecoration(Value *V, SPIRVBasicBlock *BB,
         BVarInit = I->second;
     } else if (Init && !isa<UndefValue>(Init)) {
       if (!BM->isAllowedToUseExtension(
-              ExtensionID::SPV_INTEL_long_constant_composite)) {
+              ExtensionID::SPV_INTEL_long_composites)) {
         if (auto *ArrTy = dyn_cast_or_null<ArrayType>(Init->getType())) {
           // First 3 words of OpConstantComposite encode: 1) word count &
           // opcode, 2) Result Type and 3) Result Id. Max length of SPIRV
diff --git a/lib/SPIRV/libSPIRV/SPIRVEntry.h b/lib/SPIRV/libSPIRV/SPIRVEntry.h
index e5475a2be..4f07bac38 100644
--- a/lib/SPIRV/libSPIRV/SPIRVEntry.h
+++ b/lib/SPIRV/libSPIRV/SPIRVEntry.h
@@ -908,11 +908,11 @@ class SPIRVContinuedInstINTELBase : public SPIRVEntryNoId<OC> {
   }
 
   SPIRVCapVec getRequiredCapability() const override {
-    return getVec(CapabilityLongConstantCompositeINTEL);
+    return getVec(CapabilityLongCompositesINTEL);
   }
 
   std::optional<ExtensionID> getRequiredExtension() const override {
-    return ExtensionID::SPV_INTEL_long_constant_composite;
+    return ExtensionID::SPV_INTEL_long_composites;
   }
 
   SPIRVWord getNumElements() const { return Elements.size(); }
diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
index 192f27af7..d8ca7ec0e 100644
--- a/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+++ b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
@@ -1204,10 +1204,10 @@ SPIRVValue *SPIRVModuleImpl::addCompositeConstant(
   const int NumElements = Elements.size();
 
   // In case number of elements is greater than maximum WordCount and
-  // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
+  // SPV_INTEL_long_composites is not enabled, the error will be emitted
   // by validate functionality of SPIRVCompositeConstant class.
   if (NumElements <= MaxNumElements ||
-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
+      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
     return addConstant(new SPIRVConstantComposite(this, Ty, getId(), Elements));
 
   auto Start = Elements.begin();
@@ -1239,10 +1239,10 @@ SPIRVValue *SPIRVModuleImpl::addSpecConstantComposite(
   const int NumElements = Elements.size();
 
   // In case number of elements is greater than maximum WordCount and
-  // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
+  // SPV_INTEL_long_composites is not enabled, the error will be emitted
   // by validate functionality of SPIRVSpecConstantComposite class.
   if (NumElements <= MaxNumElements ||
-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
+      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
     return addConstant(
         new SPIRVSpecConstantComposite(this, Ty, getId(), Elements));
 
diff --git a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
index 6d44142d8..ae2aa3950 100644
--- a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
+++ b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
@@ -618,7 +618,7 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
   add(CapabilityGroupNonUniformRotateKHR, "GroupNonUniformRotateKHR");
   add(CapabilityAtomicFloat32AddEXT, "AtomicFloat32AddEXT");
   add(CapabilityAtomicFloat64AddEXT, "AtomicFloat64AddEXT");
-  add(CapabilityLongConstantCompositeINTEL, "LongConstantCompositeINTEL");
+  add(CapabilityLongCompositesINTEL, "LongCompositesINTEL");
   add(CapabilityOptNoneINTEL, "OptNoneINTEL");
   add(CapabilityAtomicFloat16AddEXT, "AtomicFloat16AddEXT");
   add(CapabilityDebugInfoModuleINTEL, "DebugInfoModuleINTEL");
diff --git a/test/SpecConstants/long-spec-const-composite.ll b/test/SpecConstants/long-spec-const-composite.ll
index 2b52b0cbe..2847e517e 100644
--- a/test/SpecConstants/long-spec-const-composite.ll
+++ b/test/SpecConstants/long-spec-const-composite.ll
@@ -1,5 +1,5 @@
 ; RUN: llvm-as %s -o %t.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
@@ -11,8 +11,8 @@
 target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
 target triple = "spir64-unknown-unknown"
 
-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
+; CHECK-SPIRV: Capability LongCompositesINTEL
+; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
 ; CHECK-SPIRV-DAG: Decorate [[First:[0-9]+]] SpecId  0
 ; CHECK-SPIRV-DAG: Decorate [[Last:[0-9]+]] SpecId 65548
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
diff --git a/test/long-constant-array.ll b/test/long-constant-array.ll
index 03b33771b..269c7869f 100644
--- a/test/long-constant-array.ll
+++ b/test/long-constant-array.ll
@@ -1,16 +1,16 @@
 ; RUN: llvm-as %s -o %t.bc
 ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
 
-; Check that everything is fine if SPV_INTEL_long_constant_composite is enabled
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
+; Check that everything is fine if SPV_INTEL_long_composites is enabled
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
 ; TODO: run validator once it supports the extension
 ; RUNx: spirv-val %t.spv
 
-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
+; CHECK-SPIRV: Capability LongCompositesINTEL
+; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
 ; CHECK-SPIRV: Constant {{[0-9]+}} [[ArrSize:[0-9]+]] 78000
 ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]] [[TInt]] [[ArrSize]]
diff --git a/test/long-type-struct.ll b/test/long-type-struct.ll
index 977667065..ee7686e81 100644
--- a/test/long-type-struct.ll
+++ b/test/long-type-struct.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as %s -o %t.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite -spirv-text %t.rev.bc -o %t2.spt
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites -spirv-text %t.rev.bc -o %t2.spt
 ; RUN: FileCheck --input-file=%t2.spt %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
 ; TODO: run validator once it supports the extension
@@ -10,8 +10,8 @@
 
 ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
 
-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
+; CHECK-SPIRV: Capability LongCompositesINTEL
+; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
 ; CHECK-SPIRV: TypePointer [[TIntPtr:[0-9]+]] 8 [[TInt]]
 ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]]

From 15f28e35de29b8299fed4b1c2c8e60fc3758e7a1 Mon Sep 17 00:00:00 2001
From: "Maksimova, Viktoria" <viktoria.maksimova@intel.com>
Date: Fri, 8 Dec 2023 02:57:30 -0800
Subject: [PATCH 3/4] don't rename extension for now

---
 include/LLVMSPIRVExtensions.inc                 |  2 +-
 lib/SPIRV/SPIRVWriter.cpp                       | 10 ++++++----
 lib/SPIRV/libSPIRV/SPIRVEntry.h                 |  2 +-
 lib/SPIRV/libSPIRV/SPIRVModule.cpp              |  8 ++++----
 test/SpecConstants/long-spec-const-composite.ll |  4 ++--
 test/long-constant-array.ll                     |  6 +++---
 test/long-type-struct.ll                        |  6 +++---
 7 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc
index 023b7c0cc..8ff153993 100644
--- a/include/LLVMSPIRVExtensions.inc
+++ b/include/LLVMSPIRVExtensions.inc
@@ -43,7 +43,7 @@ EXT(SPV_INTEL_variable_length_array)
 EXT(SPV_INTEL_fp_fast_math_mode)
 EXT(SPV_INTEL_fpga_cluster_attributes)
 EXT(SPV_INTEL_loop_fuse)
-EXT(SPV_INTEL_long_composites)
+EXT(SPV_INTEL_long_constant_composite)
 EXT(SPV_INTEL_optnone)
 EXT(SPV_INTEL_fpga_dsp_control)
 EXT(SPV_INTEL_memory_access_aliasing)
diff --git a/lib/SPIRV/SPIRVWriter.cpp b/lib/SPIRV/SPIRVWriter.cpp
index b5372fe6f..c8474f2f7 100644
--- a/lib/SPIRV/SPIRVWriter.cpp
+++ b/lib/SPIRV/SPIRVWriter.cpp
@@ -428,10 +428,11 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
     const size_t NumElements = ST->getNumElements();
     size_t SPIRVStructNumElements = NumElements;
     // In case number of elements is greater than maximum WordCount and
-    // SPV_INTEL_long_composites is not enabled, the error will be
+    // SPV_INTEL_long_constant_composite is not enabled, the error will be
     // emitted by validate functionality of SPIRVTypeStruct class.
     if (NumElements > MaxNumElements &&
-        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
+        BM->isAllowedToUseExtension(
+            ExtensionID::SPV_INTEL_long_constant_composite)) {
       SPIRVStructNumElements = MaxNumElements;
     }
 
@@ -439,7 +440,8 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
     mapType(T, Struct);
 
     if (NumElements > MaxNumElements &&
-        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
+        BM->isAllowedToUseExtension(
+            ExtensionID::SPV_INTEL_long_constant_composite)) {
       uint64_t NumOfContinuedInstructions = NumElements / MaxNumElements - 1;
       for (uint64_t J = 0; J < NumOfContinuedInstructions; J++) {
         auto *Continued = BM->addTypeStructContinuedINTEL(MaxNumElements);
@@ -1867,7 +1869,7 @@ LLVMToSPIRVBase::transValueWithoutDecoration(Value *V, SPIRVBasicBlock *BB,
         BVarInit = I->second;
     } else if (Init && !isa<UndefValue>(Init)) {
       if (!BM->isAllowedToUseExtension(
-              ExtensionID::SPV_INTEL_long_composites)) {
+              ExtensionID::SPV_INTEL_long_constant_composite)) {
         if (auto *ArrTy = dyn_cast_or_null<ArrayType>(Init->getType())) {
           // First 3 words of OpConstantComposite encode: 1) word count &
           // opcode, 2) Result Type and 3) Result Id. Max length of SPIRV
diff --git a/lib/SPIRV/libSPIRV/SPIRVEntry.h b/lib/SPIRV/libSPIRV/SPIRVEntry.h
index 4f07bac38..5131a2a1e 100644
--- a/lib/SPIRV/libSPIRV/SPIRVEntry.h
+++ b/lib/SPIRV/libSPIRV/SPIRVEntry.h
@@ -912,7 +912,7 @@ class SPIRVContinuedInstINTELBase : public SPIRVEntryNoId<OC> {
   }
 
   std::optional<ExtensionID> getRequiredExtension() const override {
-    return ExtensionID::SPV_INTEL_long_composites;
+    return ExtensionID::SPV_INTEL_long_constant_composite;
   }
 
   SPIRVWord getNumElements() const { return Elements.size(); }
diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
index d8ca7ec0e..192f27af7 100644
--- a/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+++ b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
@@ -1204,10 +1204,10 @@ SPIRVValue *SPIRVModuleImpl::addCompositeConstant(
   const int NumElements = Elements.size();
 
   // In case number of elements is greater than maximum WordCount and
-  // SPV_INTEL_long_composites is not enabled, the error will be emitted
+  // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
   // by validate functionality of SPIRVCompositeConstant class.
   if (NumElements <= MaxNumElements ||
-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
+      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
     return addConstant(new SPIRVConstantComposite(this, Ty, getId(), Elements));
 
   auto Start = Elements.begin();
@@ -1239,10 +1239,10 @@ SPIRVValue *SPIRVModuleImpl::addSpecConstantComposite(
   const int NumElements = Elements.size();
 
   // In case number of elements is greater than maximum WordCount and
-  // SPV_INTEL_long_composites is not enabled, the error will be emitted
+  // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
   // by validate functionality of SPIRVSpecConstantComposite class.
   if (NumElements <= MaxNumElements ||
-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
+      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
     return addConstant(
         new SPIRVSpecConstantComposite(this, Ty, getId(), Elements));
 
diff --git a/test/SpecConstants/long-spec-const-composite.ll b/test/SpecConstants/long-spec-const-composite.ll
index 2847e517e..6aaf62c2a 100644
--- a/test/SpecConstants/long-spec-const-composite.ll
+++ b/test/SpecConstants/long-spec-const-composite.ll
@@ -1,5 +1,5 @@
 ; RUN: llvm-as %s -o %t.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
@@ -12,7 +12,7 @@ target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:
 target triple = "spir64-unknown-unknown"
 
 ; CHECK-SPIRV: Capability LongCompositesINTEL
-; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
 ; CHECK-SPIRV-DAG: Decorate [[First:[0-9]+]] SpecId  0
 ; CHECK-SPIRV-DAG: Decorate [[Last:[0-9]+]] SpecId 65548
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
diff --git a/test/long-constant-array.ll b/test/long-constant-array.ll
index 269c7869f..d0b4c3b3a 100644
--- a/test/long-constant-array.ll
+++ b/test/long-constant-array.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as %s -o %t.bc
 ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
 
-; Check that everything is fine if SPV_INTEL_long_composites is enabled
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+; Check that everything is fine if SPV_INTEL_long_constant_composite is enabled
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
@@ -10,7 +10,7 @@
 ; RUNx: spirv-val %t.spv
 
 ; CHECK-SPIRV: Capability LongCompositesINTEL
-; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
 ; CHECK-SPIRV: Constant {{[0-9]+}} [[ArrSize:[0-9]+]] 78000
 ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]] [[TInt]] [[ArrSize]]
diff --git a/test/long-type-struct.ll b/test/long-type-struct.ll
index ee7686e81..90c3a3f7b 100644
--- a/test/long-type-struct.ll
+++ b/test/long-type-struct.ll
@@ -1,8 +1,8 @@
 ; RUN: llvm-as %s -o %t.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
 ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites -spirv-text %t.rev.bc -o %t2.spt
+; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite -spirv-text %t.rev.bc -o %t2.spt
 ; RUN: FileCheck --input-file=%t2.spt %s --check-prefix=CHECK-SPIRV
 ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
 ; TODO: run validator once it supports the extension
@@ -11,7 +11,7 @@
 ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
 
 ; CHECK-SPIRV: Capability LongCompositesINTEL
-; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
 ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
 ; CHECK-SPIRV: TypePointer [[TIntPtr:[0-9]+]] 8 [[TInt]]
 ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]]

From 94083a68bc771d682f6f9fb39bf8e408f310bf14 Mon Sep 17 00:00:00 2001
From: "Maksimova, Viktoria" <viktoria.maksimova@intel.com>
Date: Wed, 13 Dec 2023 05:59:04 -0800
Subject: [PATCH 4/4] add comment

---
 include/LLVMSPIRVExtensions.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc
index 8ff153993..780faec57 100644
--- a/include/LLVMSPIRVExtensions.inc
+++ b/include/LLVMSPIRVExtensions.inc
@@ -43,7 +43,8 @@ EXT(SPV_INTEL_variable_length_array)
 EXT(SPV_INTEL_fp_fast_math_mode)
 EXT(SPV_INTEL_fpga_cluster_attributes)
 EXT(SPV_INTEL_loop_fuse)
-EXT(SPV_INTEL_long_constant_composite)
+EXT(SPV_INTEL_long_constant_composite) // TODO: rename to
+                                       // SPV_INTEL_long_composites later
 EXT(SPV_INTEL_optnone)
 EXT(SPV_INTEL_fpga_dsp_control)
 EXT(SPV_INTEL_memory_access_aliasing)
openSUSE Build Service is sponsored by