summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-04-01 20:30:57 +0000
committerCraig Topper <craig.topper@gmail.com>2017-04-01 20:30:57 +0000
commit278ebd2f98bd43cbf5db427cba4df660e591ff2b (patch)
tree3dd2dcc7827091621cc5f0af0ef6e1e8eb52ffdf /clang/lib/Frontend/CompilerInvocation.cpp
parent16fe5822f21c0b6de50c563fbbc8e2ba12495c22 (diff)
downloadbcm5719-llvm-278ebd2f98bd43cbf5db427cba4df660e591ff2b.tar.gz
bcm5719-llvm-278ebd2f98bd43cbf5db427cba4df660e591ff2b.zip
[APInt] Allow GreatestCommonDivisor to take rvalue inputs efficiently. Use moves instead of copies in the loop.
Summary: GreatestComonDivisor currently makes a copy of both its inputs. Then in the loop we do one move and two copies, plus any allocation the urem call does. This patch changes it to take its inputs by value so that we can do a move of any rvalue inputs instead of copying. Then in the loop we do 3 move assignments and no copies. This way the only possible allocations we have in the loop is from the urem call. Reviewers: dblaikie, RKSimon, hans Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31572 llvm-svn: 299314
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud