search for: aliassets

Displaying 20 results from an estimated 131 matches for "aliassets".

Did you mean: aliasset
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 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
2016 Jan 27
2
Skip redundant checks in AliasSet::aliasesUnknownInst
...that you are finding duplicates on the unknown inst list. I don't see this in the bug report? > > The duplicates occur because we are not de-duplicating the unknowninst > lists attached to each AS when we merge them. Danny, I think your analysis is incorrect. If we're merging two AliasSets, we have to consider where AliasSets can come from. Each instruction initially ends up in exactly one AliasSet. As a result, when we're merging two ASTs (which covered different loops/instructions by definition), we should never see the same instruction twice when merging AliasSets. Howe...
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, { }*)*
2009 May 08
0
[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 (the command is: opt -anders-aa test.bc -disable-output -print-alias-sets &>
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 *
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,
2013 Jan 22
1
[LLVMdev] Confusion about Alias Analysis Results -print-no-aliases&&-print-alias-sets
<div>Need help about Alias Analysis.</div><div>I try to detect use-after-free debug in source code. And my analysis is based on LLVM IR.</div><div>I use the following code as a small example. I want to get the result p&&q are alias.</div><div>//uaf.cpp</div><div><div>#include<iostream></div><div>using namespace
2014 Sep 29
2
[LLVMdev] Alias Analysis across functions
Hi, I am trying to get the alias info for the following code. The alias analysis returns "MayAlias" for arrays "A" and "B" in both the functions instead of "NoAlias". What passes should I run in opt before the alias analysis pass to get the accurate result? Example: //Note: static and called by func() only. static int sum(int *A, int *B) { int i = 0,
2018 Jun 11
4
One more No-alias case on Alias analysis
Hello All, I have met one may-alias case from llvm's alias analysis. The code snippet is as following: char buf[4]; void test (int idx) { char *a = &buf[3 - idx]; char *b = &buf[idx]; *a = 1; *b = 2; } I can see below output from alias set tracker for above code snippet. Alias sets for function 'test': Alias Set Tracker: 1 alias sets for 2 pointer values.  
2007 Jun 25
2
[LLVMdev] Question about Alias Analysis
Hi! I'm currently working on developing a new technique for alias analysis and wish to know how to compare it's results to the results that LLVM gets. The algorithm I have operates on LLVM assembly (I wrote the analysis in Haskell, so unfortunately I can't embed it into LLVM very easily). I tried using the option to print alias sets, but I'm not quite sure how to interpret the
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
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
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
2011 Dec 02
0
[LLVMdev] tbaa
Can you post the source code of your test case? Gan On Fri, Dec 2, 2011 at 1:44 PM, <liyi at cs.toronto.edu> wrote: > Hi, > > Could anyone tell me how exactly do I use "Type Based Alias Analysis"? > > I compiled the C program with Clang, and verified that there is tbaa > metadata in the IR code. > > But then when I use "opt -tbaa input.c.bc
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
2006 May 14
2
[LLVMdev] __main() function and AliasSet
In a code segment of my pass plugin, I try to gather AliasSets for all StoreInst, LoadInst and CallInst instructions in a function. Some behaviors of the pass puzzled me. Below is the *.ll of the test program which I run the pass on, it was get with "llvm-gcc -Wl,--disable-opt" from a rather simple *.c program. ----------------------------------...
2019 Jun 01
2
Question about a AA result and its use in Dependence Analysis
Hi Johannes, I followed your advice and got the same result: NoAlias and No dependence. Would you say AA is faulty for saying NoAlias or DA is faulty for saying no dependence? Or both? (revised example below) Thanks! define float @f() { entry: %g = alloca float, align 4 %h = alloca float, align 4 br label %for.body for.cond.cleanup: ; preds = %for.body
2018 Apr 15
2
LLVM Alias Analysis (Load and store from same address is not showed up in same set)
Hi I have this simple c code for which I would like to use for alias analysis. #include <stdio.h> #include <stdlib.h> static int (*fp) (void); void ind_call (int (*compr)(void)){ fp = compr; fp(); } int hello(void){ return printf("hello world\n"); } int main(){ ind_call(hello); return 0; } So, I do the following: bin/opt -basicaa
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