Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Alias Analysis Changes"
2009 Mar 15
1
[LLVMdev] using alias-analysis
Hi together,
i want to create a map containing a set of aliases for each value.
For example, for a code like:
int main() {
int i;
int *p1 = &i;
int *p2 = &i;
return 0;
}
the map should contain something like:
{i --> (p1, p2),
.....
}
For that, i do followings in my pass:
AliasAnalysis &AA = getAnalysis<AliasAnalysis>();
AliasSetTracker *tracker =
2006 Jan 14
1
[LLVMdev] A question about alias analysis
Hello,
I got a strange result when I used alias analysis DSAA, can you tell what is
wrong?
1. The following is the primary body of my pass "fps.cpp":
AliasAnalysis *AA = &getAnalysis<AliasAnalysis>();
AliasSetTracker AST(*AA);
for (Module::iterator fi = M.begin(), fe = M.end(); fi != fe; ++fi )
for (Function::iterator bi = fi->begin(), be = fi->end(); bi
2013 Nov 12
0
[LLVMdev] What's the Alias Analysis does clang use ?
Hi,
Your problem is that the function arguments, which are makes as noalias, are not being directly used as the base objects of the array accesses:
> %v0.addr = alloca float*, align 8
> %v1.addr = alloca float*, align 8
> %v2.addr = alloca float*, align 8
> %t.addr = alloca float*, align 8
...
> store float* %v0, float** %v0.addr, align 8
> store float* %v1, float** %v1.addr,
2006 Jan 15
1
[LLVMdev] A question about alias analysis
Oh, your meaning is pointers in a aliasset have equal address logically?
But I think that two pointers are alias means they point to a same
memory object, so if pointers "p" and "q" are alias, it seem as p = q,
not &p = &q.
Another question is about "forwarding".
"AliasSet[XXXX, 0] may alias, Mod/Ref forwarding to YYYY" (XXXX != YYYY)
means the
2013 Nov 11
2
[LLVMdev] What's the Alias Analysis does clang use ?
Hi, LLVM community:
I found basicaa seems not to tell must-not-alias for __restrict__ arguments
in c/c++. It only compares two pointers and the underlying objects they
point to. I wonder how clang does alias analysis
for c/c++ keyword restrict.
let assume we compile the following code:
$cat myalias.cc
float foo(float * __restrict__ v0, float * __restrict__ v1, float *
__restrict__ v2, float *
2009 May 29
1
[LLVMdev] difference between alias set tracker and alias analysis evaluator
Hi all,
I have a problem with alias aliasing results returned by the alias set
tracker and the alias analysis evaluator.
so i call opt tool to run my module with the following options
"-anders-aa -aa-eval -print-alias-sets -print-all-alias-modref-info"
i use 2 classes to print alias analysis, the AliasSetTracket and
AliasAnalysisEvaluator.
but they give different results.
here is a
2020 Jul 09
2
Understand alias-analysis results
Hi again!
Replying in chronological order:
> On Thu, Jul 9, 2020 at 6:51 PM Shuai Wang <wangshuai901 at gmail.com
> <mailto:wangshuai901 at gmail.com>> wrote:
>
> Hey Matt,
>
> That's awesome. Thank you very much for all the information and
> clarification! Just a few follow up questions. Could you kindly shed
> some lights on it? Thank
2013 Jan 04
0
[LLVMdev] Running an Alias Analysis without opt
Hi all,
I'm working on an Pass that needs results from an alias analysis. More
precisely, I'd like to use the AliasSetTracker class.
I added AU.addRequired<AliasAnalysis>(); at the right place.
I know the defaut AliasAnalysis does nothing and I currently get
everything as "may" aliases. My tool is standalone and does not use opt,
so I can't simply do something like
2016 Jan 27
2
Skip redundant checks in AliasSet::aliasesUnknownInst
On 01/27/2016 07:53 AM, Daniel Berlin wrote:
>
>
> On Wed, Jan 27, 2016 at 1:27 AM, Roman Gareev <gareevroman at gmail.com
> <mailto:gareevroman at gmail.com>> wrote:
>
> Thank you for the idea! Could you please explain it?
>
>
> Which part are you having trouble with, so i know where to concetrate?
>
> If I’m not
> mistaken, you advise
2015 Jan 15
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Yes.
I've attached an updated patch that does the following:
1. Fixes the partialalias of globals/arguments
2. Enables partialalias for cases where nothing has been unified to a
global/argument
3. Fixes that select was unifying the condition to the other pieces (the
condition does not need to be processed :P). This was causing unnecessary
aliasing.
4. Adds a regression test to
2020 Jul 10
2
Understand alias-analysis results
Hi!
On 7/10/2020 07:17, Shuai Wang wrote:
> Hello!
>
> Thank you very much! Yes, that makes a lot of sense to me. However, just
> want to point out two things that are still unclear:
>
> 1. The output contains a alias set of only one element, for instance:
> "must alias, Mod Pointers: (i32* %y, LocationSize::precise(4))"
>
> This one really confused
2015 Apr 27
4
[LLVMdev] alias set collapse and LICM
I'm current facing an issue related to AliasSetTracker/LICM: the
transitive closure of the alias sets is materially more conservative
than individual aliasing queries and this conservatism leads to
generally worse optimization in LICM.
For instance, consider this module:
declare i32 @only_reads() readonly
declare void @escape(i32*, i32*, i32*)
define void @f(i32 %count) {
entry:
%a =
2006 Jan 15
1
[LLVMdev] A question about alias analysis
Thank you, Chris. The following is my comprehension about the AliasSetTracker,
please correct me.
1. A aliasset "as" represents a memory object, and all pointer "p" in "as"
represent values with the type of pointer that may/must point to the memory
object "as".
2. If a aliasset is "forwarding", it has been merged to another aliasset and
I
2015 Jun 13
2
[LLVMdev] alias set collapse and LICM
On 06/12/2015 04:14 PM, Andrew Trick wrote:
>> On Jun 12, 2015, at 2:52 PM, Philip Reames <listmail at philipreames.com> wrote:
>>
>>
>>
>> On 06/12/2015 02:10 PM, Andrew Trick wrote:
>>>> On Jun 12, 2015, at 2:06 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>>>>
>>>> On Fri, Jun 12, 2015 at 2:03 PM, Andrew Trick
2015 Jan 14
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Oh, sorry, i didn't rebase it when i changed the fix, you would have had to
apply the first on top of the second.
Here is one against HEAD
On Wed, Jan 14, 2015 at 12:32 PM, Ana Pazos <apazos at codeaurora.org> wrote:
> Daniel, your patch does not apply cleanly. Are you on the tip?
>
> The code I see there is no line if (QueryResult == MayAlias|| QueryResult == PartialAlias)
2009 May 29
0
[LLVMdev] difference between alias set tracker and alias analysis evaluator
Hi all,
I have a problem with alias aliasing results returned by the alias set
tracker and the alias analysis evaluator.
so i call opt tool to run my module with the following options
"-anders-aa -aa-eval -print-alias-sets -print-all-alias-modref-info"
i use 2 classes to print alias analysis, the AliasSetTracket and
AliasAnalysisEvaluator.
but they give different results.
here is a
2018 Sep 18
1
Generalizing load/store promotion in LICM
On Fri, Sep 14, 2018 at 4:25 PM Philip Reames <listmail at philipreames.com>
wrote:
> This is going OT from the original thread, but, what the heck...
>
Sorry, not my intention, I was just giving another reason why getting
promotion done in LICM differently would be helpful.
> Alina, can you explain the challenge with implementing promotion over
> MemorySSA? On the surface, it
2016 Jan 27
2
Skip redundant checks in AliasSet::aliasesUnknownInst
Thank you for the idea! Could you please explain it? If I’m not
mistaken, you advise to insert the unknown insts of an every AS from
AliasSetTracker::add(const AliasSetTracker &AST) into a smallptrset
and consequently append it to merged alias sets from
AliasSetTracker::findAliasSetForUnknownInst. I think that Philip
proposed something similar to your approach in
2012 Jan 25
1
[LLVMdev] PLEASE help with Alias Analysis initialization assertion at the end of my pass
Yes, it is a pass.
Here is a very general overview of the file structure as far as the AA is
concerned. LLVM is not my strong-suit, I do hardware simulators, not
compilers.
using namespace llvm;
char RelRecovery::ID = 0;
static RegisterPass<RelRecovery> X("relRecovery",
"Reliability transformation for lightweight recovery");
void
2016 Jan 24
4
Skip redundant checks in AliasSet::aliasesUnknownInst
Dear llvm contributors,
Could you please advise me how to skip
checks, which are performed in AliasSet::aliasesUnknownInst, of
unknown instructions from different alias sets of an alias set tracker
that is a parameter of ‘AliasSetTracker::add(const AliasSetTracker
&AST)’?
If this wasn’t available at the moment and someone could review me, I
would try to implement it. A temporary patch can be