similar to: [LLVMdev] How to know if an instruction is "usable"

Displaying 20 results from an estimated 11000 matches similar to: "[LLVMdev] How to know if an instruction is "usable""

2013 Apr 25
2
[LLVMdev] How to know if an instruction is "usable"
Thanks, So, how do I check if a block dominates another one? On 25 April 2013 11:59, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: > On 4/25/2013 11:52 AM, Giacomo Tagliabue wrote: > >> Is there an easy way to know if, at a certain instruction, a certain >> value is usable or not? i.e., I am sure that if i use that value i don't >> to get the error
2013 Apr 25
0
[LLVMdev] How to know if an instruction is "usable"
On 4/25/2013 11:52 AM, Giacomo Tagliabue wrote: > Is there an easy way to know if, at a certain instruction, a certain > value is usable or not? i.e., I am sure that if i use that value i don't > to get the error "Instruction does not dominate all uses!" Check if the block containing the definition dominates the block where you want to use the value. If this is the same
2013 Apr 25
0
[LLVMdev] How to know if an instruction is "usable"
On 4/25/2013 12:06 PM, Giacomo Tagliabue wrote: > Thanks, > So, how do I check if a block dominates another one? In IR use analysis DominatorTree from "include/llvm/Analysis/Dominators.h". For machine instructions, use MachineDominatorTree from "include/llvm/CodeGen/MachineDominators.h". Both of them implement function "dominates" that takes two blocks
2013 Apr 25
1
[LLVMdev] How to know if an instruction is "usable"
Thanks! I checked that module. If I use dominates(const Instruction *Def,const Instruction *User) it will automatically check everything, so I don't have to handle the case with instructions in the same BB, right? Thanks, GT On 25 April 2013 12:17, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: > On 4/25/2013 12:06 PM, Giacomo Tagliabue wrote: > >> Thanks,
2013 May 09
2
[LLVMdev] LoopPass symbol error
Thanks, Also, every method inherited by LoopBase causes the same error, while Loop methods go smooth. On 9 May 2013 01:05, Andrew Trick <atrick at apple.com> wrote: > > On May 8, 2013, at 7:43 PM, Giacomo Tagliabue <giacomo.tag at gmail.com> > wrote: > > Hello, > I am building a loop pass following these instructions: >
2013 May 09
0
[LLVMdev] LoopPass symbol error
Wow, commenting those two lines worked out fine for me, thanks! On 9 May 2013 09:34, Giacomo Tagliabue <giacomo.tag at gmail.com> wrote: > Thanks, > Also, every method inherited by LoopBase causes the same error, while Loop > methods go smooth. > > > On 9 May 2013 01:05, Andrew Trick <atrick at apple.com> wrote: > >> >> On May 8, 2013, at 7:43 PM,
2012 Nov 13
1
[LLVMdev] annotations for optimization?
Hello everyone, As a research project we are trying to figure out how to insert some annotations in the compiler in order to optimize the code. For example: /*@ ensures x == 5 */ if(x>5){ {...} } where the comment is written in ACSL<http://en.wikipedia.org/wiki/ANSI/ISO_C_Specification_Language>. The example is trivial, but gives the idea, if LLVM is be able to read the annotation, it
2013 May 09
2
[LLVMdev] LoopPass symbol error
Hello, I am building a loop pass following these instructions: http://llvm.org/docs/WritingAnLLVMPass.html Everything works fine, I did it many times for Function Passes, but in the runOnLoopmethod, whenever I call a method of the loop L passed as argument, for example L->begin(), I get the following error: opt: symbol lookup error: /home/giacomo/llvmcsfv/Debug+Asserts/lib/Acsl.so: >
2013 Apr 05
1
[LLVMdev] Z3 and loadable optimization
I think I am in the first case, but I don't understand something, the -load option during which command? opt? and which file should I load? libz3.so? On 5 April 2013 15:32, John Criswell <criswell at illinois.edu> wrote: > On 4/5/13 3:16 PM, Giacomo Tagliabue wrote: > > I created a loadable optimization following the tutorial at >
2013 Apr 05
2
[LLVMdev] Z3 and loadable optimization
I created a loadable optimization following the tutorial at http://llvm.org/docs/WritingAnLLVMPass.html. I want to use the Z3 library, installed in my system, in my optimization. When I include z3++.h (the name of the library) in the code and use its classes, it compiles well, but when I try to run it it says: > opt: symbol lookup error: /home/giacomo/llvm/Debug+Asserts/lib/Acsl.so: >
2013 May 09
0
[LLVMdev] LoopPass symbol error
On May 8, 2013, at 7:43 PM, Giacomo Tagliabue <giacomo.tag at gmail.com> wrote: > Hello, > I am building a loop pass following these instructions: http://llvm.org/docs/WritingAnLLVMPass.html > Everything works fine, I did it many times for Function Passes, but in the runOnLoopmethod, whenever I call a method of the loop L passed as argument, for example L->begin(), I get the
2015 Sep 21
4
When can the dominator tree not contain a node for a basic block?
When looking into https://llvm.org/bugs/show_bug.cgi?id=24866, I discovered that the root cause of the crash is that I was expecting every basic block to have a corresponding Node in the dominator tree. Apparently, the "while.end" basic block in the example does not have a Node in the Dominator Tree. Can anyone tell me if this is expected? If so, under what circumstances?
2013 Apr 14
2
[LLVMdev] source - target code of a pass
Hello, I want to compare a program before and after having run a FunctionPass. The purpose is merely didactic. What I would like to do is, during the runOnFunction() method, "save" somehow the instruction set and cfg of the function, run the optimization. and then compare the two codes, before and after the transformation. Is there an automatic way tho do that, or a suggested approach?
2013 May 01
1
[LLVMdev] undefined symbol for LoopPass
Hello, I am building a loop pass following these instructions: http://llvm.org/docs/WritingAnLLVMPass.html Everything works fine, I did it many times for Function Passes, but in the runOnPass method, whenever I call a method of the loop L passed as argument, for example L->begin(), I get the following error: opt: symbol lookup error: /home/giacomo/llvmcsfv/Debug+Asserts/lib/Acsl.so: >
2013 Apr 05
0
[LLVMdev] Z3 and loadable optimization
On 4/5/13 3:16 PM, Giacomo Tagliabue wrote: > I created a loadable optimization following the tutorial at > http://llvm.org/docs/WritingAnLLVMPass.html. I want to use the Z3 > library, installed in my system, in my optimization. When I include > z3++.h (the name of the library) in the code and use its classes, it > compiles well, but when I try to run it it says: > >
2017 Apr 26
2
Collectively dominance
Hi Daniel, Thanks a lot for all these explanation, I will try it out. Hongbin On Tue, Apr 25, 2017 at 7:04 PM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > On Tue, Apr 25, 2017 at 6:42 PM, Hongbin Zheng <etherzhhb at gmail.com> > wrote: > >> >> >> On Tue, Apr 25, 2017 at 6:32 PM, Daniel Berlin <dberlin at dberlin.org> >> wrote:
2017 Apr 26
1
Collectively dominance
Like I said, i'm nearly positive there is a much faster way, as the sets are mostly shared except in the cyclic case, and in all reducible cyclic cases, removal of back-arcs does not affect dominance (because in any reducible flowgraph, v dominates u whenever u,v is a back-arc) On Tue, Apr 25, 2017 at 7:38 PM, Hongbin Zheng <etherzhhb at gmail.com> wrote: > Hi Daniel, > >
2017 Apr 26
2
Collectively dominance
On Tue, Apr 25, 2017 at 6:32 PM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > On Tue, Apr 25, 2017 at 6:17 PM, Hongbin Zheng <etherzhhb at gmail.com> > wrote: > >> Hi Daniel, >> >> I mean "*As a set*, B + C dominate D". >> >> On Tue, Apr 25, 2017 at 5:42 PM, Daniel Berlin <dberlin at dberlin.org> >> wrote:
2013 Apr 14
0
[LLVMdev] source - target code of a pass
On 14/04/13 18:40, Giacomo Tagliabue wrote: > I want to compare a program before and after having run a FunctionPass. > The purpose is merely didactic. What I would like to do is, during the I do a dump of the Module (Module.print) before and after running it through a PassManager (you could also use the Function.print method I think). You can put just a single pass in the PassManager to
2013 Apr 14
2
[LLVMdev] source - target code of a pass
I don't want to do just a visual compare, i would like to manipulate, iterate, over the "old" version of the function. On 14 April 2013 11:49, edA-qa mort-ora-y <eda-qa at disemia.com> wrote: > On 14/04/13 18:40, Giacomo Tagliabue wrote: > > I want to compare a program before and after having run a FunctionPass. > > The purpose is merely didactic. What I would