Go to file
Pete Cooper d54fb89901 [Fast-ISel] Don't mark the first use of a remat constant as killed.
When emitting something like 'add x, 1000' if we remat the 1000 then we should be able to
mark the vreg containing 1000 as killed.  Given that we go bottom up in fast-isel, a later
use of 1000 will be higher up in the BB and won't kill it, or be impacted by the lower kill.

However, rematerialised constant expressions aren't generated bottom up.  The local value save area
grows downwards.  This means that if you remat 2 constant expressions which both use 1000 then the
first will kill it, then the second, which is *lower* in the BB will read a killed register.

This is the case in the attached test where the 2 GEPs both need to generate 'add x, 6680' for the constant offset.

Note that this commit only makes kill flag generation conservative.  There's nothing else obviously wrong with
the local value save area growing downwards, and in fact it needs to for handling arbitrarily complex constant expressions.

However, it would be nice if there was a solution which would let us generate more accurate kill flags, or just kill flags completely.

llvm-svn: 236922
2015-05-09 00:51:03 +00:00
clang Revert "Make emacs show when clang-format encountered a syntax error." 2015-05-08 21:34:09 +00:00
clang-tools-extra [clang-tidy] Fix for llvm.org/PR23161 2015-05-08 07:56:24 +00:00
compiler-rt [asan/fuzzer] define a dummy weak __sanitizer_cov_trace_cmp 2015-05-08 21:32:03 +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 Implement fast_normalize builtin v4 2015-05-09 00:04:12 +00:00
libcxx Fix typo in www. NFC 2015-05-08 21:11:49 +00:00
libcxxabi Typos 2015-05-08 18:14:14 +00:00
libunwind unwind: add a .clang-format 2015-05-07 19:50:18 +00:00
lld [ARM] Use the correct variable name and unbreak buildbot. 2015-05-08 16:49:18 +00:00
lldb Use hard links to link sysroot files within ModuleCache. 2015-05-08 23:54:34 +00:00
llgo [llgo] add buildbot-slave config 2015-04-08 01:41:46 +00:00
llvm [Fast-ISel] Don't mark the first use of a remat constant as killed. 2015-05-09 00:51:03 +00:00
openmp Change some text areas from saying Intel(R) OpenMP runtime library to LLVM OpenMP runtime library. 2015-05-08 17:41:32 +00:00
polly Adjust formatting to latest clang-format change 2015-05-08 16:10:53 +00:00