diff options
author | Michael Zolotukhin <mzolotukhin@apple.com> | 2017-05-03 23:53:38 +0000 |
---|---|---|
committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2017-05-03 23:53:38 +0000 |
commit | 37162adf3eebd7b29eb73ec26d0d3bc96686be54 (patch) | |
tree | 288c7c5e21beb6e5cef4bfef75e6a21b7cb5890a /clang/lib/Frontend/PrintPreprocessedOutput.cpp | |
parent | 8e5f0409fb161977bebea83d76ad2d793affa275 (diff) | |
download | bcm5719-llvm-37162adf3eebd7b29eb73ec26d0d3bc96686be54.tar.gz bcm5719-llvm-37162adf3eebd7b29eb73ec26d0d3bc96686be54.zip |
[SCEV] createAddRecFromPHI: Optimize for the most common case.
Summary:
The existing implementation creates a symbolic SCEV expression every
time we analyze a phi node and then has to remove it, when the analysis
is finished. This is very expensive, and in most of the cases it's also
unnecessary. According to the data I collected, ~60-70% of analyzed phi
nodes (measured on SPEC) have the following form:
PN = phi(Start, OP(Self, Constant))
Handling such cases separately significantly speeds this up.
Reviewers: sanjoy, pete
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D32663
llvm-svn: 302096
Diffstat (limited to 'clang/lib/Frontend/PrintPreprocessedOutput.cpp')
0 files changed, 0 insertions, 0 deletions