summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2016-05-27 03:42:17 +0000
committerPete Cooper <peter_cooper@apple.com>2016-05-27 03:42:17 +0000
commit18e9102a852193adda32906270fc5fe0bfe73fcb (patch)
tree4875f01fdc8c340a07a955c1dff330cf49e060c7 /clang/lib/Frontend/CompilerInvocation.cpp
parent8c11fce7077a484530c7dfda2ddbe82417ae375c (diff)
downloadbcm5719-llvm-18e9102a852193adda32906270fc5fe0bfe73fcb.tar.gz
bcm5719-llvm-18e9102a852193adda32906270fc5fe0bfe73fcb.zip
Don't allocate unnecessarily in APInt::operator[+-]. NFC.
APInt::operator+(uint64_t) just forwarded to operator+(const APInt&). Constructing the APInt for the RHS takes an allocation which isn't required. Also, for APInt's in the slow path, operator+ would call add() internally which iterates over both arrays of values. Instead we can use add_1 and sub_1 which only iterate while there is something to do. Using the memory for 'opt -O2 verify-uselistorder.lto.opt.bc -o opt.bc' (see r236629 for details), this reduces the number of allocations from 23.9M to 22.7M. llvm-svn: 270959
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud