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 building problems. David 2010/10/27 Rafael Espíndola <rafael.espindola at gmail.com>> On 27 October 2010 18:17, Xinliang David Li <xinliangli at gmail.com> wrote: > > Is type based aliasing implemented in LLVM? Simple test case shows it is > > not, or an option similar to -fstrict-aliasing is needed? > > It is being implemented. You have to use clang, not llvm-gcc. The > types are encoded as metadata. Compile with -OX and and look for the > TBAA metadata in the .ll file. > > > Thanks, > > David > > Cheers, > Rafael >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101027/15492d18/attachment.html>
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 default settings) and build llvm in the source dir > -- it leaves some 'sticky' generated files in the source dir leading to > building problems.Thanks. Will try to improve it a bit.> > David > 2010/10/27 Rafael Espíndola <rafael.espindola at gmail.com>Cheers, Rafael
2010/10/27 Rafael Espíndola <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 from clang driver? It supports -Wl, -Wa, -Xanalyzer etc, but there is no documentation on how to pass -enable-tbaa to opt driver. llvmc supports -Wo, option, but the option specified after -Wo, seems to be dropped. Another thing, when using -clang option to llvmc, I got link errors even when -c or -S is specified: clang -x c foo.c -emit-llvm-bc -o /tmp/llvm_JnS1o8/foo.bc (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation) David> > 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 > > building problems. > > Thanks. Will try to improve it a bit. > > > > > David > > 2010/10/27 Rafael Espíndola <rafael.espindola at gmail.com> > > Cheers, > Rafael >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101028/031ea638/attachment.html>