[LLVMdev] PROPOSAL: struct-access-path aware TBAA

Shuxin Yang shuxin.llvm at gmail.com
Tue Mar 12 17:56:51 PDT 2013

Maybe I were not clear in my previous mail, or maybe we are talking 
about different topics.

My point was, if the pair of memory accesses are direct access,  in most 
cases, the base/offset/size
should be able to sufficient to figure out if they are alias or not. A 
tricky case would be
subscripped variables, like a.b[i][j] vs a.c[m][n] where a.c and b.c are 
enclosed in a common union.
  If mem-dep test failure to figure out if there is dependence, in that 
case, TBAA might help.

  It seems what we discussing here is somewhat deviating the original 

>>   If the both memory accesses are direct
>> load/store,
>> it dose not even need TBAA, check their base/offset/size is sufficient for
>> disambiguation.
> False, in a lot of cases.  For starters, roughly any union including
> aggregate, you will have overlaps that can be disambiguated using TBAA
> but not otherwise.

More information about the llvm-dev mailing list