search for: preservescfg

Displaying 4 results from an estimated 4 matches for "preservescfg".

2002 Oct 20
2
[LLVMdev] PassManager and dependencies
...lly trivial bug: > > virtual void getAnalysisUsage(AnalysisUsage& AU) const { > AU.preservesAll(); // This is the accessor, not the setter > } > >which should call: > AU.setPreservesAll(); > > Ouch. mea culpa. It would be a good idea for preservesAll and preservesCFG to have the same interface (since I, at least, thought that they did ;) >On a different subject, I noticed that you tried to optimize out the >string overhead for the name() methods: > > virtual const string& name() const > { static string a("B"); return a; } > &...
2009 Sep 22
1
[LLVMdev] Preserving Analysis in ALL Passes
Hi, I'm fighting with this quite some time now: Is there a way to mark an Analysis (in my case ProfileInfo) as perserved by _all_ passes? I have tried to add ProfileInfo directly in Pass.h:getAnalysisUsage() but that produces nasty circular library dependecies. I also tried to simply store a pointer to the ProfileInfo in Module but then the PassManager gets confused resulting in double
2002 Oct 21
0
[LLVMdev] API Change: AnalysisUsage
This is just a note to mention that I just checked in this change (and fallout from it): http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021021/000876.html Which renames: AnalysisUsage::preservesAll -> getPreservesAll AnalysisUsage::preservesCFG -> setPreservesCFG to be consistent with the already existing setPreservesAll method. This was a very confusing arrangement that Casey recently pointed out. I fixed all uses of these that are in the CVS repository. When these updates reach you, you will have to update any uses of these metho...
2002 Oct 18
2
[LLVMdev] PassManager and dependencies
I can't seem to figure out how to tell the PassManager that one Pass requires the results of two other Passes, in such a way that it will not crash itself. Attached file is the simplest possible example of Passes A, B, and C, such that C's getAnalysisUsage(AU) method calls AU.addRequired<A>() and AU.addRequired<B>(). When I try to run opt -load ... -opt-c, it tells me: