llvm-project/llvm
Dan Gohman eb0cee91f6 Move the point at which FastISel taps into the SelectionDAGISel
process up to a higher level. This allows FastISel to leverage
more of SelectionDAGISel's infastructure, such as updating Machine
PHI nodes.

Also, implement transitioning from SDISel back to FastISel in
the middle of a block, so it's now possible to go back and
forth. This allows FastISel to hand individual CallInsts and other
complicated things off to SDISel to handle, while handling the rest
of the block itself.

To help support this, reorganize the SelectionDAG class so that it
is allocated once and reused throughout a function, instead of
being completely reallocated for each block.

llvm-svn: 55219
2008-08-23 02:25:05 +00:00
..
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
autoconf Set the executable bit - means it can actually 2008-07-29 18:31:42 +00:00
bindings Rename some GC classes so that their roll will hopefully be clearer. 2008-08-17 18:44:35 +00:00
docs remove reference to really really old tree 2008-08-19 20:17:48 +00:00
examples Remove asmprinters from examples by default. This reduces their size by ~5% 2008-08-17 13:55:33 +00:00
include Move the point at which FastISel taps into the SelectionDAGISel 2008-08-23 02:25:05 +00:00
lib Move the point at which FastISel taps into the SelectionDAGISel 2008-08-23 02:25:05 +00:00
projects Allow the test suite to be checked out into projects/test-suite. 2008-06-24 13:01:57 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Test all currently supported atomic builtins on x86-{32,64}. 2008-08-22 22:39:21 +00:00
tools Don't silently ignore errors when opening output streams. 2008-08-21 15:33:45 +00:00
utils Move the point at which FastISel taps into the SelectionDAGISel 2008-08-23 02:25:05 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update VC++ project. 2008-08-17 19:57:31 +00:00
CREDITS.TXT Update. Remove bogus webpage. 2008-08-12 21:55:54 +00:00
LICENSE.TXT llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file. 2008-06-20 20:05:57 +00:00
Makefile For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +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 Initial checkin of the new "fast" instruction selection support. See 2008-08-13 20:19:35 +00:00
ModuleInfo.txt
README.txt Remove extra lines 2008-07-28 20:50:25 +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 Make LLVM compile on DragonFly BSD (PR2499). 2008-06-26 10:36:58 +00:00
llvm.spec.in

README.txt

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.