search for: mcfillfrag

Displaying 7 results from an estimated 7 matches for "mcfillfrag".

2017 Sep 08
5
Performance of large llvm::ConstantDataArrays
...object where the float is parsed into exponent, mantissa and stored in an integer part is stored in a heap allocated array, then these are emitted into MCDataFragments where again more heap allocated data, the float appears to be stored in SmallVectorImpl<char>. On top of this I see a lot of MCFillFragments added because of long double padding. All up the code I'm compiling ends up with 276 million MCFragments, which just take a super long time in each phase of compiling (loading from bitcode, emitting, layout and writing). With a peak working set of 30 gigabytes each float is taking around...
2012 Nov 29
2
[LLVMdev] [cfe-dev] UB in TypeLoc casting
Moving to LLVM dev to discuss the possibility of extending the cast infrastructure to handle this. On Tue, Nov 20, 2012 at 5:51 PM, John McCall <rjmccall at apple.com> wrote: > On Nov 18, 2012, at 5:05 PM, David Blaikie <dblaikie at gmail.com> wrote: >> TypeLoc casting looks bogus. >> >> TypeLoc derived types return true from classof when the dynamic type >>
2012 Nov 30
0
[LLVMdev] [cfe-dev] UB in TypeLoc casting
...mp;DF = cast<MCDataFragment>(F); + const MCDataFragment &DF = cast<MCDataFragment>(F); assert(FragmentSize == DF.getContents().size() && "Invalid size!"); OW->WriteBytes(DF.getContents().str()); break; } case MCFragment::FT_Fill: { - MCFillFragment &FF = cast<MCFillFragment>(F); + const MCFillFragment &FF = cast<MCFillFragment>(F); assert(FF.getValueSize() && "Invalid virtual align in concrete fragment!"); @@ -456,19 +456,19 @@ } case MCFragment::FT_Inst: { - MCInstFragment &amp...
2016 Apr 19
3
Backward references in assembly absolute expressions
While trying to compile an existing codebase which uses handwritten assembly with LLVM, I ran into an issue around using backward references in assembly absolute expressions. A simple example can be the following snippet: _foo: .fill 0x100 _bar: .fill _bar - _foo _baz: .fill 0x100 While gas compiles this snippet without any errors, the integrated assembler throws an error: expected
2017 Sep 10
2
Performance of large llvm::ConstantDataArrays
...at is parsed into exponent, mantissa and stored in an integer > part is stored in a heap allocated array, then these are emitted into > MCDataFragments where again more heap allocated data, the float appears to > be stored in SmallVectorImpl<char>. On top of this I see a lot of > MCFillFragments added because of long double padding. > > All up the code I'm compiling ends up with 276 million MCFragments, which > just take a super long time in each phase of compiling (loading from > bitcode, emitting, layout and writing). With a peak working set of 30 > gigabytes eac...
2010 Jul 16
0
[LLVMdev] Win32 COFF Support - Patch 3
...if given, and the section takes ownership of it (this is an idiom we use pervasively for LLVM IR, its very succinct/useful once you get used to it). AddFragment() should be eliminated here and throughout the file. > + > + // FIXME: Who owns this memory? > + SymbolData->Fragment = new MCFillFragment( > + 0, 0, Size, SectionData > + ); > + > + AddFragment(SymbolData->Fragment); > } > > // MCStreamer interface > > void WinCOFFStreamer::EmitLabel(MCSymbol *Symbol) { > + // FIXME: Who owns this memory? > + MCDataFragment *Fragment = new MCDataFragm...
2010 Jul 14
2
[LLVMdev] Win32 COFF Support - Patch 3
On Sun, Jul 11, 2010 at 6:10 PM, Chris Lattner <clattner at apple.com> wrote: > This probably needs to be slightly tweaked to work with mainline.  I don't see anything objectionable, but I think Daniel needs to review this one. Updated patch to work with mainline. http://github.com/Bigcheese/llvm-mirror/commit/d19a4c82c18afc4830c09b70f02d162292231c94 - Michael Spencer