search for: onlyaccessesargmemory

Displaying 14 results from an estimated 14 matches for "onlyaccessesargmemory".

2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...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 module and read a global - // consider every global as possibly...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...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 module and read a global - // consider every global as possibly...
2015 Dec 04
4
RFC: New function attribute HasInaccessibleState
...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 module and read a global - > // con...
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...t; (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 module and > >...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...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 module and...
2015 Dec 04
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! >> } else if (F->onlyReadsMemory()) { >> FunctionEffect |= Ref; >> if (!F->isIntrinsic()) >> // This function might call back into the module and read a global - >...
2015 Dec 11
3
RFC: New function attribute HasInaccessibleState
...lsAAResult::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 module...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...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 module and...
2015 Dec 14
3
RFC: New function attribute HasInaccessibleState
...gt; > 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 m...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...t; > > > // 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-...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...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 04
4
RFC: New function attribute HasInaccessibleState
...t;>>>> >>>>> 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 funct...
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 Dec 09
5
RFC: New function attribute HasInaccessibleState
Sigh... let me try that last part again: Maybe GlobalsAA and/or a GlobalsAA-centric attribution pass could partition writes as: 1. Stores to local allocas 2. Stores through pointer parameters 3. Stores to globals defined in this compilation unit 4. Other Attributing functions with attributes: readonly: only writes of type 1 argmemonly: only writes of type 1/2 almost-readonly: only