search for: emitlabeldifference

Displaying 6 results from an estimated 6 matches for "emitlabeldifference".

2017 Jan 20
4
16-bit bytes for AsmPrinter/DWARF
...the DWARF debugging format is not very good at distinguishing between target-sized bytes (which is the more common use) and 8-bit-bytes. The DWARF standard itself seems not very good in this regard, actually. So we have had to hack our way around this. I.e., at some call-sites of EmitSymbolValue(), EmitLabelDifference(), EmitIntValue() and EmitLabelReference(), an 8-bit-byte-sized argument has had to be converted to target-byte-size (which is extra hacky for odd numbers of eight-bit-bytes). We've been thinking about what a good upstream fix would look like, and believe that perhaps converting all Size argum...
2011 Mar 10
3
[LLVMdev] Detrimental optimization for reducing relocations.
...end up with an address of 0 anyway, we can // just emit an absolute reference to save a relocation. if (Section.isBaseAddressKnownZero()) { OutStreamer.EmitSymbolValue(Label, 4, 0/*AddrSpace*/); return; } // Otherwise, emit it as a label difference from the start of the section. EmitLabelDifference(Label, SectionLabel, 4); } -------------------------------------------------------------------------------- isBaseAddrfessKnownZero() only returns true for some MCSectionELF sections (always false for MachO and COFF), however emitting a symbol value seems to always cause a relocation entry, but a...
2015 May 20
5
[LLVMdev] RFC: Reduce the memory footprint of DIEs (and DIEValues)
...-g). I've attached leak-backend.patch, which we're using to make Intrustruments more accurate (instead of effectively leaking things onto BumpPtrAllocators, really leak them with malloc()). (I've collected this data on top of a few not-yet-committed patches to cheapen `MCSymbol` and `EmitLabelDifference()` that chop around 8% of memory off the top, but otherwise these numbers should be reproducible in ToT.) The `DIE` class is huge. Directly, it accounts for about 15% of backend memory: Bytes Used Count Symbol Name 77.87 MB 8.4% 318960 llvm::DwarfUnit::createAndAddDIE(unsig...
2012 Nov 19
0
[LLVMdev] Debug information under windows
...- Emit delta value. /// void DIEDelta::EmitValue(AsmPrinter *AP, unsigned Form) const { + if (AP->MAI->getDwarfSectionOffsetDirective()) { + // FIXME: Can DIEDelta be used in other contexts than section offset? + AP->EmitSectionOffset(LabelHi, LabelLo); + return; + } AP->EmitLabelDifference(LabelHi, LabelLo, SizeOf(AP, Form)); } diff -r 547972237a05 -r d28fa29d4b44 lib/CodeGen/AsmPrinter/DwarfDebug.cpp --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Wed Oct 10 20:39:45 2012 +0200 +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Nov 19 10:31:49 2012 +0100 @@ -567,9 +567,14 @@ NewCU-&g...
2012 Oct 26
5
[LLVMdev] Debug information under windows
Hello, Recently I found binaries produced with LLVM impossible to debug under Windows. This was probably related to the following bug: http://llvm.org/bugs/show_bug.cgi?id=13636 Asm generated from .ll files revealed that some offsets to debug information were incorrect: they were absolute instead of relative to their sections. Following patch seemed to have repaired the problem, so I'm
2015 May 21
2
[LLVMdev] RFC: Reduce the memory footprint of DIEs (and DIEValues)
...d.patch, which we're using to make Intrustruments more >> accurate (instead of effectively leaking things onto BumpPtrAllocators, >> really leak them with malloc()). (I've collected this data on top of a >> few not-yet-committed patches to cheapen `MCSymbol` and >> `EmitLabelDifference()` that chop around 8% of memory off the top, but >> otherwise these numbers should be reproducible in ToT.) >> >> The `DIE` class is huge. Directly, it accounts for about 15% of backend >> memory: >> >> Bytes Used Count Symbol Name >> 77.87 MB...