Eric Christopher
6618a241f7
Add a new wrapper node for a DILexicalBlock that encapsulates it and a
...
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.
This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.
Part of rdar://10246360
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11 22:59:11 +00:00
Eli Friedman
28f7690e2d
Fix this test so it doesn't fail on Mac.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140553 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26 19:13:47 +00:00
James Molloy
439780eeae
Fix emission of debug data for global variables. getContext() on DIGlobalVariables is not valid any more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140539 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-26 17:40:42 +00:00
Devang Patel
f2e6d33125
Update tests. Remove irrelevant tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139658 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-13 23:07:41 +00:00
Devang Patel
93d39be530
Do not use named md nodes to track variables that are completely optimized. This does not scale while doing LTO with debug info. New approach is to include list of variables in the subprogram info directly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19 23:28:12 +00:00
Rafael Espindola
33ded7333d
Test for previous commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133256 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-17 14:16:17 +00:00
Galina Kistanova
240aa60665
Move test for appropriate directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133176 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-16 18:13:57 +00:00
Rafael Espindola
37afca128d
Fix a regression I recently introduced by removing DwarfRegNum of
...
subregisters:
When a value is in a subregister, at least report the location as being
the superregister. We should extend the .td files to encode the bit
range so that we can produce a DW_OP_bit_piece.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132224 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-27 22:15:01 +00:00
Rafael Espindola
78ff647e44
Looks like OS X assemblers (including MC) don't like
...
foo:
bar = foo
.quad bar
Avoid producing it. Fixes PR9951.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131687 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-19 22:05:56 +00:00
Rafael Espindola
0cb3563363
Move test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131315 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 21:35:17 +00:00
Rafael Espindola
8d9e1c2aa0
Move test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131314 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 21:33:32 +00:00
Rafael Espindola
88a5fb8f8f
Add triple.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131169 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-10 23:14:29 +00:00
Rafael Espindola
12f197b3bc
The EH symbols are only needed in eh_frame, not debug_frame.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131146 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-10 19:51:53 +00:00
Rafael Espindola
e29887b4ee
Use .cfi_sections to put the unwind info in .debug_frame when possible. With
...
this clang will use .debug_frame in, for example,
clang -g -c -m32 test.c
This matches gcc's behaviour. It looks like .debug_frame is a bit bigger
than .eh_frame, but has the big advantage of not being allocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131140 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-10 18:39:09 +00:00
Galina Kistanova
9dabb78519
Move few target-dependant tests to appropriate directories.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131002 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-06 18:24:46 +00:00
Rafael Espindola
597a7664e1
Producing a DW_FORM_addr for DW_AT_stmt_list is probably correct, but
...
it is both inefficient and unexpected by dwarfdump. Change to
a DW_FORM_data4.
While in here, change the predicate name to reflect that the position
is not really absolute (it is an offset), just that the linker needs a
relocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130846 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-04 17:44:06 +00:00
Chris Lattner
7a2bdde0a0
Fix a ton of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 05:18:47 +00:00
Devang Patel
f03a3383f9
Add radar number for future reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129172 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 23:52:04 +00:00
Devang Patel
fb6e8d6554
Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
...
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08 21:55:10 +00:00
Devang Patel
439e0c79f5
Move test in x86 specific area.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128245 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-24 22:39:09 +00:00
Devang Patel
23670e5b95
Keep track of directory namd and fIx regression caused by Rafael's patch r119613.
...
A better approach would be to move source id handling inside MC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128233 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-24 20:30:50 +00:00
Devang Patel
3a96275200
Remove obsolete tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126402 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 19:09:52 +00:00
Devang Patel
3fe3424a21
Move arch specific tests in arch specific directories.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126401 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-24 19:06:27 +00:00
Devang Patel
3fda44f276
Hide tests, that check .loc, .file in output assembly, from darwin9 buildbot.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120750 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-02 23:29:58 +00:00
Rafael Espindola
5c0556341e
Change CodeGen to use .loc directives. This produces a lot more readable output
...
and testing is easier. A good example is the unknown-location.ll test that
now can just look for ".loc 1 0 0". We also don't use a DW_LNE_set_address for
every address change anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119613 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18 02:04:25 +00:00
Jakob Stoklund Olesen
c279c9079b
FileCheckize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116581 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-15 16:06:42 +00:00
Devang Patel
27f46cd639
Fix code gen crash reported in PR 8235. We still lose debug info for the unused argument here. This is a known limitation recorded debuginfo-tests/trunk/dbg-declare2.ll function 'f6' test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115323 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01 19:00:44 +00:00
Jim Grosbach
c2ec02c183
Add target triple info to these tests to make the results comparable when
...
hosted on different platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 17:10:36 +00:00
Devang Patel
1905a18abc
If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-16 20:57:49 +00:00
Dan Gohman
7316638bc7
Convert DbgInfoPrinter to use errs() instead of outs().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111659 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-20 18:03:05 +00:00
Devang Patel
baefea4498
Move x86 specific tests into test/CodeGen/X86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 20:25:37 +00:00
Devang Patel
225764b7a5
Test case for combination of r110234 & r110235.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110238 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04 18:42:46 +00:00
Devang Patel
8b3a6b651e
Fix PR 7662.
...
Do not try to insert local variable info to a DIE used for function declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108731 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-19 17:53:55 +00:00
Devang Patel
1d68d21bae
Add variables into a scope before constructing scope DIE otherwise variables won't be included DIE tree.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107228 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30 00:11:08 +00:00
Benjamin Kramer
a2938e7e5f
Fix some tests that didn't test anything.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106954 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-26 20:05:06 +00:00
Devang Patel
4c47095665
Be specific. Use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16 19:39:45 +00:00
Devang Patel
0f800a6eb8
This requires more investigation. Unblock buildbots for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106122 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16 18:19:49 +00:00
Devang Patel
6e67c6cb3c
Update test to explicitly capture llc output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16 18:04:12 +00:00
Devang Patel
735419dfe7
DwarfWrite is now smart enough to drop debug value pointing to undefined register. Update this test to avoid this.
...
iSel not properly lowring argument into a well formed DBG_VALUE in some cases is a separate issue and not related to the test in this testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105295 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-01 23:01:43 +00:00
Devang Patel
9126c0d42a
Keep track of incoming debug value of unused argument.
...
Radar 7927666.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105285 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-01 19:59:01 +00:00
Bill Wendling
21330544df
Debreak test for non-Darwin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105257 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-31 21:47:24 +00:00
Devang Patel
57bd643113
Let's try one more time to match patterns.
...
The goal is to match following 3 lines. In otherwords, a temp. label between to DEBUG_VALUE comments.
;DEBUG_VALUE: bar:x <- undef ## 2010-01-18-Inlined-Debug.c:7
Ltmp1:
;DEBUG_VALUE: foo:__x <- undef ## 2010-01-18-Inlined-Debug.c:5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104872 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27 19:46:38 +00:00
Devang Patel
895f2dfd45
Temp. labels number may not match for all configurations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27 17:51:08 +00:00
Devang Patel
55e9717e59
inlined function's arguments need a label to mark the start point because they are not directly attached to current function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104848 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-27 16:47:30 +00:00
Devang Patel
80250686d5
Simplify. Eliminate unneeded debug_loc entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104785 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-26 23:55:23 +00:00
Devang Patel
c3f5f783a2
First cut at supporting .debug_loc section.
...
This is used to track variable information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104649 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-25 23:40:22 +00:00
Devang Patel
163a9f7c5f
Enable multiple Compile Units in one module.
...
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103439 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-10 22:49:55 +00:00
Devang Patel
9c488376ef
Set DW_AT_APPLE_omit_frame_ptr in endFunction() where MachineFunction is available all the time.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-04 06:15:30 +00:00
Devang Patel
01c5ff6437
Do not ignore debug loc attached with llvm.dbg.declare while collecting debug info used by a module.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-04 01:05:02 +00:00
Devang Patel
518e21ae8a
Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102524 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-28 20:27:48 +00:00