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...