summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-05-28 19:43:11 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-05-28 19:43:11 +0000
commit9551d3bad984bfcfbaa9b10f20bd5fc668fa0c93 (patch)
tree9430f3b82c4f8ca2628c922a533322ebcd20dcfd /llvm/test
parent6a55bb23073a4642923db94f56d574261b0c53c8 (diff)
downloadbcm5719-llvm-9551d3bad984bfcfbaa9b10f20bd5fc668fa0c93.tar.gz
bcm5719-llvm-9551d3bad984bfcfbaa9b10f20bd5fc668fa0c93.zip
Check the linkage cache at every recursive step.
Before this patch the linkage cache was only used by the entry level function (getLinkage). The function that does the actual computation (getLVForDecl), never looked at it. This means that we would not reuse an entry in the cache when getLVForDecl did a recursive call. This patch fixes that by adding another computation enum value for when we don't care about the linkage at all and having getLVForDecl check the cache in that case. When running "clang -cc1" over SemaExpr.ii this brings the number of linkage computations from 93749 to 58426. When running "clang -cc1 -emit-llvm -O3" it goes from 198708 to 161444. For SemaExpr.ii at least linkage computation is a small enough percentage of the work that the time difference was in the noise. When asserts are enabled this patch also causes clang to check the linkage cache even on recursive calls. llvm-svn: 182799
Diffstat (limited to 'llvm/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud