1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 22:12:47 +01:00
Go to file
Chris Lattner 83d19fba9b Add a new set of helper classes for creating and reading debug
information.  This logically replaces the "Desc" classes in
MachineModuleInfo.  Nice features of these classes are that they:

1. Are much more efficient than MMI because they don't create a 
   temporary parallel data structure for debug info that has to be
   'serialized' and 'deserialized' into/out of the module.
2. These provide a much cleaner abstraction for debug info than 
   MMI, which will make it easier to change the implementation in 
   the future (to be MDNode-based).
3. These are much easier to use than the MMI interfaces, requiring
   a lot less code in the front-ends.
4. These can be used to both create (for frontends) and read (for
   codegen) debug information.  DebugInfoBuilder can only be used
   to create the nodes.

So far, this is implemented just enough to support the debug info
generation needs of clang.  This can and should be extended to 
support the full set of debug info constructs, and we should switch
llvm-gcc and llc over to using this in the near future.

This code also has a ton of FIXMEs in it, because the way we 
currently represent debug info in LLVM IR is basically insane in a
variety of details.  This sort of issue should be fixed when we
eventually reimplement debug info on top of MDNodes.

llvm-svn: 58954
2008-11-10 02:56:27 +00:00
autoconf Add XCore backend. 2008-11-07 10:59:00 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
cmake CMake: Builds a native tblgen when cross-compiling and the user didn't 2008-11-10 02:35:55 +00:00
docs fix validation problem. 2008-11-09 17:19:14 +00:00
examples CMake: use add_llvm_example for HowToUseJIT. 2008-10-22 02:52:59 +00:00
include Add a new set of helper classes for creating and reading debug 2008-11-10 02:56:27 +00:00
lib Add a new set of helper classes for creating and reading debug 2008-11-10 02:56:27 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test The method of doing the matching with a 'select' instruction was wrong. The 2008-11-09 23:17:42 +00:00
tools CMake: Corrected detection of `nm'. 2008-11-09 20:26:31 +00:00
utils Allow $CALL and $ENV in command names. Fixes #3025. 2008-11-08 19:43:32 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 remove unavailable clang project 2008-11-08 01:02:44 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +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
CMakeLists.txt CMake: Builds a native tblgen when cross-compiling and the user didn't 2008-11-10 02:35:55 +00:00
configure Add XCore backend. 2008-11-07 10:59:00 +00:00
CREDITS.TXT Keep CREDITS.TXT sorted by name. 2008-11-07 12:44:36 +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
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Add support for Canadian Cross builds where the host executables are not 2008-10-02 22:56:44 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Use spaces rather than tab. 2008-10-22 09:42:14 +00:00
Makefile.rules Comment fix. 2008-11-03 17:33:36 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt Remove extra lines 2008-07-28 20:50: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.