similar to: [LLVMdev] How to force MemoryDependenceAnalysis to run on original module

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] How to force MemoryDependenceAnalysis to run on original module"

2009 Aug 20
0
[LLVMdev] How to force MemoryDependenceAnalysis to run on original module
On Aug 20, 2009, at 11:44 AM, Marc Brünink wrote: > Hi, > > I do have a FunctionPass that does change the code. This FunctionPass > requires another FunctionPass which performs all the necessary > analyses. > This AnalysisPass again requires MemoryDependenceAnalysis. > > The problem is, that I would like MemoryDependenceAnalysis to run on > the > unaltered
2009 Aug 21
2
[LLVMdev] How to force MemoryDependenceAnalysis to run on original module
Chris Lattner schrieb: > > On Aug 20, 2009, at 11:44 AM, Marc Brünink wrote: > >> Hi, >> >> I do have a FunctionPass that does change the code. This FunctionPass >> requires another FunctionPass which performs all the necessary analyses. >> This AnalysisPass again requires MemoryDependenceAnalysis. >> >> The problem is, that I would like
2009 Aug 21
2
[LLVMdev] How to force MemoryDependenceAnalysis to run on original module
Chris Lattner schrieb: > On Aug 21, 2009, at 3:04 AM, Marc Brünink wrote: >>> This isn't really possible. The issue is that MemDep doesn't just >>> "analyze your function". It is designed to be as lazy as possible, >>> which means that it only does analysis when a query is performed. This >>> means that if you have
2009 Aug 21
0
[LLVMdev] How to force MemoryDependenceAnalysis to run on original module
On Fri, Aug 21, 2009 at 10:48 AM, Marc Brünink<marc at bruenink.de> wrote: >>> actually my problem is easier. So I still have hope that it is possible: >>> >>> MemDep->Pass1->Pass2 >>> >>> Pass1 uses MemDep. Pass2 only uses Pass1. Eventually, Pass2 changes the >>> code. Unfortunately, non-local dependencies of MemDep might point to
2009 Aug 21
0
[LLVMdev] How to force MemoryDependenceAnalysis to run on original module
On Aug 21, 2009, at 3:04 AM, Marc Brünink wrote: >> This isn't really possible. The issue is that MemDep doesn't just >> "analyze your function". It is designed to be as lazy as possible, >> which means that it only does analysis when a query is performed. >> This >> means that if you have MemDep->Pass1->Pass2 and Pass2 uses MemDep
2015 May 21
2
[LLVMdev] MemoryDependenceAnalysis reports dependencies between NoAlias pointers
Hi all, I have a custom alias analysis pass that enforces that pointers from different address spaces do not alias, and I'm using MemoryDependenceAnalysis to, well, figure out dependence analysis. The AA pass is extremely simple, it only checks the address space of pointers, returns NoAlias if they're different, and delegates otherwise. It is the last alias analysis pass added to my
2015 May 09
2
[LLVMdev] about MemoryDependenceAnalysis usage
Hi, I try to use MemoryDependenceAnalysis in a pass to analyse a simple function: void fct (int *restrict*restrict M, int *restrict*restrict L) { S1: M[1][1] = 1; S2: L[2][2] = 2; } When I iterate over MemoryDependenceAnalysis on the S2 statement, I get the load instruction for the first depth of the array, that’s ok. But I get also the load and store for the S1 statement. I assume the
2015 May 21
2
[LLVMdev] MemoryDependenceAnalysis reports dependencies between NoAlias pointers
Thanks Daniel, I'll do a debug build of LLVM (I guess that'll teach me) and step through it as soon as I'll find a power outlet. I'm calling getDependency on the load instruction, and it returns the store instruction. Suspiciously enough, calling invalidateCachedPointerInfo on load->getPointerOperand() does not cause my AA pass to be called again when I use getDependency (or
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
add -basicaa to your command line :) On Mon, May 11, 2015 at 7:15 AM, Willy WOLFF <willy.mh.wolff at gmail.com> wrote: > I play a bit more with MemoryDependenceAnalysis by wrapping my pass, and > call explicitely BasicAliasAnalysis. Its still using No Alias Analysis. > > How can I let MemoryDependenceAnalysis use BasicAliasAnalysis? > > Please, find attached my pass. >
2009 Mar 20
0
[LLVMdev] Problem with MemoryDependenceAnalysis
On Mar 20, 2009, at 8:13 AM, Amr Yehia wrote: > Dear all, > > I am having a problem adding a MemoryDependenceAnalysis pass to a > Module > Pass i created, it gives me the following error when i add > (Info.addRequired<MemoryDependenceAnalysis>();) it in the > getAnalysisUsage(AnalysisUsage &Info) function. > If MemoryDependenceAnalysis requires any module
2009 Mar 20
2
[LLVMdev] Problem with MemoryDependenceAnalysis
Dear all, I am having a problem adding a MemoryDependenceAnalysis pass to a Module Pass i created, it gives me the following error when i add (Info.addRequired<MemoryDependenceAnalysis>();) it in the getAnalysisUsage(AnalysisUsage &Info) function. adding callgraph pass ... done opt: /net/home/yehia/llvm/llvm-2.4/include/llvm/Target/TargetData.h:114:
2009 Apr 13
2
[LLVMdev] MemoryDependenceAnalysis
I'm attaching the .bc file. Note that my analysis pass is invoked after "-O1" and that's why the IR I included in the original email is optimized. -------------- next part -------------- A non-text attachment was scrubbed... Name: simple_loops_F2_4list.bc Type: application/octet-stream Size: 6384 bytes Desc: not available URL:
2009 Apr 25
0
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 12:01 PM, Anthony Danalis wrote: > I'm attaching the .bc file. Note that my analysis pass is invoked > after "-O1" and that's why the IR I included in the original email > is optimized. Hi Anthony, Sorry for the delay, things have been crazy lately. The MemDep API assumes that you will call getDependency() first, and then only call
2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
Hi, > I tried it with -o - but its producing an error > > gcc: fatal error: cannot specify -o with -c, -S or -E with multiple files > > What you suggest? what I wrote: >> for F in *.c ; do B=`basename $F .c` ; gcc -fplugin=/path/to/dragonegg.so >> -S -o - $F -fplugin-arg-dragonegg-emit-ir | opt -adce -o $B.ll ; done >> clang *.ll Thanks to the for loop and
2010 Jul 18
2
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Yes, I'm not arguing that there is a dependence, just that it's not a clobber dependence. The case of a load is already considered earlier in that function and with isLoad == false it returns MemDepResult::getDef(). My question is: why should a read-only call (which yields AliasAnalysis::Ref and is handled in this code fragment) be any different from e.g. a load. Isn't a read-only
2011 Dec 14
2
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
I'm attempting to add some support for hoisting/sinking of memory-using intrinsics in loops, and so I want to use MemoryDependenceAnalysis in LICM, but when I modify getAnalysisUsge to include this : virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfo>();
2007 Dec 17
3
[LLVMdev] Bug 1868: Specifying Pass Orderings
Dear Devang Patel, In response to your comment on bug 1868, how do I get BottomPass to requires Pass2 before Pass1? Is it by reversing the order of the calls to AU.addRequired()? -- John T. -- John T. Criswell jcriswel at bigw.org "It's today!" said Piglet. "My favorite day," said Pooh.
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Sorry, I misunderstood the question. The difference between a load and a read-only call is that load can be used as the value of the memory location. E.g. DeadStoreElimination pass removes a store that stores a just loaded value back into the same location. To do this it checks if the stored value is the value of load. Read-only call cannot be used like this. This being said, I don't know if
2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
Hi, > If I compile the program using the following command line i.e. > > $ clang -O3 -lm *.c this may be doing link time optimization. > > then > > $ time ./a.out > > real 0m2.606s > user 0m2.584s > sys 0m0.012s > > BUT, if I use all the optimizations enabled with -O3 but specify them > explicity i.e. you can just use "opt -O3"
2012 Jun 26
2
[LLVMdev] Does anaysis group only contain passes?
Thanks, John. This sounds reasonable that the analysis group just provides an interface to its implementors (pass). Then I have another question, is it allowed to specify multiple pass in the same analysis group in the command line for opt? If yes, which pass will be used for the call of getAnaysis<AnalysisGroup>()? -Thomson On Mon, Jun 25, 2012 at 10:34 PM, John Criswell <criswell at