<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">