search for: initializealiasanalysis

Displaying 16 results from an estimated 16 matches for "initializealiasanalysis".

2012 Jan 23
1
[LLVMdev] Assertion `AA && "AA didn't call InitializeAliasAnalysis in its run method!"' failed.
...el_vsyscall () (gdb) bt #0 0xf7fdf430 in __kernel_vsyscall () #1 0xf602e921 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0xf6031d52 in *__GI_abort () at abort.c:92 #3 0xf6027788 in *__GI___assert_fail (assertion=0xf78ef62c "AA && \"AA didn't call InitializeAliasAnalysis in its run method!\"", file=0xf78ef5f0 "/x/grwright/llvm/llvm-2.9/lib/Analysis/AliasAnalysis.cpp", line=59, function=0xf78f0e40 "virtual void llvm::AliasAnalysis::deleteValue(llvm::Value*)") at assert.c:81 #4 0xf6c37686 in llvm::AliasAnalysis::deleteValue (this=0...
2015 Apr 21
2
[LLVMdev] Using an alias analysis pass
...ode is this: > namespace > { > struct AddressSpaceAliasAnalysis : public FunctionPass, public AliasAnalysis > { > static char ID; > AddressSpaceAliasAnalysis() : FunctionPass(ID) { > } > > virtual bool runOnFunction(Function& f) override > { > InitializeAliasAnalysis(this, &f.getParent()->getDataLayout()); > return false; > } > > virtual void getAnalysisUsage(AnalysisUsage &AU) const override > { > AliasAnalysis::getAnalysisUsage(AU); > } > > virtual AliasResult alias(const Location &LocA, const Lo...
2012 Jan 25
1
[LLVMdev] PLEASE help with Alias Analysis initialization assertion at the end of my pass
...ol RelRecovery::runOnFunction(Function&F) { AA = >> &getAnalysis<AliasAnalysis> (); } >> >> This is the same setup as with a bunch of other analyses (LoopInfo, >> ProfileInfo, etc) and they all work fine. I've read that AA needs a call >> to >> InitializeAliasAnalysis(this) in the main run method (in my case, >> runOnFunction), and I'm wondering how to properly implement it, since the >> parameter is supposed to be a Pass. > > Is RelRecovery not a Pass? Does it not derive from ModulePass or > FunctionPass? You showed that it has a getA...
2012 Jan 25
2
[LLVMdev] PLEASE help with Alias Analysis initialization assertion at the end of my pass
...nd then a runOnFunction method which does this: bool RelRecovery::runOnFunction(Function &F) { AA = &getAnalysis<AliasAnalysis> (); } This is the same setup as with a bunch of other analyses (LoopInfo, ProfileInfo, etc) and they all work fine. I've read that AA needs a call to InitializeAliasAnalysis(this) in the main run method (in my case, runOnFunction), and I'm wondering how to properly implement it, since the parameter is supposed to be a Pass. Thank you! -Griffin On Mon, 23 Jan 2012 14:54:43 -0500, Griffin Wright <grwright at umich.edu> wrote: Hello all, I am working wi...
2014 Apr 24
4
[LLVMdev] writing an alias analysis pass?
...g.h" using namespace llvm; namespace { struct EverythingMustAlias : public ImmutablePass, public AliasAnalysis { static char ID; EverythingMustAlias() : ImmutablePass(ID) {} virtual void initializePass() { DEBUG(dbgs() << "Initializing everything-must-alias\n"); InitializeAliasAnalysis(this); } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AliasAnalysis::getAnalysisUsage(AU); AU.setPreservesAll(); } virtual AliasResult alias(const Location &LocA, const Location &LocB) { DEBUG(dbgs() << "Everything must alias!\n"); r...
2012 Jan 25
0
[LLVMdev] PLEASE help with Alias Analysis initialization assertion at the end of my pass
...which does this: > > bool RelRecovery::runOnFunction(Function&F) { AA = > &getAnalysis<AliasAnalysis> (); } > > This is the same setup as with a bunch of other analyses (LoopInfo, > ProfileInfo, etc) and they all work fine. I've read that AA needs a call to > InitializeAliasAnalysis(this) in the main run method (in my case, > runOnFunction), and I'm wondering how to properly implement it, since the > parameter is supposed to be a Pass. Is RelRecovery not a Pass? Does it not derive from ModulePass or FunctionPass? You showed that it has a getAnalysisUsage method and...
2013 Jan 24
1
[LLVMdev] llvm pass INITIALIZE
Hello everyone, Till now I have succesfully running passes using RegisterPass template. I have encountered a segfault in my pass. Assertion `AA && "AA didn't call InitializeAliasAnalysis in its run method!"' failed. Then, I tried to use INITIALIZE_PASS_XXXX or INITIALIZE_AG_PASS template, together with `*llvm::createMyMemDepPrinter()` and `initializeMemDepPrinterPass(*PassRegistry::getPassRegistry())` methods. Therefore, I got two compilation errors: MyMemDepPrinter....
2014 Apr 29
4
[LLVMdev] writing an alias analysis pass?
...mespace { > struct EverythingMustAlias : public ImmutablePass, public AliasAnalysis { > static char ID; > EverythingMustAlias() : ImmutablePass(ID) {} > > virtual void initializePass() { > DEBUG(dbgs() << "Initializing everything-must-alias\n"); > InitializeAliasAnalysis(this); > } > > virtual void getAnalysisUsage(AnalysisUsage &AU) const { > AliasAnalysis::getAnalysisUsage(AU); > AU.setPreservesAll(); > } > > virtual AliasResult alias(const Location &LocA, const Location &LocB) { > DEBUG(dbgs() <<...
2009 Nov 06
0
[LLVMdev] Functions: sret and readnone
...D) { _srets["sample$int$float2"] = true; _srets["sample$int$float3"] = true; } void getAnalysisUsage(llvm::AnalysisUsage &usage) const { AliasAnalysis::getAnalysisUsage(usage); usage.setPreservesAll(); } bool runOnFunction(Function &F) { AliasAnalysis::InitializeAliasAnalysis(this); return false; } ModRefBehavior getModRefBehavior(CallSite CS, std::vector<PointerAccessInfo> *Info = 0) { if(_srets.find(CS.getCalledFunction()->getName()) != _srets.end()) return AliasAnalysis::AccessesArguments; // only accesses args, no globals return AliasAnalysis::...
2009 Nov 06
2
[LLVMdev] Functions: sret and readnone
Hi Stephan, > intrinsic float4 sample(int tex, float2 tc); > > float4 main(int tex, float2 tc) > { > float4 x = sample(tex, tc); > return 0.0; > } without additional information it would be wrong to remove the call to sample because it might write to a global variable. > As you can see, the call to the sample function is still present, > although the actual value
2015 Jan 15
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
On Thu, Jan 15, 2015 at 1:26 PM, Nick Lewycky <nlewycky at google.com> wrote: > On 15 January 2015 at 13:10, Daniel Berlin <dberlin at dberlin.org> wrote: > >> Yes. >> I've attached an updated patch that does the following: >> >> 1. Fixes the partialalias of globals/arguments >> 2. Enables partialalias for cases where nothing has been unified to
2015 Jan 14
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...n MayAlias; + return AliasAnalysis::alias(LocA, LocB); } + AliasResult QueryResult = query(LocA, LocB); + if (QueryResult == MayAlias) + return AliasAnalysis::alias(LocA, LocB); - return query(LocA, LocB); + return QueryResult; } void initializePass() override { InitializeAliasAnalysis(this); } @@ -993,7 +996,7 @@ CFLAliasAnalysis::query(const AliasAnalysis::Location &LocA, auto SetB = *MaybeB; if (SetA.Index == SetB.Index) - return AliasAnalysis::PartialAlias; + return AliasAnalysis::MayAlias; auto AttrsA = Sets.getLink(SetA.Index).Attrs; auto AttrsB =...
2015 Jan 14
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Can you send me actual LLVM IR or a preprocessed source from using -E? I don't have a machine handy that has headers that target that arch. On Tue Jan 13 2015 at 4:33:29 PM Daniel Berlin <dberlin at dberlin.org> wrote: > Anything other than noalias or mustalias should be getting passed down the > stack, so either that is not happening or CFL aa is giving better answers > and
2015 Jan 15
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...n MayAlias; + return AliasAnalysis::alias(LocA, LocB); } + AliasResult QueryResult = query(LocA, LocB); + if (QueryResult == MayAlias) + return AliasAnalysis::alias(LocA, LocB); - return query(LocA, LocB); + return QueryResult; } void initializePass() override { InitializeAliasAnalysis(this); } @@ -295,8 +298,9 @@ public: } void visitSelectInst(SelectInst &Inst) { - auto *Condition = Inst.getCondition(); - Output.push_back(Edge(&Inst, Condition, EdgeType::Assign, AttrNone)); + // Condition is irrelevant, it is evaluated, but not loaded, + // stored, or...
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
----- Original Message ----- > From: "James Molloy via llvm-dev" <llvm-dev at lists.llvm.org> > To: "Vaivaswatha Nagaraj" <vn at compilertree.com> > Cc: "LLVM Dev" <llvm-dev at lists.llvm.org> > Sent: Thursday, December 3, 2015 4:41:46 AM > Subject: Re: [llvm-dev] Function attributes for LibFunc and its impact on GlobalsAA > >
2015 Jan 14
4
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Inline - George > On Jan 14, 2015, at 10:49 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > > > >> On Tue, Jan 13, 2015 at 11:26 PM, Nick Lewycky <nlewycky at google.com> wrote: >>> On 13 January 2015 at 22:11, Daniel Berlin <dberlin at dberlin.org> wrote: >>> This is caused by CFLAA returning PartialAlias for a query that BasicAA can