llvm/test
Chris Lattner a5ddb59a13 Start doing the significantly useful part of jump threading: handle cases
where a comparison has a phi input and that phi is a constant.  For example,
stuff like:

  Threading edge through bool from 'bb2149' to 'bb2231' with cost: 1, across block:
bb2237:		; preds = %bb2231, %bb2149
	%tmp2328.rle = phi i32 [ %tmp2232, %bb2231 ], [ %tmp2232439, %bb2149 ]		; <i32> [#uses=2]
	%done.0 = phi i32 [ %done.2, %bb2231 ], [ 0, %bb2149 ]		; <i32> [#uses=1]
	%tmp2239 = icmp eq i32 %done.0, 0		; <i1> [#uses=1]
	br i1 %tmp2239, label %bb2231, label %bb2327

or

bb38.i298:		; preds = %bb33.i295, %bb1693
	%tmp39.i296.rle = phi %struct.ibox* [ null, %bb1693 ], [ %tmp39.i296.rle1109, %bb33.i295 ]		; <%struct.ibox*> [#uses=2]
	%minspan.1.i291.reg2mem.1 = phi i32 [ 32000, %bb1693 ], [ %minspan.0.i288, %bb33.i295 ]		; <i32> [#uses=1]
	%tmp40.i297 = icmp eq %struct.ibox* %tmp39.i296.rle, null		; <i1> [#uses=1]
	br i1 %tmp40.i297, label %implfeeds.exit311, label %bb43.i301

This triggers thousands of times in spec.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 21:40:39 +00:00
..
Analysis rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
Archive
Assembler rename *.llx -> *.ll 2008-04-19 22:26:29 +00:00
Bindings/Ocaml Expose ExecutionEngine::getTargetData() to c and ocaml bindings. 2008-03-27 00:27:14 +00:00
Bitcode
BugPoint
C++Frontend Add -m32 to compilation line; test is only valid in 2008-03-10 17:56:53 +00:00
CFrontend Make these structs larger to ensure that they 2008-04-21 08:17:05 +00:00
CodeGen Implement an x86-64 ABI detail of passing structs by hidden first 2008-04-21 23:59:07 +00:00
DebugInfo Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
ExecutionEngine rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
Feature Start removing 'unwinds to' support from mainline in preparation for 2.3. 2008-04-22 05:16:02 +00:00
FrontendAda
FrontendObjC
Integer refactor handling of symbolic constant folding, picking up 2008-04-19 21:58:19 +00:00
lib Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
Linker This passes now 2008-03-10 22:34:11 +00:00
Other Keep track of analysis information inherited from Module pass manager. 2008-03-20 01:09:53 +00:00
Scripts
TableGen
Transforms Start doing the significantly useful part of jump threading: handle cases 2008-04-22 21:40:39 +00:00
Verifier Add testcase for prev. commit. Minor fixes 2008-03-22 08:37:05 +00:00
Makefile Do not pass -g flag when compiling tests, so remove the C.Flags. This only happens if you have a debug build of llvm. 2008-03-18 19:59:04 +00:00
Makefile.tests
TestRunner.sh