1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Go to file
Devang Patel 58511a356b Each input file is encoded as a separate compile unit in LLVM debugging
information output. However, many target specific tool chains prefer to encode
only one compile unit in an object file. In this situation, the LLVM code
generator will include  debugging information entities in the compile unit 
that is marked as main compile unit. The code generator accepts maximum one main
compile unit per module. If a module does not contain any main compile unit 
then the code generator will emit multiple compile units in the output object 
file.

[Part 1]

Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit  to mark the unit as "main" unit. By defaults all units are considered  non-main.  Update SourceLevelDebugging.html to document "main" compile unit.

Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here.

Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit.

[Part 2]

Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs.

---

This is Part 1.

llvm-svn: 63400
2009-01-30 18:20:31 +00:00
autoconf Revert r62553 and r62616 due to issues with portability. 2009-01-22 20:09:20 +00:00
bindings Rename getABITypeSize to getTypePaddedSize, as 2009-01-12 20:38:59 +00:00
cmake CMake: Tests PERL availability with PERL_EXECUTABLE variable. 2009-01-22 01:20:31 +00:00
docs Each input file is encoded as a separate compile unit in LLVM debugging 2009-01-30 18:20:31 +00:00
examples reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
include Each input file is encoded as a separate compile unit in LLVM debugging 2009-01-30 18:20:31 +00:00
lib Each input file is encoded as a separate compile unit in LLVM debugging 2009-01-30 18:20:31 +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 Each input file is encoded as a separate compile unit in LLVM debugging 2009-01-30 18:20:31 +00:00
tools Add some comments. 2009-01-30 02:12:57 +00:00
unittests APInt's countLeadingOnes() was broken for negative i128 values, 2009-01-27 18:06:03 +00:00
utils Explain why this is here. 2009-01-29 23:19:43 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Fix PR3415 (infinite loop in EscapeAnalysis) by 2009-01-28 11:33:59 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake. 2009-01-28 17:49:03 +00:00
configure Regenerated configure after backing out 62553 and r62616. 2009-01-22 20:11:17 +00:00
CREDITS.TXT Adding your's truly to CREDITS.TXT 2009-01-19 15:04:29 +00:00
LICENSE.TXT Renamed Google Test license file from COPYING to LICENSE.TXT to match LLVM 2009-01-05 17:42:15 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Add targets to support the installation of clang in isolation. 2009-01-19 19:48:23 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.rules Perform optional clang building. 2009-01-24 00:00:41 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +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.