Displaying 5 results from an estimated 5 matches for "preservesall".
Did you mean:
preserve_all
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:
2002 Oct 20
0
[LLVMdev] PassManager and dependencies
....
You're right, this error message is terrible. As it turns out, all of
your passes invalidate all of the other passes, so C doesn't get A (which
is invalidated by B). The problem turns out to be a really trivial bug:
virtual void getAnalysisUsage(AnalysisUsage& AU) const {
AU.preservesAll(); // This is the accessor, not the setter
}
which should call:
AU.setPreservesAll();
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; }
ins...
2002 Oct 20
2
[LLVMdev] PassManager and dependencies
...this error message is terrible. As it turns out, all of
>your passes invalidate all of the other passes, so C doesn't get A (which
>is invalidated by B). The problem turns out to be a really 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 subjec...
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...
2016 Jun 20
7
Suggestion / Help regarding new calling convention
Dear Community,
To improve current interprocedural register allocation (IPRA) , we have
planned to set callee saved registers to none for local functions,
currently I am doing it in following way:
if (F->hasLocalLinkage() && !F->hasAddressTaken()) {
DEBUG(dbgs() << "Function has LocalLinkage \n");
F->setCallingConv(CallingConv::GHC);
}
but we think threre