search for: classllvm_1_1valu

Displaying 19 results from an estimated 19 matches for "classllvm_1_1valu".

Did you mean: classllvm_1_1value
2011 Nov 03
1
[LLVMdev] Why there is no unary operator in LLVM?
..._1BinaryOperator.html#a073c092ce74a122e898e435e60e84599> BinaryOperator <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html> *BinaryOperator::CreateNeg <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html#a073c092ce74a122e898e435e60e84599>(Value <http://llvm.org/doxygen/classllvm_1_1Value.html> *Op, const Twine <http://llvm.org/doxygen/classllvm_1_1Twine.html> &Name,01824 BasicBlock <http://llvm.org/doxygen/classllvm_1_1BasicBlock.html> *InsertAtEnd) {01825 Value <http://llvm.org/doxygen/classllvm_1_1Value.html> *zero = Co...
2017 Jan 20
2
Get Num of Uses in only dominated blocks?
...I am doing a project that requires counting the number of uses of a value only in all dominated blocks in a function. I checked the manual for llvm::User class, but only get this unsigned <http://llvm.org/test-doxygen/api/classunsigned.html> getNumUses <http://llvm.org/test-doxygen/api/classllvm_1_1Value.html#a380559e99b47632a34f74de7c1d03cc0> () const This gives me all the uses of a value. Is there any simple way, like an API to do this? Or I have to manually write a method to traverse dominated basic blocks and count the number of uses? Thanks, Tianyu Cheng -------------- next part --------...
2017 Jun 05
2
Question about llvm::Value::print performance
Hi, I want to use llvm::Value::print to output the assembly strings for llvm::Instructions inside a rather large llvm::Module (linked module with lots of types/...). I started with plain ::print and switched over to http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html#a04e6fc765eeb0c4c90ac5d55113db116 with a ModuleSlotTracker I pass in myself to avoid some complexity. Still now I have the issue that the TypeFinder::run and related that is done internally by each print still is 99% of my program runtime. (at least perf tells me that) Is there any clever...
2015 Nov 26
4
Creating/Deleting a new instruction from LLVM IR
...g to create a new *Store* instruction and inserting it to LLVM IR (.ll) file. I found the following constructor in LLVM Manual: StoreInst::StoreInst <http://llvm.org/docs/doxygen/html/classllvm_1_1StoreInst.html#aa2a72f9a51b317f5b4ab8695adf59025> (Value <http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html> * Val, Value <http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html> * Ptr, Instruction <http://llvm.org/docs/doxygen/html/classllvm_1_1Instruction.html> * InsertBefore ) I thought of using this. I don't know the meaning of the constructors arguments. What all values...
2017 Aug 07
2
vrp
I am primarily interested in phi nodes and their induction variables, in ValueTracking file there is an analysis of them, but if the upper bound is inf, it is not working? 2017-08-07 11:41 GMT+02:00 Anastasiya Ruzhanskaya < anastasiya.ruzhanskaya at frtk.ru>: > So, it is not supported to determine by this instruction : %cmp = icmp slt > i32 %i.03, 99, > that %i.03 = phi i32 [ 0,
2009 Dec 04
0
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
Hello Ether, I think it is referring to the Value class (captial V) whose documentation is found at http://llvm.org/doxygen/classllvm_1_1Value.html . It has to be a pointer because the Value class is a parent class to many many child classes. --Sam ----- Original Message ---- > From: ether zhhb <etherzhhb at gmail.com> > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Sent: Thu, December 3, 2009 7:45...
2016 Feb 04
3
result of load Instruction
Hi all, How can i find the instruction that uses the result of a load instruction. For example: %16 = load i32, i32* %ptr %add = add i32 4, %16 In this case, i would like to get the add instruction. Best, Mo -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160204/bdef6f63/attachment.html>
2009 Dec 04
2
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
hi, i am building selectionDAG by my own code, but got a assertion fail said "SrcValue is not a pointer?". but since the comment above the SrcValueSDNode said: "SrcValueSDNode - An SDNode that holds an arbitrary LLVM IR Value." why the llvm value of SrcValueSDNode must be with PointerType? is that assertion necessary? thanks a lots. regards --ether
2017 Jun 05
2
Question about llvm::Value::print performance
...se llvm::Value::print to output the assembly strings for >> llvm::Instructions >> inside a rather large llvm::Module (linked module with lots of >> types/...). >> >> I started with plain ::print and switched over to >> >> http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html#a04e6fc765eeb0c4c90ac5d55113db116 >> >> with a ModuleSlotTracker I pass in myself to avoid some complexity. >> >> Still now I have the issue that the TypeFinder::run and related that >> is done internally >> by each print still is 99% of my program runtim...
2009 Jan 22
3
[LLVMdev] replacing instructions
Hello everyone, is there any way to replace an instruction inside LLVM that is more elegant than creating a new one, replacing uses and deleting the old one if I only want to modify the type? It is generally not a big deal, but the issue gets really messy if I am in the middle of iterating over uses and start deleting some of them... I hope I could describe my problem well enough ;) Regards,
2013 Mar 02
2
[LLVMdev] Question about method CodeExtractor::severSplitPHINodes
...n/html/classllvm_1_1BasicBlock.html> *NewBB = Header->splitBasicBlock <http://llvm.org/docs/doxygen/html/classllvm_1_1BasicBlock.html#a19445f836d9e1ecb32cba27ec4338fff>(AfterPHIs,00215 Header->getName <http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38>()+".ce");00216 00217 // We only want to code extract the second block now, and it becomes the new00218 // header of the region.00219 BasicBlock <http://llvm.org/docs/doxygen/html/classllvm_1_1BasicBlock.html> *OldPred = Header;00220...
2017 Jul 20
3
Value
Thank you! I wanted to use the right part of the instruction , %a = alloca i32, align 4 - %a here , but I don't quite understand the difference between Instruction object and Value object of a, which is used further , and in this case : %1 = alloca i32, align 4 - I also wanted to use %1 and in this case the only possibility is Instruction object. 2017-07-20 15:32 GMT+02:00 Evgeny Astigeevich
2013 Sep 28
1
[LLVMdev] use function address as global variable initializer
Hi I would like to initialize a global variable to the address of a function. Looking at how clang compiles the C code below, i see @main_ptr = global i8* bitcast (i32 ()* @main to i8*), align 8 but how do i generate i8* bitcast (i32 ()* @main to i8*), align 8 in LLVM IR and use it as initializer to a GlobalVariable. I know i will need to use the bitcast instruction. but as far i as i
2012 Jan 27
3
[LLVMdev] How to get the string value?
Thanks Duncan, Yes, it is a ConstantExpr! Thank you! Now trying to find a clue in ConstantExpr's functions to get that string :-) Regards, Welson On Thu, Jan 26, 2012 at 9:04 PM, Duncan Sands <baldrick at free.fr> wrote: > Hi Welson Sun, > > > Hi, if I have some LLVM code like this: > > > > @.str = private unnamed_addr constant [7 x i8]
2009 Jan 22
0
[LLVMdev] replacing instructions
...ction be changed, but the instructions using it must be changed as well. In that case, you will need to iterate over the uses of the old instruction and create a new instruction for each use, making whatever changes to each use are necessary for your transform to work. See http://llvm.org/doxygen/classllvm_1_1Value.html for more information on replaceAllUsesWith(). -- John T. > I hope I could describe my problem well enough ;) > > Regards, > Ralf > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu &gt...
2017 Jul 20
2
Value
...3 GMT+02:00 Evgeny Astigeevich <Evgeny.Astigeevich at arm.com>: > You think in terms of the textual representation of IR and are trying to > work on IR in these terms. > > See: > > http://www.llvm.org/docs/ProgrammersManual.html#coreclasses > > http://llvm.org/doxygen/classllvm_1_1Value.html > > > In the LLVM representation Value is a thing which can be used as an > operand to instructions. In API there is no such thing as the named right > part. An instruction itself is a value which is produced as result of > execution of the instruction. Look at the example:...
2009 Sep 28
0
[LLVMdev] Printing Function Arguments
Hi Nick, I parsed your message again carefully and did some experiments. I guess the: for (User::op_iterator i = I->op_begin(), e = I->op_end(); i != e; ++i) { } iterates over the operands of the instruction "I", which are as you said, *other* instructions. But if I want to get other information about the instruction, say the type of the operands, then I still need to figure
2015 Oct 05
6
Why is printing an Instruction so slow?
Hi all, When writing my custom passes, I often emit log messages to llvm::errs() like so: llvm::errs() << "Could not handle instruction: " << *Inst << std::endl; where Inst is a pointer to an Instruction. I've profiled my code and found that this way of printing an Instruction takes a very long time: indeed, it is the bottleneck of my pass. Of course, I could
2009 Sep 28
4
[LLVMdev] Printing Function Arguments
ivtm wrote: > Hey Oscar, > > I want to extract information from the instruction. > > Think writing a simple interpreter. > > I already have the CallInst instance (described above in the message). > > Via ci->getOperand(1) say I can get the 'i32 8' parameter and I can get the > 'i32' and '8' separately as Nick described. > > But I