Go to file
Wei Mi 6e3344ed98 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
2015-04-21 22:37:09 +00:00
clang [cuda] Added support for CUDA built-in variables. 2015-04-21 22:14:13 +00:00
clang-tools-extra [clang-tidy] Remove static StringSet in favor of binary search. 2015-04-17 13:52:08 +00:00
compiler-rt [sanitizer] Plug a memory leak in symbolization code. 2015-04-21 20:05:10 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc configure: Add --enable-runtime-subnormal option 2015-04-20 18:49:50 +00:00
libcxx Remove constexpr support for std::apply because it introduces regressions. 2015-04-19 15:32:52 +00:00
libcxxabi Declare __cxa_new_handler as extern "C", or it declares a new variable 2015-04-15 15:35:56 +00:00
lld [ELF] Change return type of the OutputSection::flags() method 2015-04-21 17:02:49 +00:00
lldb Add properties to SBExecutionContext to access the several entities it stores in a more Pythonic fashion 2015-04-21 22:09:12 +00:00
llgo [llgo] add buildbot-slave config 2015-04-08 01:41:46 +00:00
llvm Limiting gep merging to fix the performance problem described in 2015-04-21 22:37:09 +00:00
openmp updated copyright date to 2015 2015-04-16 11:10:17 +00:00
polly Remove target triples from test cases 2015-04-21 14:28:02 +00:00