<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/94372>94372</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang/utils/TableGen/ClangAttrEmitter.cpp: 2 * pointless copy ?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            tablegen,
            code-quality
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dcb314
      </td>
    </tr>
</table>

<pre>
    Static analyser cppcheck says:

1.

clang/utils/TableGen/ClangAttrEmitter.cpp:397:39: performance: Function parameter 'T' should be passed by const reference. [passedByValue]

Source code is

    DefaultSimpleArgument(const Record &Arg, StringRef Attr,
                          std::string T, int64_t Default)

Maybe better code:

 DefaultSimpleArgument(const Record &Arg, StringRef Attr,
 const std::string & T, int64_t Default)

2.

clang/utils/TableGen/ClangAttrEmitter.cpp:4997:50: performance: Function parameter 'Spelling' should be passed by const reference. [passedByValue]

Source code is

  void add(const Record &Attr, FlattenedSpelling Spelling) {

Similar thing.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VMFupDgQ_RpzKaUFBTRw4ECnlz3tJR3tdWXsatq7BrN2EYm_H7k7UXqiHDKaGQ5GpvB7r149WYZgxpmoFeVBlMdErnxxvtVqyLMiGZze2hNLNgrkLO0WyINaFnUh9R8EuQWRdyI9ivR1zXb3O2XlPArsVzY2COyf5WDpT5oF9o-x1DH7PybDTH6nlkXkXd5U11XkHSzkz85PclYUt_06KzZuhkV6ORGTB4HVs8AKwsWtVsNAsMgQSMOwgXJzYPB0Jk-zoh2I8nCrHra_pV1JlMd7rSe3ekWgnCYw4b4CAHCks1wtn8y0WOr8uE40s8D6xvJEynkNAvedHwU-wom9mccnOkNsUeDjO9LnT2Adncy7cD0JzxHFzLwv_uE3coHNvay_5DYQDBTdu8r-MIpfpfn2-0eBAvdfEYk_mYeiuQaiTL8ciNNC1ppI8_tz8eKMBqn1Z6bePITeSmaaSb_pgneBDYjq8B2XmYyVHvhi5vHVuUS3uW7yRibUZlVWlVlV1XlyaatKpkUpi2qo6XzGWjcKVUV1WadZOdR1YlpMsUj3aZHtsz3mO52XZdVUWskmTXHIRJHSJI3dWfsy7ZwfExPCSm1T5BUmVg5kw_VeQOQ4qTFOCmMyEKMfD_-v0hre4sfymPg24jwM6xhEkVoTOLwjs2FL7Y8HABAEdrA4M7OlEEC5ZQOR98nqbXthXq5XEPYC-9HwZR12yk0C-8j8-npYvPuXFAvsrw1G5luPLy1-CwAA__8mwo4O">