1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test
Chandler Carruth 2015da7ed2 [SROA] Apply a somewhat heavy and unpleasant hammer to fix PR22093, an
assert out of the new pre-splitting in SROA.

This fix makes the code do what was originally intended -- when we have
a store of a load both dealing in the same alloca, we force them to both
be pre-split with identical offsets. This is really quite hard to do
because we can keep discovering problems as we go along. We have to
track every load over the current alloca which for any resaon becomes
invalid for pre-splitting, and go back to remove all stores of those
loads. I've included a couple of test cases derived from PR22093 that
cover the different ways this can happen. While that PR only really
triggered the first of these two, its the same fundamental issue.

The other challenge here is documented in a FIXME now. We end up being
quite a bit more aggressive for pre-splitting when loads and stores
don't refer to the same alloca. This aggressiveness comes at the cost of
introducing potentially redundant loads. It isn't clear that this is the
right balance. It might be considerably better to require that we only
do pre-splitting when we can presplit every load and store involved in
the entire operation. That would give more consistent if conservative
results. Unfortunately, it requires a non-trivial change to the actual
pre-splitting operation in order to correctly handle cases where we end
up pre-splitting stores out-of-order. And it isn't 100% clear that this
is the right direction, although I'm starting to suspect that it is.

llvm-svn: 225149
2015-01-05 04:17:53 +00:00
..
Analysis
Assembler
Bindings [OCaml] Fix bitrot in tests. 2014-12-30 03:24:14 +00:00
Bitcode
BugPoint
CodeGen [PowerPC] Materialize i64 constants using rotation with masking 2015-01-05 03:41:38 +00:00
DebugInfo Reverting 225045 and 225043 and XFAIL multiline.ll on hexagon 2014-12-31 17:14:35 +00:00
ExecutionEngine
Feature
FileCheck
Instrumentation [asan] simplify the tracing code, make it use the same guard variables as coverage 2015-01-03 00:54:43 +00:00
Integer
JitListener
Linker Reapply "Linker: Drop superseded subprograms" 2014-12-18 01:05:33 +00:00
LTO
MC [PowerPC] Add support for the CMPB instruction 2015-01-03 01:16:37 +00:00
Object [Object] Don't crash on empty export lists. 2014-12-19 02:31:01 +00:00
Other [PM] Wire up support for explicitly running the verifier pass. 2015-01-05 00:08:53 +00:00
SymbolRewriter
TableGen
tools llvm-readobj: add support to dump COFF export tables 2015-01-03 21:35:09 +00:00
Transforms [SROA] Apply a somewhat heavy and unpleasant hammer to fix PR22093, an 2015-01-05 04:17:53 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile.tests
TestRunner.sh