search for: hasmetadata

Displaying 9 results from an estimated 9 matches for "hasmetadata".

2010 Apr 24
2
[LLVMdev] Proposal for Adding MetaData to a BasicBlock
...add MetaData to a BasicBlock. Although you can add Metadata to an instruction. So I'm proposing to add the Metadata manipulation methods and state from class "Instruction" to class "BasicBlock". The class "Instruction" stores a private enumeration: enum { // HasMetadataBit - This is a bit stored in the SubClassData field which // indicates whether this instruction has metadata attached to it or not. HasMetadataBit = 1 << 15 }; This enumeration is then utilized by hasMetadata() which is inlined in class Instruction: // hasMetadata() - Return true if th...
2009 Nov 05
0
[LLVMdev] Debug Information for LLVM 2.6 and TOT
...// Otherwise, remap the rest of the instructions normally. - for (; I != NewBB->end(); ++I) + unsigned DbgKind = 0; + MDNode *TheCallMD = NULL; + SmallVector<Value *, 4> MDVs; + LLVMContext &Context = OldFunc->getContext(); + if (TheCall && TheCall->hasMetadata()) { + DbgKind = Context.getMetadata().getMDKind("dbg"); + TheCallMD = Context.getMetadata().getMD(DbgKind, TheCall); + } + for (; I != NewBB->end(); ++I) { + if (TheCallMD && I->hasMetadata()) + if (MDNode *IMD = Context.getMetadata().getMD(DbgKi...
2009 Nov 05
2
[LLVMdev] Debug Information for LLVM 2.6 and TOT
Devang Patel wrote: > Hi John, > > On Wed, Nov 4, 2009 at 12:04 PM, John Criswell <criswell at uiuc.edu> wrote: > >> Dear All, >> >> 1) I recall reading somewhere that a few optimizations in LLVM 2.6 strip >> away debug information when such information interferes with >> optimization. Is this correct, >> > > Yes. > >
2015 Apr 15
4
[LLVMdev] RFC: Metadata attachments to function definitions
...vantages over `SmallVector<value_type, 1>`: - 32-bits each for size and capacity (instead of 64-bits). - Domain knowledge of `value_type` allows aggressive unions. Can't provide as much API as `std::vector<>`, but the API for metadata attachments is small and opaque: bool hasMetadata(unsigned Tag) const; MDNode *getMetadata(unsigned Tag) const; void setMetadata(unsigned Tag, const MDNode *MD); void getAllMetadata( SmallVectorImpl<std::pair<unsigned, const MDNode *>> &MDs) const; >> Cost would be 16B per `Function`, with the >> s...
2011 Jan 05
0
[LLVMdev] Printing error with Value objects
...VN has completed its transformations. Is it possible that the Value has been deleted from the program by GVN? Is this expected behaviour? This is the output when I type "print *V1" in gdb: {_vptr.Value = 0x91fa950, SubclassID = 92 '\\', HasValueHandle = 1 '\001', HasMetadata = 0 '\000', SubclassOptionalData = 31 '\037', SubclassData = 43368, VTy = {Ty = 0x921f6fc}, UseList = 0x8d5a550, Name = 0x8e06088} This is the output when I type "print *V1->getType()" in gdb: {<llvm::AbstractTypeUser> = {_vptr.AbstractTypeUser = 0x92184c0...
2012 Jan 19
2
[LLVMdev] context/scope of instruction
...d to know how I get the LLVM::IDScope object of an instruction. My program contains: call void (...)* @commit(), !dbg !16 !16 = metadata !{i32 16, i32 5, metadata !8, null} !8 = metadata !{i32 589835, metadata !4, i32 10, i32 1, metadata !2, i32 0} ; [ DW_TAG_lexical_block ] LLVM::Instruction.hasMetadata() is 0 I got LLVM::Scope for variables over DIGlobalVariable.getContext() and DIVariable.getContext() but how do I get it for instructions? Regards Christian Jacobs
2015 Apr 18
2
[LLVMdev] RFC: Metadata attachments to function definitions
..., 1>`: > > - 32-bits each for size and capacity (instead of 64-bits). > - Domain knowledge of `value_type` allows aggressive unions. > > Can't provide as much API as `std::vector<>`, but the API for metadata > attachments is small and opaque: > > bool hasMetadata(unsigned Tag) const; > MDNode *getMetadata(unsigned Tag) const; > void setMetadata(unsigned Tag, const MDNode *MD); > void getAllMetadata( > SmallVectorImpl<std::pair<unsigned, const MDNode *>> &MDs) const; > > >> Cost would be 16B per `...
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
..., 1>`: > > - 32-bits each for size and capacity (instead of 64-bits). > - Domain knowledge of `value_type` allows aggressive unions. > > Can't provide as much API as `std::vector<>`, but the API for metadata > attachments is small and opaque: > > bool hasMetadata(unsigned Tag) const; > MDNode *getMetadata(unsigned Tag) const; > void setMetadata(unsigned Tag, const MDNode *MD); > void getAllMetadata( > SmallVectorImpl<std::pair<unsigned, const MDNode *>> &MDs) const; > > >> Cost would be 16B per `...
2007 Dec 10
0
6 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_color_as.c libswfdec/swfdec_graphic_movie.c libswfdec/swfdec_image_decoder.c libswfdec/swfdec_morph_movie.c libswfdec/swfdec_movie_as_drawing.c
...on="7" compressed="1"> + <Header framerate="1" frames="1"> + <size> + <Rectangle left="0" right="4000" top="0" bottom="3000"/> + </size> + <tags> + <FileAttributes hasMetaData="0" useNetwork="1"/> + <DoAction> + <actions> + <Dictionary> + <strings> + <String value="hi"/> + <String value="foo"/> + <String value="fsco...