[PATCH] D22435: Fix pruned jump table basic blocks causing compilation failure (Bug 28102)

Timothy Pearson via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 13:15:12 PDT 2016


madscientist159 added a comment.

In https://reviews.llvm.org/D22435#486775, @nemanjai wrote:

> Hi Timothy,
>  regarding Clang + LLC not reproducing the issue...
>
> It is important that you produce the .ll file with all the information it would have in a "straight-through" compilation. That is, you need to pass the same optimization option to Clang when producing the .ll file. This would of course perform all the IR -> IR transformations which may mask your problem, so you need to pass `-mllvm -disable-llvm-optzns` to Clang.
>
> So based on the information you attached to PR28102, it would be something like:
>  `-fPIC -Wno-switch -Wno-unused-value -fvisibility=hidden -DNDEBUG -g -O2 -std=c++11 -mllvm -disable-llvm-optzns -S -emit-llvm`
>
> Hopefully, this will help with bugpoint and hopefully bugpoint will reduce/obscure the code enough that IP is no longer an issue.


Unfortunately this still doesn't work.  Compiling directly with clang yields:
fatal error: error in backend: Undefined temporary symbol (technically this is the assembler choking on the invalid label)

Running clang -emit-llvm and llc separately produces an assembler file that does not contain the invalid label.  Very odd.


https://reviews.llvm.org/D22435





More information about the llvm-commits mailing list