Displaying 20 results from an estimated 62 matches for "typebasedaliasanalysis".
2014 Aug 11
2
[LLVMdev] Good reference papers for the TypeBasedAliasAnalysis pass
Hi Guys,
Could anyone recommend some good reference papers for the
TypeBasedAliasAnalysis pass? I am a beginner in the field and would like to
read on some fundamentals on the subject before trying to make some sense
out of the comments in the TypeBasedAliasAnalysis.cpp. Thanks.
Best Regards,
Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http:...
2010 Oct 28
4
[LLVMdev] strict aliasing and LLVM
...lt;rafael.espindola at gmail.com>
> 2010/10/27 Xinliang David Li <xinliangli at gmail.com>:
> > Thanks. Just built clang and saw the meta data and annotations on the
> memory
> > accesses -- is any opt pass consuming the information?
>
> The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
> least licm is using it. Also note that
> lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa option
> that is off by default.
>
>
I tried the option -- no much differences in the generated code.
A related question: how to pass the llvm specific options f...
2010 Oct 29
0
[LLVMdev] strict aliasing and LLVM
...ola <rafael.espindola at gmail.com>
> 2010/10/27 Xinliang David Li <xinliangli at gmail.com>:
> > Thanks. Just built clang and saw the meta data and annotations on the memory
> > accesses -- is any opt pass consuming the information?
>
> The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
> least licm is using it. Also note that
> lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa option
> that is off by default.
LICM, GVN, and DSE are the major consumers right now. That said, the
current TBAA implementation is not very advanced yet.
> I tri...
2010 Oct 28
0
[LLVMdev] strict aliasing and LLVM
2010/10/27 Xinliang David Li <xinliangli at gmail.com>:
> Thanks. Just built clang and saw the meta data and annotations on the memory
> accesses -- is any opt pass consuming the information?
The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
least licm is using it. Also note that
lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa option
that is off by default.
> By the way the build instruction in this
> page http://clang.llvm.org/get_started.html needs to be updated -- it
> recommends config (with...
2010 Oct 28
2
[LLVMdev] strict aliasing and LLVM
Thanks. Just built clang and saw the meta data and annotations on the memory
accesses -- is any opt pass consuming the information?
By the way the build instruction in this page
http://clang.llvm.org/get_started.html needs to be updated -- it recommends
config (with default settings) and build llvm in the source dir -- it leaves
some 'sticky' generated files in the source dir leading to
2010 Oct 29
5
[LLVMdev] strict aliasing and LLVM
...mail.com>
> > 2010/10/27 Xinliang David Li <xinliangli at gmail.com>:
> > > Thanks. Just built clang and saw the meta data and annotations on the
> memory
> > > accesses -- is any opt pass consuming the information?
> >
> > The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
> > least licm is using it. Also note that
> > lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa option
> > that is off by default.
>
> LICM, GVN, and DSE are the major consumers right now. That said, the
> current TBAA implementation is not v...
2010 Oct 29
3
[LLVMdev] strict aliasing and LLVM
...lto:xinliangli at gmail.com>>:
>>
>> > > Thanks. Just built clang and saw the meta data and annotations
>> on the memory
>> > > accesses -- is any opt pass consuming the information?
>> >
>> > The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
>> > least licm is using it. Also note that
>> > lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa
>> option
>> > that is off by default.
>>
>> LICM, GVN, and DSE are the major consumers right now. That said, t...
2010 Oct 29
0
[LLVMdev] strict aliasing and LLVM
...ail.com
> <mailto:xinliangli at gmail.com>>:
> > > Thanks. Just built clang and saw the meta data and annotations
> on the memory
> > > accesses -- is any opt pass consuming the information?
> >
> > The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
> > least licm is using it. Also note that
> > lib/Analysis/TypeBasedAliasAnalysis.cpp defines as enable-tbaa option
> > that is off by default.
>
> LICM, GVN, and DSE are the major consumers right now. That said, the
> current TBAA...
2010 Oct 30
0
[LLVMdev] strict aliasing and LLVM
...angli at gmail.com>>>:
>
> > > Thanks. Just built clang and saw the meta data and annotations
> on the memory
> > > accesses -- is any opt pass consuming the information?
> >
> > The tests in test/Analysis/TypeBasedAliasAnalysis suggest that at
> > least licm is using it. Also note that
> > lib/Analysis/TypeBasedAliasAnalysis.cpp defines as
> enable-tbaa option
> > that is off by default.
>
> LICM, GVN, and DSE are the major consumers right now. That...
2016 Nov 01
2
Ambiguity in !tbaa metadata?
...or setting the
"constant" tag on scalar TBAA. If !4 was !{!"T1", !5, i64 1} then
there we'd have a "real" ambiguity between it being a scalar node
describing constant memory or a struct type node containing !5 at
offset 1.
Finally: we have a comment from 2013 in TypeBasedAliasAnalysis that
implies scalar TBAA was slated for removal:
"After all testing cases are upgraded to use struct-path aware TBAA
and we can auto-upgrade existing bc files, the support for scalar TBAA
can be dropped."
Does anyone have some context for what the motivations were / why the
work was sto...
2013 Aug 12
2
[LLVMdev] Address space extension
...address space aliasing would be cheaper than checking for
type-based aliasing.
>
> Actually how a new independent alias analysis based on metadata (like
> TBAA, so
> attached to load/store & co. instructions) can be implemented?
>
There is an interface for AliasAnalysis. See TypeBasedAliasAnalysis.cpp
for TBAA implementation.
>
> Thanks.
>
> -Michele
>
--
Thanks,
Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130812/9c439937/attachment.html>
2012 Oct 19
2
[LLVMdev] Choosing an alias analyzer
Hi,
In lib/Transforms/IPO/PassManagerBuilder.cpp: addInitialAliasAnalysisPasses,
I see this code
------
// Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that
// BasicAliasAnalysis wins if they disagree. This is intended to help
// support "obvious" type-punning idioms.
PM.add(createTypeBasedAliasAnalysisPass());
PM.add(createBasicAliasAnalysisPass());
}
------
My goal is to use ScalarEvolutionAliasAna...
2013 Oct 08
2
[LLVMdev] dragonegg: switch from old TBAA format to the new struct-path aware TBAA format
...Node *AliasTag = MDHelper.createTBAAStructTagNode(AliasType, AliasType, 0)
Also replacing
LeafTag->replaceAllUsesWith(getTBAARoot());
with
MDNode *Root = getTBAARoot();
LeafTag->replaceAllUsesWith(MDHelper.createTBAAStructTagNode(Root, Root, 0)
The document is currently at the beginning of TypeBasedAliasAnalysis.cpp. I
am going to update the language ref when struct-path aware TBAA is on by
default.
Let me know if you have any problem with it.
Thanks,
Manman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131007/05...
2017 Aug 19
3
RFC: Resolving TBAA issues
...ric type may be
an aggregate or a union, in which case we return null node unless
aggreagte accesses are supported.
To distinct unions from other types we can have a special group for
them. Alternatively, we can use type identification nodes, see below.
For aggregate accesses:
The comment in TypeBasedAliasAnalysis.cpp suggests:
// TODO: We need to check if AccessType of TagA encloses AccessType of
// TagB to support aggregate AccessType. If yes, return true.
Consider these two accesses:
struct A { int i; };
struct B { struct A a; } *b;
struct X { int i; } *x;
b->a
x->...
2013 Aug 12
0
[LLVMdev] Address space extension
...aliasing for those target with physical disjoint address spaces.
>
> Actually how a new independent alias analysis based on metadata (like TBAA, so
> attached to load/store & co. instructions) can be implemented?
>
>
> There is an interface for AliasAnalysis. See TypeBasedAliasAnalysis.cpp for
> TBAA implementation.
Yes I know that, but my question is due to the fact that AliasAnalysis::Location
has only one field reserved for TBAA tag. If I would like to encode another
metadata that is used by another AliasAnalysis I need to extend the Location
structure and the functions th...
2013 Aug 12
2
[LLVMdev] Address space extension
...disjoint address
> spaces.
>
> >
> > Actually how a new independent alias analysis based on metadata
> (like TBAA, so
> > attached to load/store & co. instructions) can be implemented?
> >
> >
> > There is an interface for AliasAnalysis. See TypeBasedAliasAnalysis.cpp
> for
> > TBAA implementation.
>
> Yes I know that, but my question is due to the fact that
> AliasAnalysis::Location
> has only one field reserved for TBAA tag. If I would like to encode another
> metadata that is used by another AliasAnalysis I need to extend the
>...
2010 Oct 30
1
[LLVMdev] strict aliasing and LLVM
...t;:
>>
>>
>> > > Thanks. Just built clang and saw the meta data and annotations
>> on the memory
>> > > accesses -- is any opt pass consuming the information?
>> >
>> > The tests in test/Analysis/TypeBasedAliasAnalysis suggest that
>> at
>> > least licm is using it. Also note that
>> > lib/Analysis/TypeBasedAliasAnalysis.cpp defines as
>> enable-tbaa option
>> > that is off by default.
>>
>> LICM, GVN, and DSE are the maj...
2019 Jun 05
2
llvm-ir: TBAA and struct copies
...the 'x.f' )
With the current understanding that I have about the problem and about the TBAA implementation, I am not sure that it is easy to fix with the default struct path tbaa.
With the 'new struct path tbaa', as it also tracks the access size, I do see a possible solution:
in TypeBasedAliasAnalysis.cpp, in function bool mayBeAccessToSubobjectOf(...):
https://github.com/llvm/llvm-project/blob/master/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp#L619
if (BaseType.getNode() == SubobjectTag.getBaseType()) {
bool SameMemberAccess = OffsetInBase == SubobjectTag.getOffset(); // **** HERE...
2015 Jan 17
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Hi Danny,
// Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that
// BasicAliasAnalysis wins if they disagree. This is intended to help
// support "obvious" type-punning idioms.
- if (UseCFLAA)
- addPass(createCFLAliasAnalysisPass());
addPass(createTypeBasedAliasAnalysisPass());
addPass(createScopedNoAli...
2013 Oct 12
0
[LLVMdev] dragonegg: switch from old TBAA format to the new struct-path aware TBAA format
...TagNode(AliasType, AliasType, 0)
>
> Also replacing
> LeafTag->replaceAllUsesWith(getTBAARoot());
>
> with
> MDNode *Root = getTBAARoot();
> LeafTag->replaceAllUsesWith(MDHelper.createTBAAStructTagNode(Root, Root, 0)
>
> The document is currently at the beginning of TypeBasedAliasAnalysis.cpp. I am
> going to update the language ref when struct-path aware TBAA is on by default.
>
> Let me know if you have any problem with it.
>
> Thanks,
> Manman
>
>
>