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...