search for: typebasedaliasanalysi

Displaying 20 results from an estimated 62 matches for "typebasedaliasanalysi".

Did you mean: 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...
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 tr...
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 (wit...
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...
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,...
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. Tha...
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 st...
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 ScalarEvolutionAliasAn...
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/0...
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-&g...
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 t...
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 ma...
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(); // **** HER...
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(createScopedNoAl...
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 > > >