search for: modrefresult

Displaying 15 results from an estimated 15 matches for "modrefresult".

2011 Jul 21
1
[LLVMdev] AA bug?
I was reading the code in AliasAnalysis.cpp and happened to notice what looks like a bug. See the line marked by '*' below: AliasAnalysis::ModRefResult AliasAnalysis::getModRefInfo(const VAArgInst *V, const Location &Loc) { // If the va_arg address cannot alias the pointer in question, then the // specified memory cannot be accessed by the va_arg. if (!alias(getLocation(V), Loc)) return NoModRef; // If the pointer is a pointer to...
2006 Aug 28
0
[LLVMdev] -Woverloaded-virtual
...his means you forgot to override an overloaded virtual in a subclass. Currently, LLVM is "overloaded virtual" clean. We intend to keep it that way. If you are modifying LLVM and start to see warning messages like the following: AliasAnalysis.h:241: warning: `virtual llvm::AliasAnalysis::ModRefResult llvm::AliasAnalysis::getModRefInfo(llvm::CallSite, llvm::CallSite)' was hidden Steensgaard.cpp:68: warning: by `virtual llvm::AliasAnalysis::ModRefResult <unnamed>::Steens::getModRefInfo(llvm::CallSite, llvm::Value*, unsigned int)' then you need to fix it before committing. The fix...
2006 May 15
0
[LLVMdev] Re: __main() function and AliasSet
On Mon, 15 May 2006, Nai Xia wrote: > In other words, if I only use -steens-aa and the data_XXXs are all > external global variables( and so inComplete ), Sounds right! > the call to printf will > make the same effect, which I have tested it. > > Am I right ? :) If you've tested it then, yes you're right :). I haven't played with this stuff for a long time,
2015 Jun 13
7
[LLVMdev] AliasAnalysis refactoring for the new pass manager
...etter enum name than "AliasKind"? These aren't *just* results, so I don't like the current name. Whatever convention we use, we should use a similar one for the ModRef stuff. ModRefBehavior there already seems to have good names if it were switched to an enum class outside of AA. ModRefResult I would probably make ModRefKind, but maybe ModRefInfo? We call the methods getModRefInfo.... Please suggest patterns that you like! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150613/d7e8f2ce/attachment...
2006 May 15
2
[LLVMdev] Re: __main() function and AliasSet
Hi Chris, I took a haste look at the "Points-to Analysis in Almost Linear Time" by Steens , your PHD thesis and SteensGaard.cpp in LLVM this afternoon. So I think: 1. Actually the basic algorithm described originally by SteensGaard does not provide MOD/REF information for functions. 2. The context insensitive part of Data Structure Analysis (LocalAnalysis) can be deemed as an
2006 May 17
2
[LLVMdev] Re: __main() function and AliasSet
...iew, the ds-aa thinks "printf reads all pointer arguments", but does not take into account the "%n" format string , which may cause "printf" MOD to a specific address. As for steens-aa, I think the logic for mod/ref is very clear: --------------------- AliasAnalysis::ModRefResult Steens::getModRefInfo(CallSite CS, Value *P, unsigned Size) { AliasAnalysis::ModRefResult Result = ModRef; // Find the node in question. DSGraph::ScalarMapTy &GSM = ResultGraph->getScalarMap(); DSGraph::ScalarMapTy::iterator I = GSM.find(P); if (I != GSM.end() && !I->s...
2010 Jun 29
3
[LLVMdev] Queries of an invalidated AA ModulePass
...bfa70 Executing Pass 'Canonicalize natural loops' on Loop 'bb2'... 0xd9bfa70 Executing Pass 'Loop Invariant Code Motion' on Loop 'bb2'... opt: /home/vadve/wdietz2/llvm27/llvm/projects/poolalloc/lib/DSA/DataStructureAA.cpp:203: virtual llvm::AliasAnalysis::ModRefResult<unnamed>::DSAA::getModRefInfo(llvm::CallSite, llvm::Value*, unsigned int): Assertion `valid && "AA invalidated but then queried?!"' failed. Note that "DSAA" is in fact a module pass, and so the line (marked with stars above) 0xd9f7400 Freeing Pass 'D...
2012 Jan 24
0
[LLVMdev] Build Failures
...initialized] [off-opt] : [llvm] /ptmp/dag/llvm/official/llvm/lib/Analysis/AliasAnalysisCounter.cpp:130:15: note: 'AliasString' was declared here [off-opt] : [llvm] /ptmp/dag/llvm/official/llvm/lib/Analysis/AliasAnalysisCounter.cpp: In member function 'virtual llvm::AliasAnalysis::ModRefResult {anonymous}::AliasAnalysisCounter::getModRefInfo(llvm::ImmutableCallSite, const llvm::AliasAnalysis::Location&)': [off-opt] : [llvm] /ptmp/dag/llvm/official/llvm/lib/Analysis/AliasAnalysisCounter.cpp:165:15: error: 'MRString' may be used uninitialized in this function [-Werror=un...
2009 Nov 06
0
[LLVMdev] Functions: sret and readnone
...(CS, Info); } ModRefBehavior getModRefBehavior(Function *F, std::vector<PointerAccessInfo> *Info = 0) { if(_srets.find(F->getName()) != _srets.end()) return AliasAnalysis::AccessesArguments; // only accesses args, no globals return AliasAnalysis::getModRefBehavior(F, Info); } ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size) { std::string functionName = CS.getCalledFunction()->getNameStr(); if(_srets.find(functionName) != _srets.end()) { if(CS.hasArgument(P)) { if(CS.getArgument(0) == P) return AliasAnalysis::Mod; // modify value pointed to by...
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 Jun 15
2
[LLVMdev] AliasAnalysis refactoring for the new pass manager
...um class AliasKind /* or AliasCategory? */ { Null, Unknown, Partial, Complete }; > Whatever convention we use, we should use a similar one for the ModRef stuff. ModRefBehavior there already seems to have good names if it were switched to an enum class outside of AA. ModRefResult I would probably make ModRefKind, but maybe ModRefInfo? We call the methods getModRefInfo.... > > Please suggest patterns that you like! > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu &g...
2015 Aug 07
2
load instruction erroneously removed by GVN
...ceAnalysis::getDependency rather return the call? MemoryDependenceAnalysis::getDependency uses MemoryDependenceAnalysis::getPointerDependencyFrom, which does the following analysis at the end: // See if this instruction (e.g. a call or vaarg) mod/ref's the pointer. AliasAnalysis::ModRefResult MR = AA->getModRefInfo(Inst, MemLoc); // If necessary, perform additional analysis. if (MR == AliasAnalysis::ModRef) MR = AA->callCapturesBefore(Inst, MemLoc, DT); switch (MR) { case AliasAnalysis::NoModRef: // If the call has no effect on the queried pointer...
2010 Jun 29
0
[LLVMdev] Queries of an invalidated AA ModulePass
...cuting Pass 'Canonicalize natural loops' on Loop 'bb2'... > 0xd9bfa70 Executing Pass 'Loop Invariant Code Motion' on Loop 'bb2'... > opt: /home/vadve/wdietz2/llvm27/llvm/projects/poolalloc/lib/DSA/DataStructureAA.cpp:203: > virtual llvm::AliasAnalysis::ModRefResult<unnamed>::DSAA::getModRefInfo(llvm::CallSite, > llvm::Value*, unsigned int): Assertion `valid && "AA invalidated but > then queried?!"' failed. > > > Note that "DSAA" is in fact a module pass, and so the line (marked > with stars above) >...
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 > >
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...thin a diff --git a/lib/Analysis/AliasAnalysis.cpp b/lib/Analysis/AliasAnalysis.cpp index 36ed40d..9583bbe 100644 --- a/lib/Analysis/AliasAnalysis.cpp +++ b/lib/Analysis/AliasAnalysis.cpp @@ -338,7 +338,7 @@ AliasAnalysis::getModRefInfo(const VAArgInst *V, const Location &Loc) { AliasAnalysis::ModRefResult AliasAnalysis::getModRefInfo(const AtomicCmpXchgInst *CX, const Location &Loc) { // Acquire/Release cmpxchg has properties that matter for arbitrary addresses. - if (CX->getOrdering() > Monotonic) + if (CX->getSuccessOrdering() > Monotonic) return ModRef; // If the c...