Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] A question about alias analysis"
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
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
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 Jul 28
1
[LLVMdev] AliasSetTracker and UnknownInst's (callsites mostly) problem
Hi all,
There is a problem about how AliasSetTracker merging AliasSet's when meet
UnknownInst.
When adding new pointer it looks for existing AliasSet's aliased with new
pointer. And merging them together. It is ok for pointers: if %A mayalias
%B and %B mayalias %C then %A mayalias %C.
But the same logic when adding callsite is wrong (
findAliasSetForUnknownInst).
Callsite may be known
2009 May 08
1
[LLVMdev] Some questions on the output formats of AliasSetTracker
Quoting Eli Friedman <eli.friedman at gmail.com>:
Dear Eli,
Thanks very much for your reply. I have modified the XX and YY to
be global variables, but the output of AliasSetTracker are still MUST
alias:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea55d0,0] may alias, Mod/Ref
8 Call Sites: void ({ }*)* @llvm.dbg.func.start, void (i32, i32,
{ }*)*
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
2009 May 08
2
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff,
Here are some questions on the output formats of AliasSetTracker.
The code is as below:
int G1 = 9;
int G2 = 5;
int main() {
int * XX;
int * YY;
XX = &G1;
YY = XX;
YY = &G2;
XX = &G2;
}
The output for -anders-aa is:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea6fb0,0] may alias, Mod/Ref
10 Call Sites: void ({ }*)*
2015 Dec 12
2
Objects of MemoryLocation class are created for ‘llvm.memset.*‘ intrinsics
2015-12-11 23:44 GMT+05:00 Hal Finkel <hfinkel at anl.gov>:
> Hi Roman,
>
> The MemoryLocation objects are involved in findAliasSetForUnknownInst, but none are created there for the memset intrinsic. MemoryLocation objects are only involved for the regular memory accesses being compared to the unknown instruction. See AliasSet::aliasesUnknownInst in lib/Analysis/AliasSetTracker.cpp.
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
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
2004 Sep 02
0
[LLVMdev] Problem with CVS LLVM build in obj != src dir case
I resend email with updated (after mass header move) log examples.
> LLVM build without big problems in obj dir == src dir case (for example,
> last night tester build)
> But I have problem with building CVS version LLVM in obj dir != src dir
> case.
>
gmake[1]: Entering directory
`/usr/home/wanderer/pkg/build/llvm/obj/projects'
gmake[2]: Entering directory
2013 Feb 11
0
[LLVMdev] Possible issue with DenseMap when using AliasSetTracker
Oliver Horst wrote:
> Dear All,
>
> while willing to assist developers to adhere strictly to coding guidelines, I
> wrote the attached program called "alias-detector". The program's intent is to
> utilize the BasicAliasAnalysis to get a list of aliases for each pointer in a
> certain program code. First it initializes clang as frontend, executes the
>
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 =
2009 Aug 17
2
[LLVMdev] AliasSetTracker
I started using the AliasSetTracker, but I have a problem.
I am using -basicaa -anders-aa and optimizations are enabled for llvm-gcc
and llvm-ld.
I use an instruction visitor to populate the alias set tracker, but two
pointers end up in different alias sets.
While investigating this I notice at one point that if I call:
bool New = false;
AliasSet &X = AST->getAliasSetForPointer(Pointer,
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 Dec 06
2
Objects of MemoryLocation class are created for ‘llvm.memset.*‘ intrinsics
Dear llvm contributors,
Could you please advise me where objects of MemoryLocation class are
created for ‘llvm.memset.*‘ intrinsics?
In the Bug 23077 (https://llvm.org/bugs/show_bug.cgi?id=23077) the
AliasSetTracker constructs 128 alias sets for 0 pointer values, which
contain only unknown instructions. In this case, all unknown
instructions, which are added to new alias sets in the
2009 Aug 18
0
[LLVMdev] AliasSetTracker
On Aug 17, 2009, at 4:16 PM, Marcus Hicks wrote:
> I started using the AliasSetTracker, but I have a problem.
Hi Marcus,
At best, anders-aa is beta-quality. It probably has several bugs and
is not really ready to be widely used.
-Chris
>
> I am using -basicaa -anders-aa and optimizations are enabled for
> llvm-gcc and llvm-ld.
> I use an instruction visitor to populate the
2013 Feb 08
2
[LLVMdev] Possible issue with DenseMap when using AliasSetTracker
Dear All,
while willing to assist developers to adhere strictly to coding guidelines, I
wrote the attached program called "alias-detector". The program's intent is to
utilize the BasicAliasAnalysis to get a list of aliases for each pointer in a
certain program code. First it initializes clang as frontend, executes the
EmitLLVMOnlyAction, and then processes the produced Module with
2009 May 08
0
[LLVMdev] Some questions on the output formats of AliasSetTracker
On Thu, May 7, 2009 at 5:07 PM, <hc2428 at columbia.edu> wrote:
> However, I am a little confused with these output. In Both anders-aa
> and steens-aa, XX and YY should stay in the same AliasSet, and their
> alias relationship should be May Alias, right?
%XX and %YY are the results of alloca instructions (i.e. equivalent to
the C expressions "&XX" and
2015 Jun 12
2
[LLVMdev] alias set collapse and LICM
So, you can't have disjoint sets, and have one of set that says "i
access everything". Because it would contain everything :)
Thus, I assume by your description you meant "we want to maintain
multiple disjoint partitions of the same set of accesses" (which is
not quite the same as just having one special partition).
When one partition is a refinement of the other (as