@@ -249,17 +249,18 @@ static InstrSignature instrToSignature(const MachineInstr &MI,
249249 InstrSignature Signature{MI.getOpcode ()};
250250 for (unsigned i = 0 ; i < MI.getNumOperands (); ++i) {
251251 // The only decorations that can be applied more than once to a given <id>
252- // or structure member are UserSemantic(5635 ), CacheControlLoadINTEL (6442 ),
253- // and CacheControlStoreINTEL (6443). For all the rest of decorations, we
254- // will only add to the signature the Opcode, the id to which it applies ,
255- // and the decoration id, disregarding any decoration flags. This will
256- // ensure that any subsequent decoration with the same id will be deemed as
257- // a duplicate. Then, at the call site, we will be able to handle duplicates
258- // in the best way.
252+ // or structure member are FuncParamAttr (38 ), UserSemantic (5635 ),
253+ // CacheControlLoadINTEL (6442), and CacheControlStoreINTEL (6443). For all
254+ // the rest of decorations, we will only add to the signature the Opcode,
255+ // the id to which it applies, and the decoration id, disregarding any
256+ // decoration flags. This will ensure that any subsequent decoration with
257+ // the same id will be deemed as a duplicate. Then, at the call site, we
258+ // will be able to handle duplicates in the best way.
259259 unsigned Opcode = MI.getOpcode ();
260260 if ((Opcode == SPIRV::OpDecorate) && i >= 2 ) {
261261 unsigned DecorationID = MI.getOperand (1 ).getImm ();
262- if (DecorationID != SPIRV::Decoration::UserSemantic &&
262+ if (DecorationID != SPIRV::Decoration::FuncParamAttr &&
263+ DecorationID != SPIRV::Decoration::UserSemantic &&
263264 DecorationID != SPIRV::Decoration::CacheControlLoadINTEL &&
264265 DecorationID != SPIRV::Decoration::CacheControlStoreINTEL)
265266 continue ;
0 commit comments