search for: doesnotaccessmemory

Displaying 20 results from an estimated 30 matches for "doesnotaccessmemory".

2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...f the thread: <<< The intention behind introducing this attribute is to relax the conditions in GlobalsAA as below: (this code is in GlobalsAAResult::AnalyzeCallGraph) if (F->isDeclaration()) { // Try to get mod/ref behaviour from function attributes. - if (F->doesNotAccessMemory()) { + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { // Can't do better than that! } else if (F->onlyReadsMemory()) { FunctionEffect |= Ref; if (!F->isIntrinsic()) // This function might call back into the...
2013 Apr 16
2
[LLVMdev] Custom AA implementation is not used
Hello LLVM devs, I'm trying to write my own alias analysis that only contributes information to the getModRefBehavior query, and should be in its own library loadable by opt. However, even though my pass is run (and executed immediately before the client pass that is calling AA.doesNotAccessMemory(F)), the queries never reach my implementation. What am I missing? Thanks in advance, Julian -------------- next part -------------- A non-text attachment was scrubbed... Name: MyAA.cpp Type: text/x-c++src Size: 1544 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/atta...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...ate, ReadOnly (not sure). The intention behind introducing this attribute is to relax the conditions in GlobalsAA as below: (this code is in GlobalsAAResult::AnalyzeCallGraph) if (F->isDeclaration()) { // Try to get mod/ref behaviour from function attributes. - if (F->doesNotAccessMemory()) { + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { // Can't do better than that! } else if (F->onlyReadsMemory()) { FunctionEffect |= Ref; if (!F->isIntrinsic()) // This function might call back into the...
2015 Dec 04
4
RFC: New function attribute HasInaccessibleState
...e intention behind introducing this attribute is to relax the conditions > in GlobalsAA as below: > (this code is in GlobalsAAResult::AnalyzeCallGraph) > > if (F->isDeclaration()) { > // Try to get mod/ref behaviour from function attributes. > - if (F->doesNotAccessMemory()) { > + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { > // Can't do better than that! > } else if (F->onlyReadsMemory()) { > FunctionEffect |= Ref; > if (!F->isIntrinsic()) > // This fun...
2014 Sep 08
2
[LLVMdev] Alias Analysis - ModRefBehaviour
Hello, Is there a analysis pass which calculates the ModRefBehaviours OnlyReadsPointerArguments and OnlyAccessesPointerArguments? I tried to find one but so far I only saw that different AA's return OnlyReadsMemory and DoesNotAccessMemory if the readonly and readnone attributes are set. Best regards and thanks in advance, Johannes -- Johannes Doerfert Researcher / PhD Student Compiler Design Lab (Prof. Hack) Saarland University, Computer Science Building E1.3, Room 4.26 Tel. +49 (0)681 302-57521 : doerfert at cs.uni-saarland...
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...introducing this attribute is to relax the > > conditions in GlobalsAA as below: > > (this code is in GlobalsAAResult::AnalyzeCallGraph) > > if (F->isDeclaration()) { > > // Try to get mod/ref behaviour from function attributes. > > - if (F->doesNotAccessMemory()) { > > + if (F->doesNotAccessMemory() || > > F->onlyAccessesArgMemory()) { > > // Can't do better than that! > > } else if (F->onlyReadsMemory()) { > > FunctionEffect |= Ref; > > if (!F->isIntrinsic()...
2015 Dec 02
2
Function attributes for LibFunc and its impact on GlobalsAA
...ior in the call graph, looks at library functions (in GlobalsAAResult::AnalyzeCallGraph: F->isDeclaration() check), for attributes, and if the function does not have the onlyReadsMemory attribute set, forgets it. I noticed that library functions such as malloc/realloc do not have the attributes doesNotAccessMemory or onlyReadsMemory respectively set (FunctionAttrs.cpp). This leads to a loss of GlobalsAA information in the caller (and its caller and so on). Aren't these attributes stricter than necessary currently? I do not see why the presence of malloc/realloc in a function needs to invalidate all mod-r...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...to relax the >>> conditions in GlobalsAA as below: >>> (this code is in GlobalsAAResult::AnalyzeCallGraph) >>> >>> if (F->isDeclaration()) { >>> // Try to get mod/ref behaviour from function attributes. >>> - if (F->doesNotAccessMemory()) { >>> + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { >>> // Can't do better than that! >>> } else if (F->onlyReadsMemory()) { >>> FunctionEffect |= Ref; >>> if (!F->isIn...
2013 May 03
0
[LLVMdev] Custom AA implementation is not used
...gt; > I'm trying to write my own alias analysis that only contributes > information to the getModRefBehavior query, and should be in its own > library loadable by opt. > > However, even though my pass is run (and executed immediately before the > client pass that is calling AA.doesNotAccessMemory(F)), the queries > never reach my implementation. What am I missing? You don't provide an implementation of getAdjustedAnalysisPointer. This is a stab in the dark, but try adding that? Something like: virtual void *getAdjustedAnalysisPointer(const void *ID) { if (ID == &Al...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...ducing this attribute is to relax the >> conditions in GlobalsAA as below: >> (this code is in GlobalsAAResult::AnalyzeCallGraph) >> >> if (F->isDeclaration()) { >> // Try to get mod/ref behaviour from function attributes. >> - if (F->doesNotAccessMemory()) { >> + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { >> // Can't do better than that! >> } else if (F->onlyReadsMemory()) { >> FunctionEffect |= Ref; >> if (!F->isIntrinsic()) >>...
2015 Dec 11
3
RFC: New function attribute HasInaccessibleState
...te is to relax the > > > conditions in GlobalsAA as below: > > > (this code is in GlobalsAAResult::AnalyzeCallGraph) > > > if (F->isDeclaration()) { > > > // Try to get mod/ref behaviour from function attributes. > > > - if (F->doesNotAccessMemory()) { > > > + if (F->doesNotAccessMemory() || > > > F->onlyAccessesArgMemory()) { > > > // Can't do better than that! > > > } else if (F->onlyReadsMemory()) { > > > FunctionEffect |= Ref; > > >...
2012 Nov 06
4
[LLVMdev] FW: Bug in SelectionDAG visitTargetIntrinsic
From: Villmow, Micah Sent: Tuesday, November 06, 2012 1:37 PM To: 'llvm-dev at cs.uiuc.edu' Cc: Guo, Xiaoyi Subject: Bug in SelectionDAG visitTargetIntrinsic We ran into a problem where specifying IntrNoMem was causing our instruction selection to fail with target specific intrinsics. After looking into the code and ISel debug it looks like tablegen and SelectionDAG are using different
2012 Nov 06
0
[LLVMdev] Bug in SelectionDAG visitTargetIntrinsic
void SelectionDAGBuilder::visitTargetIntrinsic(const CallInst &I, - unsigned Intrinsic) { - bool HasChain = !I.doesNotAccessMemory(); - bool OnlyLoad = HasChain && I.onlyReadsMemory(); + unsigned Intrinsic) { + // Info is set by getTgtMemInstrinsic + TargetLowering::IntrinsicInfo Info; + bool IsTgtIntrinsic = TLI.getTgtMemIntrinsic(Info, I, Intrinsic); + bool HasChain =...
2014 Jul 18
2
[LLVMdev] how to define INTRINSIC_W_CHAIN
Tks Tom, That is my confusing part. How can I make it to "access memoryā€¯ so it will HasChain? Is there any flag set like in typeProfile, Node, instructions? myLoad, mayStore, SDNPHasChain? -kevin On Jul 18, 2014, at 4:26 PM, Tom Stellard <tom at stellard.net> wrote: > On Fri, Jul 18, 2014 at 04:15:45PM -0400, kewuzhang wrote: >> sure! >> >> class
2015 Dec 03
2
Function attributes for LibFunc and its impact on GlobalsAA
...tions (in GlobalsAAResult::AnalyzeCallGraph: >> F->isDeclaration() check), for attributes, and if the function does not >> have the onlyReadsMemory attribute set, forgets it. >> >> I noticed that library functions such as malloc/realloc do not have the >> attributes doesNotAccessMemory or onlyReadsMemory respectively set >> (FunctionAttrs.cpp). This leads to a loss of GlobalsAA information in the >> caller (and its caller and so on). Aren't these attributes stricter than >> necessary currently? I do not see why the presence of malloc/realloc in a >> fu...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...to relax the >>> conditions in GlobalsAA as below: >>> (this code is in GlobalsAAResult::AnalyzeCallGraph) >>> >>> if (F->isDeclaration()) { >>> // Try to get mod/ref behaviour from function attributes. >>> - if (F->doesNotAccessMemory()) { >>> + if (F->doesNotAccessMemory() || F->onlyAccessesArgMemory()) { >>> // Can't do better than that! >>> } else if (F->onlyReadsMemory()) { >>> FunctionEffect |= Ref; >>> if (!F->isIn...
2015 Dec 14
3
RFC: New function attribute HasInaccessibleState
...s in GlobalsAA as below: > > > > > > (this code is in GlobalsAAResult::AnalyzeCallGraph) > > > > > > if (F->isDeclaration()) { > > > > > > // Try to get mod/ref behaviour from function attributes. > > > > > > - if (F->doesNotAccessMemory()) { > > > > > > + if (F->doesNotAccessMemory() || > > > > > > F->onlyAccessesArgMemory()) { > > > > > > // Can't do better than that! > > > > > > } else if (F->onlyReadsMemory()) { > > > > > &g...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...> (this code is in GlobalsAAResult::AnalyzeCallGraph) >> > >> > > > > > if (F->isDeclaration()) { >> > >> > > > > > // Try to get mod/ref behaviour from function attributes. >> > >> > > > > > - if (F->doesNotAccessMemory()) { >> > >> > > > > > + if (F->doesNotAccessMemory() || >> > >> > > > > > F->onlyAccessesArgMemory()) { >> > >> > > > > > // Can't do better than that! >> > >> > > > > &gt...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...in GlobalsAA as below: > > > > (this code is in GlobalsAAResult::AnalyzeCallGraph) > > > > if (F->isDeclaration()) { > > > > // Try to get mod/ref behaviour from function attributes. > > > > - if (F->doesNotAccessMemory()) { > > > > + if (F->doesNotAccessMemory() || > > > > F->onlyAccessesArgMemory()) { > > > > // Can't do better than that! > > > > } else if (F->onlyReadsMemory()) { > > > &g...
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
...ry functions (in GlobalsAAResult::AnalyzeCallGraph: > F->isDeclaration() check), for attributes, and if the function does > not have the onlyReadsMemory attribute set, forgets it. > > > > I noticed that library functions such as malloc/realloc do not have > the attributes doesNotAccessMemory or onlyReadsMemory respectively > set (FunctionAttrs.cpp). This leads to a loss of GlobalsAA > information in the caller (and its caller and so on). Aren't these > attributes stricter than necessary currently? I do not see why the > presence of malloc/realloc in a function needs to...