[LLVMdev] Incorrect loop optimization when building the Linux kernel
David Majnemer
david.majnemer at gmail.com
Mon Dec 8 09:58:30 PST 2014
On Monday, December 8, 2014, Joerg Sonnenberger <joerg at britannica.bec.de>
wrote:
> On Mon, Dec 08, 2014 at 02:03:28AM -0800, David Majnemer wrote:
> > Nick, consider:
> >
> > char a[0];
> > char b[0];
> >
> > at run-time:
> > (gdb) p &a
> > $1 = (char (*)[]) 0x60103c
> > (gdb) p &b
> > $2 = (char (*)[]) 0x60103c
> >
> > Even if this is not safe at the C or C++ level, this comparison could
> > return equal or not equal depending on what the linker chooses to do.
>
> It is invalid C as is the original code. If you want to play such linker
> games, mark one of the objects involved as weak.
Right, but nothing forbids this comparison at the IR level.
>
> Joerg
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <javascript:;> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141208/8d2186f0/attachment.html>
More information about the llvm-dev
mailing list