- Apr 13, 2009
-
-
Devang Patel authored
Reapply 68847. Now debug_inlined section is covered by TAI->doesDwarfUsesInlineInfoSection(), which is false by default. llvm-svn: 68964
-
Chris Lattner authored
to support C99 inline, GNU extern inline, etc. Related bugzilla's include PR3517, PR3100, & PR2933. Nothing uses this yet, but it appears to work. llvm-svn: 68940
-
- Apr 11, 2009
-
-
Dan Gohman authored
from the assembler: Error: unknown pseudo-op: `.debug_inlined' llvm-svn: 68863
-
Devang Patel authored
Keep track of inlined functions and their locations. This information is collected when nested llvm.dbg.func.start intrinsics are seen. (Right now, inliner removes nested llvm.dbg.func.start intrinisics during inlining.) Create debug_inlined dwarf section using these information. This info is used by gdb, at least on Darwin, to enable better experience debugging inlined functions. See DwarfWriter.cpp for more information on structure of debug_inlined section. llvm-svn: 68847
-
- Apr 10, 2009
-
-
Bill Wendling authored
llvm-svn: 68747
-
Bill Wendling authored
llvm-svn: 68745
-
Bill Wendling authored
the key. This will cause it to create a new std::string, which isn't wanted. Instead, pass back the "const char*". Modify the EmitString() method to take a "const char*". llvm-svn: 68741
-
- Apr 09, 2009
-
-
Bill Wendling authored
gives a micro speedup in the Dwarf writer. llvm-svn: 68728
-
Devang Patel authored
If subprogram type is not tagged as DW_TAG_subroutine_type then use it directly as a return value type. llvm-svn: 68647
-
- Mar 25, 2009
-
-
Evan Cheng authored
llvm-svn: 67668
-
Devang Patel authored
llvm-svn: 67661
-
- Mar 13, 2009
-
-
Bill Wendling authored
llvm-svn: 66867
-
Bill Wendling authored
llvm-svn: 66866
-
- Mar 11, 2009
-
-
Bill Wendling authored
llvm-svn: 66611
-
Bill Wendling authored
llvm-svn: 66607
-
- Mar 10, 2009
-
-
Bill Wendling authored
llvm-svn: 66591
-
Bill Wendling authored
llvm-svn: 66589
-
Bill Wendling authored
llvm-svn: 66586
-
Bill Wendling authored
- Remove unused method. llvm-svn: 66585
-
Bill Wendling authored
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls GetOrCreateSourceID, of course. - Move some methods into the "private" section. Constify at least one method. - General clean-ups. llvm-svn: 66582
-
Bill Wendling authored
writing individually. llvm-svn: 66577
-
Bill Wendling authored
emit exception and debug Dwarf info. llvm-svn: 66571
-
- Mar 09, 2009
-
-
Bill Wendling authored
on the number of times a std::string is created and copied. llvm-svn: 66396
-
- Mar 07, 2009
-
-
Duncan Sands authored
and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
-
- Feb 27, 2009
-
-
Devang Patel authored
It is possible that subprgoram definition is only encoding return value directly, instsad of an DIArray of all argument types. llvm-svn: 65643
-
- Feb 25, 2009
-
-
Devang Patel authored
Print variable's display name in dwarf DIE. llvm-svn: 65468
-
Evan Cheng authored
Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior. This is a very minor compile time win. llvm-svn: 65438
-
- Feb 24, 2009
-
-
Devang Patel authored
This fixes objc.dg/dwarf-prototypes.m scan-assembler DW_AT_prototyped from llvmgcc42 test suite. llvm-svn: 65357
-
Devang Patel authored
If there is not any debug info available for any global variables and any subprograms then there is not any debug info to emit. llvm-svn: 65352
-
- Feb 20, 2009
-
-
Bill Wendling authored
- Correct comment. - Whitespace changes. llvm-svn: 65149
-
Bill Wendling authored
llvm-svn: 65092
-
- Feb 18, 2009
-
-
Devang Patel authored
llvm-svn: 64920
-
- Feb 17, 2009
-
-
Devang Patel authored
The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. Add support for two additional DWARF attributes to encode Objective-C runtime version number. llvm-svn: 64834
-
Devang Patel authored
llvm-svn: 64815
-
- Feb 10, 2009
-
-
Devang Patel authored
llvm-svn: 64204
-
- Feb 03, 2009
-
-
Bill Wendling authored
llvm-svn: 63663
-
Bill Wendling authored
llvm-svn: 63660
-
- Feb 02, 2009
-
-
Devang Patel authored
llvm-svn: 63527
-
- Jan 30, 2009
-
-
Devang Patel authored
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
-
Devang Patel authored
llvm-svn: 63358
-