[llvm-dev] TableGen crash when building LLVM with EXPENSIVE_CHECKS enabled

Teresa Johnson via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 2 19:19:39 PDT 2019


FYI I just hit this, but found that adding -DLLVM_OPTIMIZED_TABLEGEN=ON
when I configured llvm fixed/hid the issue. Not sure why, but I found this
flag when examining how one of the expensive-checks bots was configured.

Teresa

On Mon, Jun 3, 2019 at 3:15 PM Alexander Richardson via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> This looks like https://bugs.llvm.org/show_bug.cgi?id=37652 to me. I
> added a workaround (
> https://github.com/CTSRD-CHERI/llvm-project/commit/a7e68c6baf9967cfb288ca6c53c43b29581d27d8)
> to our fork but never got around to submitting a review.
>
> If adding a copy of the libc++ implementation as llvm::shuffle seems like
> a valid approach I'll upload the patch to phabricator.
>
> Alex
>
>
> On Mon, 3 Jun 2019, 10:36 Nicolai Hähnle-Montoro via llvm-dev, <
> llvm-dev at lists.llvm.org> wrote:
>
>> I briefly dug into this and I can reproduce it, the issue appears to
>> be the implementation of std::shuffle (which is called by llvm::sort
>> with expensive checks).
>>
>> Sounds like you should file a bug against libstdc++.
>>
>> Cheers,
>> Nicolai
>>
>>
>> On Thu, May 30, 2019 at 10:39 AM Lau, Luke via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> >
>> > Hello,
>> > I'm trying to run checks with EXPENSIVE_CHECKS enabled, but it crashes
>> when
>> > generating some intrinsics file with TableGen.
>> >
>> > > cd /home/luke/Source/llvm-project/build && /home/luke/Source/llvm-
>> > > project/build/bin/llvm-tblgen -gen-intrinsic-impl -I
>> /home/luke/Source/llvm-
>> > > project/llvm/include/llvm/IR -I
>> /home/luke/Source/llvm-project/llvm/include
>> > > /home/luke/Source/llvm-project/llvm/include/llvm/IR/Intrinsics.td -o
>> > > include/llvm/IR/IntrinsicImpl.inc -d
>> include/llvm/IR/IntrinsicImpl.inc.d
>> > > /usr/bin/../lib/gcc/x86_64-linux-
>> > > gnu/8/../../../../include/c++/8/debug/safe_container.h:83:
>> > > Error: attempt to self move assign.
>> > >
>> > > Objects involved in the operation:
>> > >     sequence "this" @ 0x0x7fe3b3070468 {
>> > >     }
>> > >
>> >
>> > The command I've been using to configure it is
>> >
>> > > cmake ../llvm -G Ninja \
>> > >       -DCMAKE_BUILD_TYPE=Debug \
>> > >       -DLLVM_ENABLE_LLD=On \
>> > >       -DLLVM_ENABLE_EXPENSIVE_CHECKS=On
>> > >
>> >
>> > Removing the -DLLVM_ENABLE_EXPENSIVE_CHECKS=On allows it to build. Is
>> there
>> > something wrong with the version on libstdc++ on my system? (Debian
>> testing)
>> > This was happening on revision 5857bf5d1e5a5ffe5ae51a38514ee55495c0cc69
>> > --------------------------------------------------------------
>> > Intel Research and Development Ireland Limited
>> > Registered in Ireland
>> > Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
>> > Registered Number: 308263
>> >
>> >
>> > This e-mail and any attachments may contain confidential material for
>> the sole
>> > use of the intended recipient(s). Any review or distribution by others
>> is
>> > strictly prohibited. If you are not the intended recipient, please
>> contact the
>> > sender and delete all copies.
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > llvm-dev at lists.llvm.org
>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>> --
>> Lerne, wie die Welt wirklich ist,
>> aber vergiss niemals, wie sie sein sollte.
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>


-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190702/8a90ab4b/attachment.html>


More information about the llvm-dev mailing list