Displaying 10 results from an estimated 10 matches for "pointstoconstantmemory".
2008 Jul 22
3
[LLVMdev] LICM/store-aliasing of global loads
...for stores, but it looks like it already does.
>> If I apply the patch found further down, LICM moves the loads out (as
>> expected), but of course this is a fairly specific fix.
>
> Slightly better than checking for GlobalVariabls directly
> is to call the AliasAnalysis' pointsToConstantMemory method.
> BasicAliasAnalysis' implementation of that does exactly the same
> thing,
> checking for constant GlobalVariables, but it would allow alias
> analyses to do more sophisticated things. Could you submit a patch
> for this?
Ah, I was going to ask if there was such a met...
2008 Jul 22
0
[LLVMdev] LICM/store-aliasing of global loads
...fhand I think an approach such as what's in
your patch is better.
> If I apply the patch found further down, LICM moves the loads out (as
> expected), but of course this is a fairly specific fix.
Slightly better than checking for GlobalVariabls directly
is to call the AliasAnalysis' pointsToConstantMemory method.
BasicAliasAnalysis' implementation of that does exactly the same thing,
checking for constant GlobalVariables, but it would allow alias
analyses to do more sophisticated things. Could you submit a patch
for this?
> What's the right way to handle this? Should Basic AA handle this...
2008 Jul 23
0
[LLVMdev] LICM/store-aliasing of global loads
...Gohman wrote:
>>> If I apply the patch found further down, LICM moves the loads out
>>> (as
>>> expected), but of course this is a fairly specific fix.
>>
>> Slightly better than checking for GlobalVariabls directly
>> is to call the AliasAnalysis' pointsToConstantMemory method.
>> BasicAliasAnalysis' implementation of that does exactly the same
>> thing,
>> checking for constant GlobalVariables, but it would allow alias
>> analyses to do more sophisticated things. Could you submit a patch
>> for this?
>
> Ah, I was going to...
2011 Jul 21
1
[LLVMdev] AA bug?
...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 constant memory, then it could not have been
// modified by this va_arg.
if (pointsToConstantMemory(Loc))
return NoModRef; *************
// Otherwise, a va_arg reads and writes.
return ModRef;
}
************* It looks like that line should be
return Ref;
I don't have a test case to reproduce this since I was just reading.
--Vikram
Professor, Computer Science
Un...
2008 Jul 21
6
[LLVMdev] LICM/store-aliasing of global loads
Our frontend can guarantee that loads from globals are
rematerializable and do not alias with any stores in any function in
the given module. We'd like the optimization passes (and ideally the
register allocator as well) to be able to use this fact. The globals
are not constant "forever" but are constant during the calling of any
given function in the module.
There seem to
2018 Apr 27
1
TBAA metadata
Hi,
I am looking at the Type Based Alias Analysis and I am trying to understand why, from what I see, pointsToConstantMemory() never returns true.
It seems that this information should come from the TBAA metadata, in which the Access Tag has an optional 4th field to specify this information.
"Access tags are represented as MDNode s with either 3 or 4 operands. The first operand is an MDNode pointing to the node re...
2014 Dec 02
2
[LLVMdev] TBAA vs !invariant.load metadata semantics
...at philipreames.com> wrote:
>
> (Spawning a separate subthread off the 'Optimization hints for "constant" loads' discussion for a related question. )
>
> Looking at TBAA again, I was reminded that TBAA also contains a third field which indicates that "meaning pointsToConstantMemory should return true; see other useful AliasAnalysis methods <http://llvm.org/docs/AliasAnalysis.html#OtherItfs>". Looking at this a bit, it really seems like this flag has the exact same meaning as !invariant.load.
>
> pointsToConstantMemory returns a value for a Location. Sinc...
2014 Sep 10
7
[LLVMdev] Optimization hints for "constant" loads
I'm looking at how to optimize IR which contains reads from a field
which is known to be initialized exactly once. I've got an idea on how
to approach this, but wanted to see if others have alternate ideas or
similar problems which might spark discussion. It feels like there's a
potentially generally useful optimization hint here if we can generalize
it sufficiently without
2015 Aug 12
3
[RFC] BasicAA considers address spaces?
----- Original Message -----
> From: "Daniel Berlin" <dberlin at dberlin.org>
> To: "Jingyue Wu" <jingyue at google.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, llvm-dev at lists.llvm.org, "Justin Holewinski" <jholewinski at nvidia.com>
> Sent: Wednesday, August 12, 2015 2:03:34 PM
> Subject: Re: [llvm-dev] [RFC]
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
>
>