summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Format/SortImportsTestJS.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2019-09-18 18:14:42 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2019-09-18 18:14:42 +0000
commit1723364a68487c1c070ca58799a0a5c39adca85d (patch)
treef0694c4e338256372f001cc4b97bdc85ca0cacd5 /clang/unittests/Format/SortImportsTestJS.cpp
parent85e26f56cbf3e1ae3aed155b817912f02172bbef (diff)
downloadbcm5719-llvm-1723364a68487c1c070ca58799a0a5c39adca85d.tar.gz
bcm5719-llvm-1723364a68487c1c070ca58799a0a5c39adca85d.zip
Fix compile-time regression caused by rL371928
Summary: Also fixup rL371928 for cases that occur on our out-of-tree backend There were still quite a few intermediate APInts and this caused the compile time of MCCodeEmitter for our target to jump from 16s up to ~5m40s. This patch, brings it back down to ~17s by eliminating pretty much all of them using two new APInt functions (extractBitsAsZExtValue(), insertBits() but with a uint64_t). The exact conditions for eliminating them is that the field extracted/inserted must be <=64-bit which is almost always true. Note: The two new APInt API's assume that APInt::WordSize is at least 64-bit because that means they touch at most 2 APInt words. They statically assert that's true. It seems very unlikely that someone is patching it to be smaller so this should be fine. Reviewers: jmolloy Reviewed By: jmolloy Subscribers: hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67686 llvm-svn: 372243
Diffstat (limited to 'clang/unittests/Format/SortImportsTestJS.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud