1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Go to file
Chris Lattner e304ae5621 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.

llvm-svn: 50110
2008-04-22 21:40:39 +00:00
autoconf Adding ocamldoc generation. 2008-03-10 15:49:16 +00:00
bindings Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
docs free(null) -> noop 2008-04-19 22:41:32 +00:00
examples Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
include Whoops! Undo r50087, unbreak the build. 2008-04-22 05:20:06 +00:00
lib Start doing the significantly useful part of jump threading: handle cases 2008-04-22 21:40:39 +00:00
projects remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Start doing the significantly useful part of jump threading: handle cases 2008-04-22 21:40:39 +00:00
tools Move MemCpyOpt after GVN. 2008-04-22 07:12:26 +00:00
utils Apple GCC 4.2 builds things differently. It no longer spawns a bunch of 2008-04-15 21:33:52 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 VisualStudio project files updated. #include <algorithm> added to make VisualStudio happy. Also had to undefine setjmp because of #include <csetjmp> turning setjmp into _setjmp in VisualStudio. 2008-04-15 21:27:11 +00:00
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Regenerate. 2008-03-10 15:49:38 +00:00
CREDITS.TXT Add Mikhail to credits file 2008-03-23 08:58:32 +00:00
LICENSE.TXT scoped_ptr.h was removed. 2008-02-09 22:50:06 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile a happier version of happiness 2008-03-21 22:17:07 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Reverting r48974. See PR2183 for details. 2008-03-31 16:46:23 +00:00
Makefile.rules Refresh Makefile.ocaml in objdir if it is modified in srcdir. 2008-03-10 15:58:40 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.