Commit Graph

273 Commits

Author SHA1 Message Date
Bill Wendling
c69d56f115 r70270 isn't ready yet. Back this out. Sorry for the noise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70275 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-28 01:04:53 +00:00
Bill Wendling
2e9d5f912a 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'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
2009-04-28 00:21:31 +00:00
Torok Edwin
ff7d0e9509 Global variables don't have a corresponding llvm.dbg.declare, yet it is possible
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
2009-03-10 13:41:26 +00:00
Zhou Sheng
9b89f0de12 Ignore the debug info intrinsics when looking for dependency through basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05 01:45:43 +00:00
Dale Johannesen
0d6596b7bf Make my earlier patch to skip debug intrinsics
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
2009-03-04 01:20:34 +00:00
Dale Johannesen
4ded40a44d Instruction counters must skip the bitcasts that
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
2009-03-03 22:36:47 +00:00
Dale Johannesen
4945c65784 When removing a store to an alloca that has only one
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
2009-03-03 21:26:39 +00:00
Zhou Sheng
7e4286eb7c Ignore the debug info intrinsics when adding instructions into alias sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 06:02:04 +00:00
Dale Johannesen
1d62705847 Testcase for line number sinking in InstCombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65911 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 01:10:01 +00:00
Bill Wendling
5aa4977fba - Use the "Fast" flag instead of "OptimizeForSize" to determine whether to emit
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
2009-02-24 02:35:30 +00:00
Zhou Sheng
53977755e1 Add test case for checkin @r65314.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-23 10:15:04 +00:00
Devang Patel
f2ec7e4a20 The subprogram die may not exist while creating "default" scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 17:29:38 +00:00
Devang Patel
d5863dd9a8 Do not add redundant arguments in a method definition DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63527 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 17:51:41 +00:00
Devang Patel
d61051f703 Make this test case smaller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 17:50:43 +00:00
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
Devang Patel
5585db0c6e Enable target tripple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:40:58 +00:00
Devang Patel
de9e4ce24a Linux and other target's encoding for DW_AT_declaration may not match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63360 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:37:30 +00:00
Devang Patel
d234e59e57 Add DW_AT_declaration for class methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 01:21:46 +00:00
Dan Gohman
ef42a3b878 Give this test an explicit target, to make it host-independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63244 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 22:14:58 +00:00
Devang Patel
f923574856 Do not forget to derived type while constructing an array type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 21:08:20 +00:00
Devang Patel
ad165bec1d Assorted debug info fixes.
- 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
2009-01-27 00:45:04 +00:00
Devang Patel
e591b202b9 Fix test case. Use valid file name and directory in global variable's debug info entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 21:54:18 +00:00
Devang Patel
5e3c013f81 Do not use buggy llvm-gcc to generate testcases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62770 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 18:28:11 +00:00
Devang Patel
2a574669f3 Appropriately mark fowrad decls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62625 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 22:27:02 +00:00
Devang Patel
eeb90e3094 Need compile unit to find location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62624 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 22:26:11 +00:00
Devang Patel
0153308abf Verify Intrinsic::dbg_declare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 21:00:48 +00:00
Devang Patel
153745cc1f Do not stumble over forward declared struct member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 00:50:53 +00:00
Devang Patel
cf3a4487c0 Validate dbg_* intrinsics before lowering them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62286 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 23:41:32 +00:00
Devang Patel
0e5200f3fd Use variable's context to identify respective DbgScope.
Use light weight DebugInfo object directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 18:25:17 +00:00
Devang Patel
6fbbe4390b Use DebugInfo interface to lower dbg_* intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 00:32:17 +00:00
Torok Edwin
8019ff10aa This test passes again, unXFAIL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 09:30:47 +00:00
Bill Wendling
b8fd41985f More precise XFAIL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 22:28:23 +00:00
Bill Wendling
c6acb579f9 Un-XFAIL this test because it's passing and John doesn't seem interested in un-XFAILing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61264 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 22:25:01 +00:00
Devang Patel
965c4156a9 Xfail these tests for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61166 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 22:53:09 +00:00
Torok Edwin
367cdff0c2 add testcase for -print-dbginfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61086 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 10:10:23 +00:00
Evan Cheng
94ea5be39f Fix a couple of Dwarf bugs.
- 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
2008-12-10 00:15:44 +00:00
Devang Patel
7fe1decf3a If there are two consecutive llvm.dbg.stoppoint calls then
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
2008-11-19 18:56:50 +00:00
Devang Patel
180ffaef18 Handle (delete) dbg intrinsics while promoting alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58826 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 01:30:07 +00:00
Devang Patel
e75808cf3d Emit label for llvm.dbg.func.start of the inlined function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58814 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-06 21:28:20 +00:00
Devang Patel
20dd0460a1 Emit label for llvm.dbg.func.start of the inlined function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58786 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-06 00:30:09 +00:00
Anton Korobeynikov
3d2c131592 Testcase for PR2613
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58537 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-31 20:10:49 +00:00
Bill Wendling
a9f0cc4ced The Dwarf writer was comparing mangled and unmangled names for C++ code when we
have an unreachable block in a function. This was triggering the assert. This is
a horrid hack to cover this up.

