Devang Patel
10c075a316
Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.
...
llvm-svn: 80073
2009-08-26 05:01:18 +00:00
Torok Edwin
b3aea7de1a
Remove target triple from this test, it fails on x86-64 with
...
--enable-targets=host-only otherwise.
llvm-svn: 80000
2009-08-25 16:53:15 +00:00
Dan Gohman
bf08e82d8e
Remove obsolete -f flags.
...
llvm-svn: 79992
2009-08-25 15:38:29 +00:00
Devang Patel
7d42bfab6c
Update DebugInfo interface to use metadata, instead of special named 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!)
llvm-svn: 79977
2009-08-25 05:24:07 +00:00
Daniel Dunbar
25de7e6381
Take another shot at disabling this when no ppc support is available.
...
llvm-svn: 79003
2009-08-14 16:40:12 +00:00
Daniel Dunbar
7ec00fb400
Mark this test as requiring the powerpc target.
...
llvm-svn: 78961
2009-08-13 23:47:58 +00:00
Devang Patel
13317bfc64
upgrade
...
llvm-svn: 74016
2009-06-23 22:11:37 +00:00
Devang Patel
5941941827
Use MainCU if it is available.
...
llvm-svn: 73457
2009-06-16 02:09:30 +00:00
Devang Patel
1fb2606b12
Gracefully handle imbalanced inline function begin and end markers.
...
llvm-svn: 73426
2009-06-15 21:45:50 +00:00
Devang Patel
bcc1187643
llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block 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.
llvm-svn: 73282
2009-06-13 02:16:18 +00:00
Devang Patel
8d9aa4249a
Clear AbstractInstanceRootMap at the end of the function.
...
llvm-svn: 73244
2009-06-12 19:24:05 +00:00
Eli Friedman
b32b64b5b4
Fix broken logic in DominatorTreeBase::Split. Part of PR4238.
...
llvm-svn: 72231
2009-05-21 21:47:54 +00:00
Bill Wendling
c76422f45d
Remove too large testcase.
...
llvm-svn: 71730
2009-05-13 21:51:26 +00:00
Bill Wendling
35584a26be
Move the bookkeeping of the debug scopes back to the place where it
...
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.
llvm-svn: 71714
2009-05-13 20:33:33 +00:00
Argyrios Kyrtzidis
fb958c2b09
-Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors.
...
-Depend on DebugLocs for source line info.
(Comes with Regression-Be-Gone(tm))
llvm-svn: 70871
2009-05-04 16:23:49 +00:00
Argyrios Kyrtzidis
e68261749e
Revert r70803 for now, it causes a regression.
...
llvm-svn: 70811
2009-05-03 23:27:19 +00:00
Argyrios Kyrtzidis
bb6e4d027c
-Remove the DwarfWriter::RecordSourceLine calls from the instruction selectors.
...
-Depend on DebugLocs for source line info.
llvm-svn: 70803
2009-05-03 22:03:35 +00:00
Bill Wendling
7546bed590
Second attempt:
...
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.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00
Bill Wendling
ef47ace92f
r70270 isn't ready yet. Back this out. Sorry for the noise.
...
llvm-svn: 70275
2009-04-28 01:04:53 +00:00
Bill Wendling
2799e916c3
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...
llvm-svn: 70270
2009-04-28 00:21:31 +00:00
Torok Edwin
3324e1f491
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.
llvm-svn: 66541
2009-03-10 13:41:26 +00:00
Zhou Sheng
cfe68231e7
Ignore the debug info intrinsics when looking for dependency through basic block.
...
llvm-svn: 66119
2009-03-05 01:45:43 +00:00
Dale Johannesen
a6f7a45366
Make my earlier patch to skip debug intrinsics
...
when counting work; it was only off by 1.
llvm-svn: 65993
2009-03-04 01:20:34 +00:00
Dale Johannesen
81b6cd8ce5
Instruction counters must skip the bitcasts that
...
feed into llvm.dbg.declare nodes, as well as
the debug directives themselves.
llvm-svn: 65976
2009-03-03 22:36:47 +00:00
Dale Johannesen
ceed180d4c
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.
llvm-svn: 65970
2009-03-03 21:26:39 +00:00
Zhou Sheng
1e7e86fec4
Ignore the debug info intrinsics when adding instructions into alias sets.
...
llvm-svn: 65934
2009-03-03 06:02:04 +00:00
Dale Johannesen
04fe3500c1
Testcase for line number sinking in InstCombine.
...
llvm-svn: 65911
2009-03-03 01:10:01 +00:00
Bill Wendling
0d8316c5e0
- 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.
llvm-svn: 65367
2009-02-24 02:35:30 +00:00
Zhou Sheng
39e360095e
Add test case for checkin @r65314.
...
llvm-svn: 65315
2009-02-23 10:15:04 +00:00
Devang Patel
bf7153b721
The subprogram die may not exist while creating "default" scope.
...
llvm-svn: 64920
2009-02-18 17:29:38 +00:00
Devang Patel
7f2ea2d067
Do not add redundant arguments in a method definition DIE.
...
llvm-svn: 63527
2009-02-02 17:51:41 +00:00
Devang Patel
cd95bc2100
Make this test case smaller.
...
llvm-svn: 63526
2009-02-02 17:50:43 +00:00
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
Devang Patel
ca20526bb9
Enable target tripple.
...
llvm-svn: 63361
2009-01-30 01:40:58 +00:00
Devang Patel
ad24df0a36
Linux and other target's encoding for DW_AT_declaration may not match.
...
llvm-svn: 63360
2009-01-30 01:37:30 +00:00
Devang Patel
779653b60e
Add DW_AT_declaration for class methods.
...
llvm-svn: 63356
2009-01-30 01:21:46 +00:00
Dan Gohman
86c17b5644
Give this test an explicit target, to make it host-independent.
...
llvm-svn: 63244
2009-01-28 22:14:58 +00:00
Devang Patel
be2267211f
Do not forget to derived type while constructing an array type.
...
llvm-svn: 63233
2009-01-28 21:08:20 +00:00
Devang Patel
4353517ac4
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.
llvm-svn: 63077
2009-01-27 00:45:04 +00:00
Devang Patel
a19a3f5f32
Fix test case. Use valid file name and directory in global variable's debug info entry.
...
llvm-svn: 62883
2009-01-23 21:54:18 +00:00
Devang Patel
386023e3f0
Do not use buggy llvm-gcc to generate testcases.
...
llvm-svn: 62770
2009-01-22 18:28:11 +00:00
Devang Patel
bb4362571a
Appropriately mark fowrad decls.
...
llvm-svn: 62625
2009-01-20 22:27:02 +00:00
Devang Patel
fd1fff7178
Need compile unit to find location.
...
llvm-svn: 62624
2009-01-20 22:26:11 +00:00
Devang Patel
50ac518b6c
Verify Intrinsic::dbg_declare.
...
llvm-svn: 62526
2009-01-19 21:00:48 +00:00
Devang Patel
f0e1e4cc51
Do not stumble over forward declared struct member.
...
llvm-svn: 62288
2009-01-16 00:50:53 +00:00
Devang Patel
1ee58c7d8c
Validate dbg_* intrinsics before lowering them.
...
llvm-svn: 62286
2009-01-15 23:41:32 +00:00
Devang Patel
307fac7f3a
Use variable's context to identify respective DbgScope.
...
Use light weight DebugInfo object directly.
llvm-svn: 62269
2009-01-15 18:25:17 +00:00
Devang Patel
6d7fd4b913
Use DebugInfo interface to lower dbg_* intrinsics.
...
llvm-svn: 62126
2009-01-13 00:32:17 +00:00
Torok Edwin
e97eb75c44
This test passes again, unXFAIL.
...
llvm-svn: 61688
2009-01-05 09:30:47 +00:00
Bill Wendling
3632d60482
More precise XFAIL.
...
llvm-svn: 61265
2008-12-19 22:28:23 +00:00
Bill Wendling
1bbcac82ce
Un-XFAIL this test because it's passing and John doesn't seem interested in un-XFAILing it.
...
llvm-svn: 61264
2008-12-19 22:25:01 +00:00
Devang Patel
c500dff638
Xfail these tests for now.
...
llvm-svn: 61166
2008-12-17 22:53:09 +00:00
Torok Edwin
453ef5b57c
add testcase for -print-dbginfo
...
llvm-svn: 61086
2008-12-16 10:10:23 +00:00
Evan Cheng
9419dfe08a
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.
llvm-svn: 60812
2008-12-10 00:15:44 +00:00
Devang Patel
cd2e68c069
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.
llvm-svn: 59657
2008-11-19 18:56:50 +00:00
Devang Patel
0958cd6437
Handle (delete) dbg intrinsics while promoting alloca.
...
llvm-svn: 58826
2008-11-07 01:30:07 +00:00
Devang Patel
8640fd500a
Emit label for llvm.dbg.func.start of the inlined function.
...
llvm-svn: 58814
2008-11-06 21:28:20 +00:00
Devang Patel
ec135e1f33
Emit label for llvm.dbg.func.start of the inlined function.
...
llvm-svn: 58786
2008-11-06 00:30:09 +00:00
Anton Korobeynikov
f3b4466215
Testcase for PR2613
...
llvm-svn: 58537
2008-10-31 20:10:49 +00:00
Bill Wendling
39b0625fe0
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!
llvm-svn: 57714
2008-10-17 18:48:57 +00:00
Dale Johannesen
fee6f32586
Testcase for debug info from data-only files.
...
This one is x86-32-Darwin specific.
llvm-svn: 53255
2008-07-08 21:57:56 +00:00
Gabor Greif
807c2df887
sabre brings to my attention that the 'tr' suffix is also obsolete
...
llvm-svn: 51349
2008-05-20 21:00:03 +00:00
Gabor Greif
d8a4dbb5da
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.
...
llvm-svn: 51328
2008-05-20 19:52:04 +00:00
Tanya Lattner
8ac346c316
Remove llvm-upgrade and update tests.
...
llvm-svn: 48137
2008-03-10 07:21:50 +00:00
Dale Johannesen
916037c01a
Accept getelementptr starting at GV with all 0 indices as a
...
legitimate way of representing global variable GV in debug info.
llvm-svn: 46565
2008-01-30 19:00:21 +00:00
Reid Spencer
175fd0a317
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.
llvm-svn: 39963
2007-07-17 06:20:38 +00:00
John Criswell
57e5ed4b5a
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Chris Lattner
46a0e3ca4c
fix failure on ahs3's tester
...
llvm-svn: 36791
2007-05-05 20:50:35 +00:00
Reid Spencer
6ddb18a685
For PR1319: Upgrade to new test harness.
...
llvm-svn: 36092
2007-04-15 22:37:04 +00:00
Reid Spencer
56b310ae49
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.
llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Jeff Cohen
6a9efef91d
Fix some FreeBSD/amd64 regressions.
...
llvm-svn: 35675
2007-04-04 22:07:44 +00:00
Jim Laskey
949413403e
PR1068 - Unbounded array debug info.
...
llvm-svn: 32818
2007-01-02 11:53:52 +00:00
Reid Spencer
c3c82c41aa
Update tests that need to be run through llvm-upgrade. This is necessary
...
for upcoming changes to the llvm assembly grammar.
llvm-svn: 32768
2006-12-29 20:01:32 +00:00
Reid Spencer
2b36461d7e
This now passes on Linux/x86
...
llvm-svn: 32306
2006-12-07 16:28:32 +00:00
Jim Laskey
1eef2857fd
Failing linux.
...
llvm-svn: 32292
2006-12-06 21:36:07 +00:00
Reid Spencer
c8833bfcb7
These pass on Linux now.
...
llvm-svn: 32195
2006-12-04 20:46:05 +00:00
Jim Laskey
6ba00a0883
Fixed to use current debug info.
...
llvm-svn: 32177
2006-12-04 12:23:17 +00:00
Jim Laskey
662a7c96eb
Add compile unit size test
...
llvm-svn: 32040
2006-11-30 15:36:44 +00:00
Jim Laskey
733a864c97
Correct comment
...
llvm-svn: 32039
2006-11-30 15:31:49 +00:00
Jim Laskey
ae62bc1bb9
Pubnames test
...
llvm-svn: 32038
2006-11-30 15:25:59 +00:00
Jim Laskey
b213b709c3
Test for PR1013.
...
llvm-svn: 31886
2006-11-20 21:58:02 +00:00
Jim Laskey
d4e953e046
XFAIL All but powerpc
...
llvm-svn: 31689
2006-11-11 22:14:46 +00:00
Jim Laskey
371e2d4641
Works for PowerPC with frame pointers.
...
llvm-svn: 31679
2006-11-11 10:22:56 +00:00
Jim Laskey
0f87e147f8
Must have a frame pointer argument fixed. Now fails on PowerPC.
...
llvm-svn: 31639
2006-11-10 17:56:29 +00:00
Jim Laskey
a3f992c804
Must have a frame pointer.
...
llvm-svn: 31638
2006-11-10 17:51:25 +00:00
Reid Spencer
01c3ecd9ed
This is XFAILed on i[0-9]86 systems not Linux
...
llvm-svn: 31636
2006-11-10 17:47:28 +00:00
Jim Laskey
238ccb3f16
Make it work on Darwin.
...
llvm-svn: 31551
2006-11-08 16:38:45 +00:00
Reid Spencer
907d191104
XFAIL this on Linux until Jim gets Darwin ship shape.
...
llvm-svn: 31541
2006-11-08 06:43:16 +00:00
Reid Spencer
e3c204efe1
Make some corrections to this test case.
...
llvm-svn: 31497
2006-11-07 07:58:02 +00:00
Reid Spencer
eb8c2a3a48
Ignore the Output dir.
...
llvm-svn: 31496
2006-11-07 07:34:56 +00:00
Reid Spencer
6ccf42145f
Add a test case for making sure gdb can get a stack trace with our debug
...
information.
llvm-svn: 31495
2006-11-07 07:31:37 +00:00