Go to file
Hiroshi Yamauchi 9364432cec Unmerge GEPs to reduce register pressure on IndirectBr edges.
Summary:
GEP merging can sometimes increase the number of live values and register
pressure across control edges and cause performance problems particularly if the
increased register pressure results in spills.

This change implements GEP unmerging around an IndirectBr in certain cases to
mitigate the issue. This is in the CodeGenPrepare pass (after all the GEP
merging has happened.)

With this patch, the Python interpreter loop runs faster by ~5%.

Reviewers: sanjoy, hfinkel

Reviewed By: hfinkel

Subscribers: eastig, junbuml, llvm-commits

Differential Revision: https://reviews.llvm.org/D36772

llvm-svn: 312930
2017-09-11 17:52:08 +00:00
clang clang-format: [JS] wrap and indent `goog.setTestOnly` calls. 2017-09-11 15:22:52 +00:00
clang-tools-extra [clang-tidy] FunctionSizeCheck: wrap FunctionASTVisitor into anon namespace, NFC 2017-09-11 13:12:31 +00:00
compiler-rt [asan] Fix tests broken by r312858 2017-09-09 20:07:45 +00:00
debuginfo-tests Restrict debuginfo-tests to native configurations. 2017-09-08 17:10:48 +00:00
libclc integer: Add popcount implementation using ctpop intrinsic 2017-09-09 02:23:54 +00:00
libcxx Add include of <string> to <system_error>, since things in there return strings. Fixes PR#34529. 2017-09-11 16:05:42 +00:00
libcxxabi Revert "[libcxxabi] When built with ASan, __cxa_throw calls __asan_handle_no_return" 2017-09-06 03:00:42 +00:00
libunwind Revert r312240 2017-08-31 15:51:23 +00:00
lld LLD: Introduce a GNU LD style driver for COFF 2017-09-11 17:02:59 +00:00
lldb Plugins: fix resolution ambiguity in PDB plugin 2017-09-09 00:13:49 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Unmerge GEPs to reduce register pressure on IndirectBr edges. 2017-09-11 17:52:08 +00:00
openmp Read blocktime value set by kmp_set_blocktime() before reading from KMP_BLOCKTIME 2017-09-05 15:45:48 +00:00
parallel-libs
polly Unroll and separate the remaining parts of isolation 2017-09-11 17:46:47 +00:00