[llvm] [NFC][SPIRV] Use `StringRef` by value (no `const`, no `&`) (PR #207940)

Arseniy Obolenskiy via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 7 02:16:07 PDT 2026


================
@@ -154,34 +154,33 @@ StringRef getOriginalAsmConstraints(const CallBase &CB) {
 // 32-bit integer operands with the correct format, and unpack them if necessary
 // when making string comparisons in compiler passes.
 // SPIR-V requires null-terminated UTF-8 strings padded to 32-bit alignment.
-static uint32_t convertCharsToWord(const StringRef &Str, unsigned i) {
+static uint32_t convertCharsToWord(StringRef Str, unsigned i) {
   uint32_t Word = 0u; // Padding/null bytes are zero-initialized.
   unsigned Count = std::min(static_cast<size_t>(4), Str.size() - i);
   std::memcpy(&Word, Str.data() + i, Count);
   return Word;
 }
 
 // Get length including padding and null terminator.
-static size_t getPaddedLen(const StringRef &Str) {
-  return alignTo(Str.size() + 1, 4);
-}
+static size_t getPaddedLen(StringRef Str) { return alignTo(Str.size() + 1, 4); }
 
-void addStringImm(const StringRef &Str, MCInst &Inst) {
+void addStringImm(StringRef Str, MCInst &Inst) {
   const size_t PaddedLen = getPaddedLen(Str);
   for (unsigned i = 0; i < PaddedLen; i += 4) {
     // Add an operand for the 32-bits of chars or padding.
     Inst.addOperand(MCOperand::createImm(convertCharsToWord(Str, i)));
   }
 }
 
-void addStringImm(const StringRef &Str, MachineInstrBuilder &MIB) {
+void addStringImm(StringRef Str, MachineInstrBuilder &MIB) {
   const size_t PaddedLen = getPaddedLen(Str);
   for (unsigned i = 0; i < PaddedLen; i += 4) {
     // Add an operand for the 32-bits of chars or padding.
     MIB.addImm(convertCharsToWord(Str, i));
   }
 }
 
+
----------------
aobolensk wrote:

```suggestion
```

https://github.com/llvm/llvm-project/pull/207940


More information about the llvm-commits mailing list