[LLVMdev] strict aliasing and LLVM

Xinliang David Li xinliangli at gmail.com
Sat Oct 30 15:44:00 PDT 2010


On Sat, Oct 30, 2010 at 9:49 AM, Chris Lattner <clattner at apple.com> wrote:

>
> On Oct 29, 2010, at 11:30 PM, Xinliang David Li wrote:
>
>
>
> On Fri, Oct 29, 2010 at 11:14 PM, Chris Lattner <clattner at apple.com>wrote:
>
>> I strongly recommend not using llvmc unless you know exactly what you're
>> doing and what the features and limitations of llvmc are.  Please use the
>> clang driver.
>>
>
> Is llvmc just a wrapper on top of  llvm-gcc and clang?  In search of a way
> to pass down internal llvm options ( I did not know about -m yet), I found
> that llvmc has -Wo, option (which does not work), that is why I tried it.
>  So many different driver programs makes it little confusing to newbies.
>
>
> llvmc is an experimental wrapper, not part of the normal toolchain.  I'm
> not sure why, but it was used by the PIC16 toolchain (when it was in
> mainline), it allows defining compiler drivers that don't follow the GCC
> command line syntax.
>
> I completely agree that llvmc is confusing.  I would certainly agree with
> its removal from mainline, but it is actively maintained and presumably
> there is a reason for that :-)
>
> Lets look at this another way: maybe this is a documentation issue.  Did
> llvmc's existence make you want to use it, or was there some documentation
> that pushed you in that direction?  If it's a doc issue, it is easy to fix.
>

Lack of documentation saying llvmc is experimental, it is actually more
natural for me to pick llvmc than llvm-gcc or clang as the compiler driver.
LLVM is a great brand name, but it seems more a brand name of a new
technology, not a product (unlike gcc which is a both a technology and
product).  llvm-gcc seems a bad name - it is more like gcc-llvm (gcc  FE
with alternative backend which is llvm backend.  Open64 uses gcc FE, but
there is no gcc in their product name.). clang is compiler FE, it can be
coupled with gcc backend as well, so using 'clang' as the product name does
not sound natural.  Other questions that may pop up user mind is how is
clang and llvm-gcc compare in terms of performance, are they configured with
the same set of optimization passes?  Without deep investigation, my guess
was that 'llvmc'  (maybe it should be called lcc, similar to icc, gcc, aCC,
occ, etc) is an effort to unify the compiler drivers and saves users some
confusion :).

Thanks,

David


>
> Thanks!
>
> -Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101030/d40fdaa1/attachment.html>


More information about the llvm-dev mailing list