Chris Lattner
00d139064e
tidy up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100700 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:29:10 +00:00
Chris Lattner
c0561f29a8
add a comment line that got dropped
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:10:38 +00:00
Benjamin Kramer
96fbb3eea6
Remove unused method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 11:23:46 +00:00
Torok Edwin
9c4210794e
Workaround the breakage in r100616 by guarding all timers with
...
TimePassesIsEnabled. This should allow make check to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100618 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 10:44:46 +00:00
Bill Wendling
5f017e8086
Use the "NamedGroupTimer" class to categorize DWARF emission better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100616 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 09:28:04 +00:00
Benjamin Kramer
a592e671ee
Use raw_ostream.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100615 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 09:26:51 +00:00
Chris Lattner
cf9a415182
Have the inst emitter add the !srcloc mdnode to the machine instr.
...
Have the asmprinter use the mdnode to scavenge a source location if
present. Document this nonsense in langref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 05:38:05 +00:00
Chris Lattner
fee455ea6a
remove another magic number.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 05:27:36 +00:00
Dale Johannesen
343b42e428
Move printing of target-indepedent DEBUG_VALUE comments
...
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100596 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 01:15:14 +00:00
Devang Patel
5f0940002a
Do not emit specification DIE with DW_AT_specification attribute for member functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100586 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 23:53:48 +00:00
John McCall
795ee9dd1e
Fix a number of clang -Wsign-compare warnings that didn't have an obvious
...
solution. The only reason these don't fire with gcc-4.2 is that gcc turns off
part of -Wsign-compare in C++ on accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100581 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 23:35:53 +00:00
Dale Johannesen
49d915bb9a
Revert 100573, it's causing some testsuite problems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100578 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 22:45:26 +00:00
Dale Johannesen
0a580d30e0
Move printing of DEBUG_VALUE comments to target-independent place.
...
There is probably a more elegant way to do this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100573 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 22:21:07 +00:00
Stuart Hastings
639336e0bd
Reverting 100530 & 100531 due to regressions in the GDB test suite.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100563 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 21:38:29 +00:00
Stuart Hastings
983327b351
Revise debug info machinery to digest nested functions and classes.
...
A certain GDB testsuite case (local.cc) has a function nested inside a
class nested inside another function. GCC presents the innermost
function to llvm-convert first. Heretofore, the debug info mistakenly
placed the inner function at module scope. This patch walks the GCC
context links and instantiates the outer class and function so the
debug info is properly nested. Radar 7426545.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100530 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 17:19:32 +00:00
Chris Lattner
885d94143d
propagate cookie management out one layer of function calls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:58:50 +00:00
Chris Lattner
6eb7806a5f
report errors through LLVMContext's inline asm handler if available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:55:39 +00:00
Devang Patel
f778b57fc5
Remove unnecessary include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100505 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:38:32 +00:00
Chris Lattner
79180e2ef5
Give AsmParser an option to control whether it finalizes
...
the stream. New demo:
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:15:42 +00:00
Chris Lattner
af632c91a0
add .o file writing for inline asm in llc. Here's a silly
...
demo:
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
<inline asm>:1:2: error: unrecognized instruction
abc incl %eax
^
LLVM ERROR: Error parsing inline asm
Only problem seems to be that the parser finalizes OutStreamer
at the end of the first inline asm, which isn't what we want.
For example:
$ cat asm.c
int foo(int X) {
__asm__ ("incl %0" : "+r" (X));
return X;
}
$ clang asm.c -S -o - -emit-llvm | llc
...
subq $8, %rsp
movl %edi, (%rsp)
movl %edi, %eax
## InlineAsm Start
incl %eax
## InlineAsm End
movl %eax, (%rsp)
movl %eax, 4(%rsp)
addq $8, %rsp
ret
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
$
don't stop at inc!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:11:24 +00:00
Bill Wendling
57fbba4dba
Output floating point representations in DWARF format. This is done by outputing
...
the FP encoding directly as a hex representation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 22:59:21 +00:00
Chris Lattner
4c842dda39
stringref-ize the MemoryBuffer::get apis. This requires
...
a co-committed clang patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 22:42:30 +00:00
Chris Lattner
d2c4f19a9f
hopefully sate the clang self host build, which is apparently
...
instantiating some folding set stuff that GCC isn't, requiring
some types to not be incomplete.
I don't know if clang is right or wrong, but unbreaking the
bot is goodness. Here's the broken build:
http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/1813/steps/compile.llvm.stage2/logs/stdio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100418 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:12:01 +00:00
Chris Lattner
2b1b3312e0
privatize more stuff, eliminate vtables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100410 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:32:45 +00:00
Chris Lattner
105d697593
reprivatize now that DwarfWriter is gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100409 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:31:04 +00:00
Chris Lattner
6d7337896f
prune #includes, MMI can never be null
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100408 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:28:23 +00:00
Chris Lattner
74e41f9821
prune #includes, realize the MMI can never be null.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100407 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:24:55 +00:00
Chris Lattner
493c9765e0
finally blast DwarfWriter away.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:12:59 +00:00
Chris Lattner
49cd6649e1
change AsmPrinter to use DwarfDebug/DwarfException directly
...
instead of going through DwarfWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:11:15 +00:00
Chris Lattner
ea761868b5
trim some spurious references to DwarfWriter. SDIsel really doesn't
...
need it anymore, so don't addRequire it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 04:09:20 +00:00
Chris Lattner
994cb126c9
eliminate DwarfDebug::shouldEmit, which is the same now as MMI::hasDebugInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100386 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 03:52:55 +00:00
Chris Lattner
6342b416f3
fix a regression on 2009-08-17-DebugInfo.m
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100385 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 03:49:26 +00:00
Chris Lattner
d850ac79b5
fastisel doesn't need DwarfWriter, remove some tendricles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 02:19:28 +00:00
Chris Lattner
90429c487f
just have all targets create the DwarfWriter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100377 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:42:55 +00:00
Chris Lattner
505e86832a
nuke DwarfPrinter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100375 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:27:29 +00:00
Chris Lattner
84ac8b7f43
make DwarfException not inherit from DwarfPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:26:50 +00:00
Chris Lattner
a37d5387a5
change SizeOf to take AsmPrinter instead of TargetData,
...
simplifying a bunch of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:18:22 +00:00
Chris Lattner
d38fee8ddc
1) make DIE take AsmPrinter instead of DwarfPrinter.
...
2) change DwarfDebug to not inherit from DwarfPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:13:49 +00:00
Chris Lattner
02b86b93dc
Move EmitFrameMoves into AsmPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:41:46 +00:00
Chris Lattner
786d17a0cf
simplify code and reduce indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100369 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:31:58 +00:00
Chris Lattner
6189ed10c1
now that the magic is dispelled, move EmitSectionOffset to AsmPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100368 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:25:33 +00:00
Chris Lattner
3d22513611
eliminate the magic AbsoluteDebugSectionOffsets MAI hook,
...
which is really a property of the section being referenced.
Add a predicate to MCSection to replace it.
Yay for reduction in magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:22:29 +00:00
Chris Lattner
be15beb54a
only emit section labels if we have debug info, fixing a few
...
regtest failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100366 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:17:54 +00:00
Chris Lattner
4ad1efec92
I was wrong, ocaml isn't referencing 'Ldata_begin', so remove it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100365 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:10:38 +00:00
Chris Lattner
a33b2a1ee6
add some assertions to EmitSectionOffset.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:06:31 +00:00
Chris Lattner
11b8f30567
stop emitting some dead L labels.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100363 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:02:02 +00:00
Chris Lattner
9c69e28553
Store an use the symbols emitted at the start of the debug
...
sections instead of magically rematerializing them later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100362 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 22:59:04 +00:00
Chris Lattner
fa070b0175
remove the didInitial ivar, rename emitInitial to be more
...
descriptive, change EmitSectionOffset back to taking a
symbol instead of a string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 22:33:59 +00:00
Chris Lattner
2e3ebedc88
simplify EmitSectionOffset a little bit, improve comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100360 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 22:25:14 +00:00
Chris Lattner
83d1618b46
The "IsSmall" argument to EmitSectionOffset is always true,
...
constant fold it away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100356 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 21:34:40 +00:00