summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2018-10-25 22:37:30 +0000
committerReid Kleckner <rnk@google.com>2018-10-25 22:37:30 +0000
commit9e9606ec187c07156ceed8b14528ae66522dac5c (patch)
tree2f5d3cbed04679a586e908c8b95cafa2e76c319e /lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
parenta0254cac4bb924d7f2e898e578156be1a246f1dd (diff)
downloadbcm5719-llvm-9e9606ec187c07156ceed8b14528ae66522dac5c.tar.gz
bcm5719-llvm-9e9606ec187c07156ceed8b14528ae66522dac5c.zip
Avoid std::map&vector in hexagon builtin code to save code size
Constructing a global std::map requires clang to generate a linear amount of code to construct the initializer list if the elements are not constexpr-constructible. std::vector is not constexpr-constructible, so this code pattern was generating large amounts of code. Also, because of PR38829, LLVM is pathologically slow on large basic blocks, and this causes slow compilation. This works around the bug and reduces code size. SemaChecking.cpp -debug-info-kind=limited: time objsize before: 1m45.023s 9.8M after: 0m25.205s 6.9M So, a 42% obj size reduction and 3.2x speedup. llvm-svn: 345329
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud