llvm-6502/include/llvm
Devang Patel dd9db66882 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 18:20:31 +00:00
..
ADT Fix a bug in getMaxValue/getMinValue to pass the right signedness the 2009-01-30 01:58:19 +00:00
Analysis Each input file is encoded as a separate compile unit in LLVM debugging 2009-01-30 18:20:31 +00:00
Assembly remove a dead method. 2009-01-16 20:26:53 +00:00
Bitcode Add support for writing LLVM IR to a specified BitstreamWriter. 2008-12-19 18:37:59 +00:00
CodeGen Enable emitting of constant values in non-default address space as well. The APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. 2009-01-30 04:25:10 +00:00
CompilerDriver Add three new option properties. 2009-01-28 03:47:20 +00:00
Config Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake. 2009-01-28 17:49:03 +00:00
Debugger Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
ExecutionEngine Add support for deleting a module provider from a JIT in such a way that it does not cause the owned module to be fully materialized. 2009-01-23 19:27:28 +00:00
Support Add opposite_of and inverse_opt to support -fno- style options. This 2009-01-30 08:19:46 +00:00
System rename methods in System/Host to be more consistent. 2009-01-22 19:53:00 +00:00
Target Enable emitting of constant values in non-default address space as well. The APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. 2009-01-30 04:25:10 +00:00
Transforms Adjustments to last patch based on review. 2009-01-09 01:30:11 +00:00
AbstractTypeUser.h implement simplify_type for PATypeHolder so that isa<FooType>(PATypeHolder) 2008-12-27 07:47:40 +00:00
Argument.h Don't analyze arguments already marked 'nocapture'. 2008-12-31 18:08:59 +00:00
Attributes.h Add a new Attribute::getAlignmentFromAttrs method. 2008-12-31 08:41:38 +00:00
AutoUpgrade.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
BasicBlock.h fix grammar, thanks Duncan! 2008-12-11 11:44:49 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h
Constants.h Reword the comment for ConstantInt's getLimitedValue. 2008-12-20 17:06:39 +00:00
DerivedTypes.h Assert that VectorType::getTruncatedElementVectorType is not used with 2009-01-07 23:44:27 +00:00
Function.h Add utility functions for marking parameters as noalias or nocapture. 2009-01-04 18:21:35 +00:00
GlobalAlias.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
GlobalValue.h Add the private linkage. 2009-01-15 20:18:42 +00:00
GlobalVariable.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
InlineAsm.h
InstrTypes.h
Instruction.def
Instruction.h add a new insertAfter method, patch by Tom Jablin! 2009-01-13 07:43:51 +00:00
Instructions.h Simplify the logic of getting hold of a PHI predecessor block. 2009-01-23 19:40:15 +00:00
IntrinsicInst.h reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
Intrinsics.h
Intrinsics.td add nocapture attribute to llvm.mem* intrinsics and have tblgen 2009-01-12 01:12:03 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h Fix PR3415 (infinite loop in EscapeAnalysis) by 2009-01-28 11:33:59 +00:00
LinkAllVMCore.h
Linker.h * Alphabetized system headers per the style guide 2009-01-02 20:26:30 +00:00
Module.h Add the private linkage. 2009-01-15 20:18:42 +00:00
ModuleProvider.h
OperandTraits.h
Pass.h Rename getAnalysisToUpdate to getAnalysisIfAvailable. 2009-01-28 13:14:17 +00:00
PassAnalysisSupport.h Rename getAnalysisToUpdate to getAnalysisIfAvailable. 2009-01-28 13:14:17 +00:00
PassManager.h
PassManagers.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
Use.h eliminate tabs from my previous commit 2009-01-05 16:28:14 +00:00
User.h
Value.h Comment typeo fix, thanks Duncan! 2008-12-02 18:33:11 +00:00
ValueSymbolTable.h