aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorWei Mi <wmi@google.com>2015-04-21 22:37:09 +0000
committerWei Mi <wmi@google.com>2015-04-21 22:37:09 +0000
commit6e3344ed98a3432bf59a9d9b28b7bb869ca10912 (patch)
tree556870783df48e2aa419bbc7c3cf2f2b00c17e46 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent84e55fc5f23330b9aaa4cfcc1d1883c982a308df (diff)
downloadllvm-6e3344ed98a3432bf59a9d9b28b7bb869ca10912.zip
llvm-6e3344ed98a3432bf59a9d9b28b7bb869ca10912.tar.gz
llvm-6e3344ed98a3432bf59a9d9b28b7bb869ca10912.tar.bz2
Limiting gep merging to fix the performance problem described in
https://llvm.org/bugs/show_bug.cgi?id=23163. Gep merging sometimes behaves like a reverse CSE/LICM optimizations, which has negative impact on performance. In this patch we restrict gep merging to happen only when the indexes to be merged are both consts, which ensures such merge is always beneficial. The patch makes gep merging only happen in very restrictive cases. It is possible that some analysis/optimization passes rely on the merged geps to get better result, and we havn't notice them yet. We will be ready to further improve it once we see the cases. Differential Revision: http://reviews.llvm.org/D9007 llvm-svn: 235451
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions