Help with GHDL : GCC fails during -O2 optimisation passes.
Brian Drummond
brian@shapes.demon.co.uk
Fri Dec 6 23:39:00 GMT 2013
On Fri, 2013-12-06 at 21:23 +0000, Brian Drummond wrote:
> Hi,
>
> I'm trying to get ghdl to build against gcc4.8.2. I seem to have a
> regression over gcc4.7 and I'm looking for some pointers to fix it.
Summary of problem:
> ghdl -a -O2 test_utils.vhd
> 0x5314cf crash_signal
> /home/brian/Projects/gcc4.8.2/source/gcc-4.8.2/gcc/toplev.c:332
> 0x7c0934 gimple_build_call(tree_node*, unsigned int, ...)
> /home/brian/Projects/gcc4.8.2/source/gcc-4.8.2/gcc/gimple.c:248
> 0xddaa4f unloop_loops(bitmap_head_def*, bool*)
> /home/brian/Projects/gcc4.8.2/source/gcc-4.8.2/gcc/
The relevant line (tree-ssa-loop-ivcanon.c:623) is:
stmt = gimple_build_call
(builtin_decl_implicit (BUILT_IN_UNREACHABLE), 0);
which is ... not failing the ASSERT in gimple.c:248 but segfaulting ...
apparently because of a problem with builtin_info(BUILT_IN_UNREACHABLE).
I believe I can work around the issue by creating my own (dummy)
builtin_unreachable function and installing it with the correct implicit
property using set_builtin_decl(). I'll find out tomorrow.
But it might have made life easier if the gimple_build_call had actually
asserted at its assert statement, rather than segfaulting...
Any further light or a better solution much appreciated, thanks!
- Brian
More information about the Gcc-help
mailing list