llvm/test
Chandler Carruth f5837aacd4 Rework the rewriting of loads and stores for vector and integer allocas
to properly handle the combinations of these with split integer loads
and stores. This essentially replaces Evan's r168227 by refactoring the
code in a different way, and trynig to mirror that refactoring in both
the load and store sides of the rewriting.

Generally speaking there was some really problematic duplicated code
here that led to poorly founded assumptions and then subtle bugs. Now
much of the code actually flows through and follows a more consistent
style and logical path. There is still a tiny bit of duplication on the
store side of things, but it is much less bad.

This also changes the logic to never re-use a load or store instruction
as that was simply too error prone in practice.

I've added a few tests (one a reduction of the one in Evan's original
patch, which happened to be the same as the report in PR14349). I'm
going to look at adding a few more tests for things I found and fixed in
passing (such as the volatile tests in the vectorizable predicate).

This patch has survived bootstrap, and modulo one bugfix survived
Duncan's test suite, but let me know if anything else explodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168346 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 01:12:50 +00:00
..
Analysis Phi speculation improvement for BasicAA 2012-11-17 02:33:15 +00:00
Archive Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
Assembler Preserve address space of forward-referenced global variables in the LL parser 2012-11-16 21:03:47 +00:00
Bindings/Ocaml Move TargetData to DataLayout. 2012-10-08 16:39:34 +00:00
Bitcode Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
BugPoint Fix unexpected passes. These test do work with LTO on linux. I tested both 2012-10-26 02:19:02 +00:00
CodeGen Factor out type info emission into separate routine. 2012-11-19 21:06:26 +00:00
DebugInfo Add a relocation visitor to lib object. This works via caching relocated 2012-11-07 23:22:07 +00:00
ExecutionEngine Enable MCJIT tests on PowerPC. 2012-11-19 17:57:07 +00:00
Feature Change ForceSizeOpt attribute into MinSize attribute 2012-10-30 16:32:52 +00:00
FileCheck Add some tests for the FileCheck utility. 2012-11-15 23:42:51 +00:00
Instrumentation tsan: switch to new memory_order constants (ABI compatible) 2012-11-09 14:12:16 +00:00
Integer Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
Linker Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
MC This patch is in preparation for adding medium code model support to the 2012-11-14 23:23:27 +00:00
Object numerically sort the symbols, so that the testcase result is uniform 2012-11-13 21:01:11 +00:00
Other Revert r167836, "llvm/test/Other/close-stderr.ll: Mark it as XFAIL:mingw32 for now.", corresponding to r167849. 2012-11-13 21:57:42 +00:00
Scripts Added program header emission 2012-11-16 20:51:32 +00:00
TableGen Re-work bit/bits value resolving in tblgen 2012-09-06 23:32:48 +00:00
Transforms Rework the rewriting of loads and stores for vector and integer allocas 2012-11-20 01:12:50 +00:00
Unit tests: Rip out a bunch of now unused test code relating to use of llvm-gcc in LLVM tests. 2011-10-27 20:59:26 +00:00
Verifier Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
YAMLParser Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
CMakeLists.txt [CMake] Add llvm-mcmarkup to check-llvm. 2012-11-01 02:13:50 +00:00
lit.cfg llvm/test/lit.cfg: Don't use mcjit to ppc32 yet, not ready. 2012-11-01 14:28:51 +00:00
lit.site.cfg.in test: Add a lit config variable to check if LTO is enabled. 2012-10-18 20:43:11 +00:00
Makefile test: Add a lit config variable to check if LTO is enabled. 2012-10-18 20:43:11 +00:00
Makefile.tests
TestRunner.sh