search for: globalsaaresult

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

2015 Dec 02
2
Function attributes for LibFunc and its impact on GlobalsAA
Hi, GlobalsAA, during propagation of mod-ref behavior 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 (FunctionAttr...
2015 Dec 03
2
Function attributes for LibFunc and its impact on GlobalsAA
.... > > Cheers, > > James > > On Wed, 2 Dec 2015 at 14:07 Vaivaswatha Nagaraj via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi, >> >> GlobalsAA, during propagation of mod-ref behavior 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 on...
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...t; I think you're understanding correctly, but I don't understand what you're saying will go badly with the malloc example. Quoting the start of 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! }...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...ributes (in addition to what are already set): malloc/free: HasInaccessibleState, ReadNone printf: HasInaccessibleState, ArgMemOnly realloc: HasInaccessibleState, 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! }...
2015 Dec 04
4
RFC: New function attribute HasInaccessibleState
...lready set): > malloc/free: HasInaccessibleState, ReadNone > printf: HasInaccessibleState, ArgMemOnly > realloc: HasInaccessibleState, 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...
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
...tand what > > you're saying will go badly with the malloc example. Quoting the > > start of 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()) { > &gt...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...ate, ReadNone >>> printf: HasInaccessibleState, ArgMemOnly >>> realloc: HasInaccessibleState, 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->onlyAccessesArgMem...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
.../free: HasInaccessibleState, ReadNone >> printf: HasInaccessibleState, ArgMemOnly >> realloc: HasInaccessibleState, 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()) { >>...
2015 Dec 11
3
RFC: New function attribute HasInaccessibleState
...saying will go badly with the malloc example. Quoting the > > > start of 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->onlyAccess...
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
...ate, ReadNone >>> printf: HasInaccessibleState, ArgMemOnly >>> realloc: HasInaccessibleState, 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->onlyAccessesArgMem...
2015 Dec 14
3
RFC: New function attribute HasInaccessibleState
...t; > > > > > > > > > > <<< > > > > > > 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(...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...t;< >> > >> > > > > > 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()) { >> &gt...
2015 Dec 14
2
RFC: New function attribute HasInaccessibleState
...> > > start of 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->doesNotAcces...
2015 Dec 04
4
RFC: New function attribute HasInaccessibleState
...accessibleState, ArgMemOnly >>>>> realloc: HasInaccessibleState, 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->doesNotAc...
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
...> > > > > On Wed, 2 Dec 2015 at 14:07 Vaivaswatha Nagaraj via llvm-dev < > llvm-dev at lists.llvm.org > wrote: > > > > > > > Hi, > > GlobalsAA, during propagation of mod-ref behavior 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 onlyReads...
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