Oh! for a good debug info architecture!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57714 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 18:48:57 +00:00
Dale Johannesen
62b9b6e38c Testcase for debug info from data-only files.
This one is x86-32-Darwin specific.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53255 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-08 21:57:56 +00:00
Gabor Greif
f6cadc440c sabre brings to my attention that the 'tr' suffix is also obsolete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 21:00:03 +00:00
Gabor Greif
722243bd40 Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 19:52:04 +00:00
Tanya Lattner
ceca194c43 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 07:21:50 +00:00
Dale Johannesen
7757fff6ae Accept getelementptr starting at GV with all 0 indices as a
legitimate way of representing global variable GV in debug info.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30 19:00:21 +00:00
Reid Spencer
cb5da4a8b6 For PR1558:
Move tests that have C/C++ sources into the appropriate directory. This
allows them to be selected for testing based on whether llvm-gcc is
present or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 06:20:38 +00:00
John Criswell
e644ef7b09 Convert .cvsignore files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-29 16:35:07 +00:00
Chris Lattner
6169f85e4a fix failure on ahs3's tester
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36791 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 20:50:35 +00:00
Reid Spencer
42e86fb1e6 For PR1319: Upgrade to new test harness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36092 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 22:37:04 +00:00
Reid Spencer
0f5aed5648 Make the llvm-runtest function much more amenable by eliminating all the
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 19:56:59 +00:00
Jeff Cohen
00361004a6 Fix some FreeBSD/amd64 regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35675 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 22:07:44 +00:00
Jim Laskey
cb69b2f0dc PR1068 - Unbounded array debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32818 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-02 11:53:52 +00:00
Reid Spencer
73e70822ae Update tests that need to be run through llvm-upgrade. This is necessary
for upcoming changes to the llvm assembly grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-29 20:01:32 +00:00
Reid Spencer
2c7df60b48 This now passes on Linux/x86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32306 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 16:28:32 +00:00
Jim Laskey
9f5776bb4d Failing linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32292 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 21:36:07 +00:00
Reid Spencer
0eb776f10b These pass on Linux now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-04 20:46:05 +00:00
Jim Laskey
d3d390f8d4 Fixed to use current debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32177 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-04 12:23:17 +00:00
Jim Laskey
56918c82de Add compile unit size test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32040 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-30 15:36:44 +00:00
Jim Laskey
ef455294f8 Correct comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32039 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-30 15:31:49 +00:00
Jim Laskey
dd347eb87e Pubnames test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32038 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-30 15:25:59 +00:00
Jim Laskey
e04bf546e0 Test for PR1013.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31886 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 21:58:02 +00:00
Jim Laskey
863ab9fbd6 XFAIL All but powerpc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31689 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 22:14:46 +00:00
Jim Laskey
44e2f8f9fa Works for PowerPC with frame pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31679 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-11 10:22:56 +00:00
Jim Laskey
a5fd380ac4 Must have a frame pointer argument fixed. Now fails on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 17:56:29 +00:00
Jim Laskey
c24300587a Must have a frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 17:51:25 +00:00
Reid Spencer
6b92592015 This is XFAILed on i[0-9]86 systems not Linux
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-10 17:47:28 +00:00
Jim Laskey
a2f996a88e Make it work on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31551 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 16:38:45 +00:00
Reid Spencer
73fb07566b XFAIL this on Linux until Jim gets Darwin ship shape.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31541 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-08 06:43:16 +00:00
Reid Spencer
65917883db Make some corrections to this test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31497 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 07:58:02 +00:00
Reid Spencer
3b0f66b502 Ignore the Output dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31496 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 07:34:56 +00:00
Reid Spencer
ea303388d9 Add a test case for making sure gdb can get a stack trace with our debug
information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31495 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-07 07:31:37 +00:00