llvm-6502/test
Chandler Carruth 3273c8937b Rather than trying to use the loop block sequence *or* the function
block sequence when recovering from unanalyzable control flow
constructs, *always* use the function sequence. I'm not sure why I ever
went down the path of trying to use the loop sequence, it is
fundamentally not the correct sequence to use. We're trying to preserve
the incoming layout in the cases of unreasonable control flow, and that
is only encoded at the function level. We already have a filter to
select *exactly* the sub-set of blocks within the function that we're
trying to form into a chain.

The resulting code layout is also significantly better because of this.
In several places we were ending up with completely unreasonable control
flow constructs due to the ordering chosen by the loop structure for its
internal storage. This change removes a completely wasteful vector of
basic blocks, saving memory allocation in the common case even though it
costs us CPU in the fairly rare case of unnatural loops. Finally, it
fixes the latest crasher reduced out of GCC's single source. Thanks
again to Benjamin Kramer for the reduction, my bugpoint skills failed at
it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144627 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15 06:26:43 +00:00
..
Analysis Don't forget to check FlagNW when determining whether an AddRecExpr will wrap 2011-11-09 07:11:37 +00:00
Archive
Assembler Fix a typo in the bitcode reader in the handling of atomic stores. Reported by David Meyer on llvmdev. 2011-09-19 19:41:28 +00:00
Bindings/Ocaml OCaml bindings: add some missing functions and testcases. 2011-10-14 20:38:33 +00:00
Bitcode The bitcode reader can create an shuffle with a place holder mask which it will 2011-10-26 00:34:48 +00:00
BugPoint
CodeGen Rather than trying to use the loop block sequence *or* the function 2011-11-15 06:26:43 +00:00
DebugInfo The dwarf standard says that the only differences between a out-of-line 2011-11-12 01:57:54 +00:00
ExecutionEngine Excluding ARM JIT tests until someone can fix this compilation path. 2011-08-26 23:39:30 +00:00
Feature Update tests to the newest EH syntax. 2011-08-25 01:30:18 +00:00
Integer
lib 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
Linker Let this test pass even if 'int' is somewhere in its directory path. 2011-10-15 18:07:16 +00:00
MC ARM parsing datatype suffix variants for non-writeback VST1 instructions. 2011-11-14 23:43:46 +00:00
Object Move x86-specific tests into X86 folder. 2011-11-01 03:21:48 +00:00
Other Update to new EH scheme. 2011-08-31 21:44:24 +00:00
Scripts Fix the bitwidth of the remaining fields. 2011-08-04 17:00:11 +00:00
TableGen XFAIL test on leak checkers. 2011-10-24 17:24:05 +00:00
Transforms Refactor capture tracking (which already had a couple flags for whether returns 2011-11-14 22:49:42 +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
CMakeLists.txt build/cmake: Change to require Python be available. 2011-11-04 23:04:05 +00:00
lit.cfg Update lit's list of tools. 2011-11-05 16:20:52 +00:00
lit.site.cfg.in 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
Makefile 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
Makefile.tests
site.exp.in 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
TestRunner.sh