search for: valueid

Displaying 20 results from an estimated 21 matches for "valueid".

Did you mean: valued
2017 Apr 04
3
RFC: Adding a string table to the bitcode format
On Tue, Apr 4, 2017 at 12:36 PM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > > On 2017-Apr-04, at 12:12, Peter Collingbourne <peter at pcc.me.uk> wrote: > > On Mon, Apr 3, 2017 at 8:13 PM, Mehdi Amini <mehdi.amini at apple.com> wrote: > >> >> On Apr 3, 2017, at 7:08 PM, Peter Collingbourne <peter at pcc.me.uk> wrote: >>
2015 Aug 13
2
[LLVMdev] RFC: ThinLTO File Format
Hi all, I updated the patches to remove the native object wrapper format. As suggested we will work on getting the ThinLTO framework in place using bitcode first, and then work on adding the native object support. As noted in this RFC and in the associated patch D11722, for now I have empty ThinLTO blocks with no records, since I wanted to get feedback on the overall block design first. The RFC
2014 Jul 09
2
[LLVMdev] Continuing PR5680: preserve order of use lists in bitcode
> On 2014-Jul-08, at 16:48, Chandler Carruth <chandlerc at google.com> wrote: > > >> On Tue, Jul 8, 2014 at 4:29 PM, Duncan P. N. Exon Smith <duncan at exonsmith.com> wrote: >> I'm looking to tackle PR5680 [1]. The primary goal is to prevent >> behaviour changes in passes that depend on the order of use lists when >> serializing/deserializing the
2012 Mar 19
0
[LLVMdev] Python bindings in tree
...my work is at https://github.com/indygreg/llvm/tree/python_bindings/bindings/python. Parts of Core.h still need love (especially the Value system). I'm doing some dynamic type creation at run-time using the Value hierarchy. Somewhat scary stuff, but it does seem to work. I really need a LLVMGetValueID() API to fetch llvm::Value::getValueID() to enable more efficient value casting. From some discussion on #llvm, I think people are receptive to this. The main concern would be that the C API would be tied to a specific version of the shared library because the value ID enumeration aren't guaran...
2011 Jan 24
0
[LLVMdev] How to change the type of an Instruction?
...mes)? I am trying > create a new Instruction thus: > > %3 = add nsw i32 %1, %2 ; <i16> [#uses=2] //Old Instruction > > Value* Op0 = I->getOperand(0); > Value* Op1 = I->getOperand(1); > Value* V0 = new Value(Type::getInt16Ty(Op0->getContext()), > Op0->getValueID()); Hunh, Value's constructor is protected. In any event, Value is pure base. Constructing one this way will never get you what you want. If the ValueID indicates an Instruction, go through Instruction to create one. > Value* V1 = new Value(Type::getInt16Ty(Op1->getContext()), > O...
2011 Jan 24
3
[LLVMdev] How to change the type of an Instruction?
...eate a new Instruction thus: >> >> %3 = add nsw i32 %1, %2 ; <i16> [#uses=2] //Old Instruction >> >> Value* Op0 = I->getOperand(0); >> Value* Op1 = I->getOperand(1); >> Value* V0 = new Value(Type::getInt16Ty(Op0->getContext()), >> Op0->getValueID()); >> > > Hunh, Value's constructor is protected. > > In any event, Value is pure base. Constructing one this way will never get > you what you want. If the ValueID indicates an Instruction, go through > Instruction to create one. > > > Value* V1 = new Value(T...
2014 Jul 24
2
[LLVMdev] Continuing PR5680: preserve order of use lists in bitcode
...[id-2, id-1] > - after id-3: [id-1, id-2] > - after id-4: [id-4, id-1, id-2] > - after id-5: [id-5, id-4, id-1, id-2] > > For such "normal" values, it's trivial to sort a use-list to match what > the reader will see: > > auto compareUsers = [&IDs, ValueID](User *LHS, User *RHS) { > unsigned LID = IDs.lookup(LHS), RID = IDS.lookup(RHS); > if (LID > ValueID) > return LID > RID; > if (RID > ValueID) > return false; > return LID < RID; > } > > Void users &...
2012 Mar 19
2
[LLVMdev] Python bindings in tree
...ests /tools I do like having the tests outside the dir. > Parts of Core.h still need love (especially the Value system). I'm doing > some dynamic type creation at run-time using the Value hierarchy. > Somewhat scary stuff, but it does seem to work. I really need a > LLVMGetValueID() API to fetch llvm::Value::getValueID() to enable more > efficient value casting. I'm doing the very same thing in my bindings, and yes it is a bit inefficient, but seems to work fine and should work fine as long as classes are not moved in the hierarchy. I use the same hierarchy at pytho...
2012 Mar 17
3
[LLVMdev] Python bindings in tree
At Fri, 16 Mar 2012 14:12:08 +0100, Christoph Grenz wrote: > > Hello, > > Am Donnerstag, 15. März 2012, 21:15:02 schrieb Gregory Szorc: > > There was some talk on IRC last week about desire for Python bindings to > > LLVM's Object.h C interface. So, I coded up some and you can now find > > some Python bindings in trunk at bindings/python. Currently, the >
2011 Jan 24
3
[LLVMdev] How to change the type of an Instruction?
...d create a new one only with a different type. I am trying create a new Instruction thus: %3 = add nsw i32 %1, %2 ; <i16> [#uses=2] //Old Instruction Value* Op0 = I->getOperand(0); Value* Op1 = I->getOperand(1); Value* V0 = new Value(Type::getInt16Ty(Op0->getContext()), Op0->getValueID()); Value* V1 = new Value(Type::getInt16Ty(Op1->getContext()), Op1->getValueID()); Instruction* newInst = BinaryOperator::CreateNSWAdd(V0, V1, "test"); errs() << "NewInst:\n" << *newInst << "\n"; But I get something like this: %test = add nsw...
2010 Aug 21
0
[LLVMdev] OCaml bindings patch
...om 2.6 to 2.7, I also merged some new bindings in 2.7 into 2.6. What this patch does are 1) bindings to define an LLVM IR pretty printer in OCaml, which traverses a LLVM AST and prints each node. To do so, it allows to access more properties of prmitive Classes: get Opcode of each instruction, get ValueID of a subclass of Value. For example, given an AllocationInst, it can return the allocation size, and other accessing methods for different kinds of Instructions. To generate names for unnamed values, the patch also makes SlotTracker visibly from ./lib/VMCore/AsmWriter.cpp to ./include/llm/Assemb...
2005 Oct 07
2
InPlaceEditor
Hi all, I was wondering if I could get some help with using Ajax.InPlaceEditor. I want to use loadTextURL to get the text, as it says on the bottom of the documents ''How to edit server side formatted text (formatted with eg. textile)''. My question is how do I know which inplaceedit I''ve clicked? So that I know which id I need to get the text from in the mysql
2015 Aug 03
3
[LLVMdev] RFC: ThinLTO File Format
...will evolve as the importing algorithm is tuned. The exact record formats within each of the THINLTO_*_BLOCKs are still TBD, but the following is an overview of what they will contain: THINLTO_SYMTAB_BLOCK This block contains a record for each function in the summary. The record will contain the ValueID of the corresponding function symbol in the VALUE_SYMTAB_BLOCK (which contains the function’s name string), as well as the bitcode offset of the corresponding function summary record. The latter enables fast seeking when the function summary section is read lazily. THINLTO_MODULE_STRTAB_BLOCK This...
2011 Jan 24
0
[LLVMdev] How to change the type of an Instruction?
...nstruction thus: > > %3 = add nsw i32 %1, %2 ; <i16> [#uses=2] //Old Instruction > > Value* Op0 = I->getOperand(0); > Value* Op1 = I->getOperand(1); > Value* V0 = new Value(Type::getInt16Ty(Op0->getContext()), > Op0->getValueID()); > > > Hunh, Value's constructor is protected. > > In any event, Value is pure base. Constructing one this way will > never get you what you want. If the ValueID indicates an > Instruction, go through Instruction to create one. > > > Valu...
2017 Sep 08
3
offtopic: Solr compatible IMAP client
Hi, not sure if I'm allowed to go this off topic on here, sorry if not! I've just installed Solr FTS for Dovecot and its great, as is Dovecot! ;) It works perfectly for fast searches using Roundcube, but can anyone suggest any Windows and/or Linux mail clients that work well with IMAP searches rather than doing their own searches on local copies of mails? I've had a look at
2011 Jan 28
1
[LLVMdev] How to change the type of an Instruction?
...>>> >>> %3 = add nsw i32 %1, %2 ; <i16> [#uses=2] //Old Instruction >>> >>> Value* Op0 = I->getOperand(0); >>> Value* Op1 = I->getOperand(1); >>> Value* V0 = new Value(Type::getInt16Ty(Op0->getContext()), >>> Op0->getValueID()); >>> >> >> Hunh, Value's constructor is protected. >> >> In any event, Value is pure base. Constructing one this way will never get >> you what you want. If the ValueID indicates an Instruction, go through >> Instruction to create one. >> &...
2012 Sep 26
0
[LLVMdev] [PATCH / PROPOSAL] bitcode encoding that is ~15% smaller for large bitcode files...
...tten is encoded as relative to -> is encoded relative to > static bool PushValueAndType(const Value *V, unsigned InstID, > SmallVector<unsigned, 64> &Vals, > ValueEnumerator &VE) { > unsigned ValID = VE.getValueID(V); > - Vals.push_back(ValID); > + if (EnableOldStyleFunctions) > + Vals.push_back(ValID); > + else > + Vals.push_back(InstID - ValID); > if (ValID >= InstID) { > Vals.push_back(VE.getTypeID(V->getType())); > return true; ... > @@ -1164,7 +1191...
2015 Aug 03
2
[LLVMdev] RFC: ThinLTO File Format
...m is tuned. > > The exact record formats within each of the THINLTO_*_BLOCKs are still > TBD, but the following is an overview of what they will contain: > > THINLTO_SYMTAB_BLOCK > > This block contains a record for each function in the summary. The record > will contain the ValueID of the corresponding function symbol in the > VALUE_SYMTAB_BLOCK (which contains the function’s name string), as well as > the bitcode offset of the corresponding function summary record. The latter > enables fast seeking when the function summary section is read lazily. > THINLTO_MODUL...
2012 Sep 26
9
[LLVMdev] [PATCH / PROPOSAL] bitcode encoding that is ~15% smaller for large bitcode files...
Hi all, I've been looking into how to make llvm bitcode files smaller. There is one simple change that appears to shrink linked bitcode files by about 15%. See this spreadsheet for some rough data: https://docs.google.com/spreadsheet/ccc?key=0AjRrJHQc4_bddEtJdjdIek5fMDdIdFFIZldZXzdWa0E The change is in how operand ids are encoded in bitcode files. Rather than use an "absolute
2014 Mar 13
2
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
...o values that indicates non-equivalence (L less R, L greater R). > [/new comment] > > > > > > +enum ConstantType { > > I'm not sure that this buys you much. All the "isa" tests can be > broken > > down into a switch on getValueID() with the one exception of > isNullValue(). > Done. > > > > + assert( > > + C1->getType()->__canLosslesslyBitCastTo(C2->__getType()) && > > + "Pass is healthless. checkForLosslessBitcast should be > twin...