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 33c9ddc91d Completely rearchitect the interface between targets and the pass manager.
This pass:

1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
   output, move all this to common code, and give targets hooks they can
   implement.
3. Commonalize the target population stuff between file emission and JIT
   emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
   paves the way for "fast -O0" stuff in the CFE later, and now LLC could
   lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
   scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
   touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
   which is now orthogonal to the fact that JIT'ing is being done.

llvm-svn: 30081
2006-09-04 04:14:57 +00:00
autoconf For PR738: 2006-08-24 22:41:20 +00:00
docs Fix a typo Jim pointed out, thanks! 2006-09-01 22:01:36 +00:00
examples WriteBytecodeToFile actually can't throw. 2006-07-28 22:08:23 +00:00
include/llvm Completely rearchitect the interface between targets and the pass manager. 2006-09-04 04:14:57 +00:00
lib Completely rearchitect the interface between targets and the pass manager. 2006-09-04 04:14:57 +00:00
projects Fix a race condition in the makefile that broke grawp's tester last night. 2006-08-25 17:15:23 +00:00
runtime Describe and date modifications we made per LGPL requirements. 2006-08-08 14:47:54 +00:00
test add the SETULT condition code 2006-09-03 13:19:16 +00:00
tools Completely rearchitect the interface between targets and the pass manager. 2006-09-04 04:14:57 +00:00
utils Make sure to clear CurDefmPrefix = 0, otherwise stuff after a defm won't 2006-09-01 22:07:27 +00:00
win32 Keep Visual Studio happy. 2006-05-03 00:28:50 +00:00
Xcode Bring Xcode project up to date. 2006-08-25 14:16:49 +00:00
.cvsignore Ignore stuff built by "make dist". 2006-04-07 15:55:18 +00:00
configure For PR738: 2006-08-24 22:41:20 +00:00
CREDITS.TXT The list is sorted by name. 2006-08-29 01:42:47 +00:00
LICENSE.TXT Changing domain name 2006-04-20 05:51:53 +00:00
llvm.spec.in Minor technical correction in documentation. 2006-08-21 01:58:57 +00:00
Makefile Add .PHONY targets for building source and binary RPM packages. You can 2006-08-16 00:43:50 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Make the name of the project consistent with that specified in the 2006-08-07 23:23:39 +00:00
Makefile.rules Rearrange library linkage order. 2006-09-04 01:02:25 +00:00
README.txt Make the text of this file a little more useful. 2004-09-02 22:49:27 +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.