Using and std::map<SmallString, SmallString> for target dependent attributes is inefficient: it makes its constructor slightly heavier, and involves extra allocation for each new string attribute. Storing the attribute key/value as strings implies extra allocation/copy step. Use a sorted vector instead. Given the low number of attributes generally involved, this is cheaper, as showcased by https://llvm-compile-time-tracker.com/compare.php?from=5de322295f4ade692dc4f1823ae4450ad3c48af2&to=05bc480bf641a9e3b466619af43a2d123ee3f71d&stat=instructions Differential Revision: https://reviews.llvm.org/D116599 |
||
|---|---|---|
| .. | ||
| BugDriver.cpp | ||
| BugDriver.h | ||
| CMakeLists.txt | ||
| CrashDebugger.cpp | ||
| ExecutionDriver.cpp | ||
| ExtractFunction.cpp | ||
| FindBugs.cpp | ||
| ListReducer.h | ||
| Miscompilation.cpp | ||
| OptimizerDriver.cpp | ||
| ToolRunner.cpp | ||
| ToolRunner.h | ||
| bugpoint.cpp | ||