summaryrefslogtreecommitdiff
path: root/test/DebugInfo
Commit message (Collapse)AuthorAge
* Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel2009-08-25
| | | | | | | | | llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
* Take another shot at disabling this when no ppc support is available.Daniel Dunbar2009-08-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79003 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark this test as requiring the powerpc target.Daniel Dunbar2009-08-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78961 91177308-0d34-0410-b5e6-96231b3b80d8
* upgradeDevang Patel2009-06-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74016 91177308-0d34-0410-b5e6-96231b3b80d8
* Use MainCU if it is available.Devang Patel2009-06-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73457 91177308-0d34-0410-b5e6-96231b3b80d8
* Gracefully handle imbalanced inline function begin and end markers.Devang Patel2009-06-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73426 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block ↵Devang Patel2009-06-13
| | | | | | | | | | | in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics. Apply defensive patch to preserve at least one lexical scope till the end of function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73282 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear AbstractInstanceRootMap at the end of the function.Devang Patel2009-06-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73244 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix broken logic in DominatorTreeBase::Split. Part of PR4238.Eli Friedman2009-05-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72231 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove too large testcase.Bill Wendling2009-05-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71730 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the bookkeeping of the debug scopes back to the place where itBill Wendling2009-05-13
| | | | | | | | | belonged. The variable declaration stuff wasn't happy with it where it was. Sorry that the testcase is so big. Bugpoint wasn't able to reduce it successfully. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71714 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore minor deletion.Mike Stump2009-05-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892 91177308-0d34-0410-b5e6-96231b3b80d8
* Second attempt:Bill Wendling2009-04-29
| | | | | | | | | | | | | Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
* r70270 isn't ready yet. Back this out. Sorry for the noise.Bill Wendling2009-04-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70275 91177308-0d34-0410-b5e6-96231b3b80d8
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-28
| | | | | | | | | | | | use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70270 91177308-0d34-0410-b5e6-96231b3b80d8
* Global variables don't have a corresponding llvm.dbg.declare, yet it is possibleTorok Edwin2009-03-10
| | | | | | | | | to obtain debug info about them. Introduce helpers to access debug info for global variables. Also introduce a helper that works for both local and global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66541 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore the debug info intrinsics when looking for dependency through basic ↵Zhou Sheng2009-03-05
| | | | | | block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66119 91177308-0d34-0410-b5e6-96231b3b80d8
* Make my earlier patch to skip debug intrinsicsDale Johannesen2009-03-04
| | | | | | | | when counting work; it was only off by 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65993 91177308-0d34-0410-b5e6-96231b3b80d8
* Instruction counters must skip the bitcasts thatDale Johannesen2009-03-03
| | | | | | | | | feed into llvm.dbg.declare nodes, as well as the debug directives themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65976 91177308-0d34-0410-b5e6-96231b3b80d8
* When removing a store to an alloca that has only oneDale Johannesen2009-03-03
| | | | | | | | | | use, check also for the case where it has two uses, the other being a llvm.dbg.declare. This is needed so debug info doesn't affect codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65970 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore the debug info intrinsics when adding instructions into alias sets.Zhou Sheng2009-03-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65934 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for line number sinking in InstCombine.Dale Johannesen2009-03-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65911 91177308-0d34-0410-b5e6-96231b3b80d8
* - Use the "Fast" flag instead of "OptimizeForSize" to determine whether to emitBill Wendling2009-02-24
| | | | | | | | | | | a DBG_LABEL or not. We want to fall back to the original way of emitting debug info when we're in -O0/-fast mode. - Add plumbing in to pass the "Fast" flag to places that need it. - XFAIL DebugInfo/deaddebuglabel.ll. This is finding 11 labels instead of 8. I need to investigate still. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65367 91177308-0d34-0410-b5e6-96231b3b80d8
* Add test case for checkin @r65314.Zhou Sheng2009-02-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65315 91177308-0d34-0410-b5e6-96231b3b80d8
* The subprogram die may not exist while creating "default" scope.Devang Patel2009-02-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64920 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not add redundant arguments in a method definition DIE.Devang Patel2009-02-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63527 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this test case smaller.Devang Patel2009-02-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63526 91177308-0d34-0410-b5e6-96231b3b80d8
* Each input file is encoded as a separate compile unit in LLVM debuggingDevang Patel2009-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Enable target tripple.Devang Patel2009-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63361 91177308-0d34-0410-b5e6-96231b3b80d8
* Linux and other target's encoding for DW_AT_declaration may not match.Devang Patel2009-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63360 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DW_AT_declaration for class methods.Devang Patel2009-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63356 91177308-0d34-0410-b5e6-96231b3b80d8
* Give this test an explicit target, to make it host-independent.Dan Gohman2009-01-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63244 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not forget to derived type while constructing an array type.Devang Patel2009-01-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63233 91177308-0d34-0410-b5e6-96231b3b80d8
* Assorted debug info fixes.Devang Patel2009-01-27
| | | | | | | | | | - DW_AT_bit_size is only suitable for bitfields. - Encode source location info for derived types. - Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63077 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test case. Use valid file name and directory in global variable's debug ↵Devang Patel2009-01-23
| | | | | | info entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62883 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use buggy llvm-gcc to generate testcases.Devang Patel2009-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62770 91177308-0d34-0410-b5e6-96231b3b80d8
* Appropriately mark fowrad decls.Devang Patel2009-01-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62625 91177308-0d34-0410-b5e6-96231b3b80d8
* Need compile unit to find location.Devang Patel2009-01-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62624 91177308-0d34-0410-b5e6-96231b3b80d8
* Verify Intrinsic::dbg_declare. Devang Patel2009-01-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62526 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not stumble over forward declared struct member. Devang Patel2009-01-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62288 91177308-0d34-0410-b5e6-96231b3b80d8
* Validate dbg_* intrinsics before lowering them.Devang Patel2009-01-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62286 91177308-0d34-0410-b5e6-96231b3b80d8
* Use variable's context to identify respective DbgScope.Devang Patel2009-01-15
| | | | | | | Use light weight DebugInfo object directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62269 91177308-0d34-0410-b5e6-96231b3b80d8
* Use DebugInfo interface to lower dbg_* intrinsics.Devang Patel2009-01-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62126 91177308-0d34-0410-b5e6-96231b3b80d8
* This test passes again, unXFAIL.Torok Edwin2009-01-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61688 91177308-0d34-0410-b5e6-96231b3b80d8
* More precise XFAIL.Bill Wendling2008-12-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61265 91177308-0d34-0410-b5e6-96231b3b80d8
* Un-XFAIL this test because it's passing and John doesn't seem interested in ↵Bill Wendling2008-12-19
| | | | | | un-XFAILing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61264 91177308-0d34-0410-b5e6-96231b3b80d8
* Xfail these tests for now.Devang Patel2008-12-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61166 91177308-0d34-0410-b5e6-96231b3b80d8
* add testcase for -print-dbginfoTorok Edwin2008-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61086 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a couple of Dwarf bugs.Evan Cheng2008-12-10
| | | | | | | | - Emit DW_AT_byte_size for struct and union of size zero. - Emit DW_AT_declaration for forward type declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60812 91177308-0d34-0410-b5e6-96231b3b80d8
* If there are two consecutive llvm.dbg.stoppoint calls thenDevang Patel2008-11-19
| | | | | | | | it is likely that the optimizer deleted code in between these two intrinsics. Keep only the last llvm.dbg.stoppoint in this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59657 91177308-0d34-0410-b5e6-96231b3b80d8