Segfault in llc 3.8.0 building GHC

Hi all,

I'm hitting a segfault in llc when trying to build GHC:
http://sprunge.us/ZVGB. What is the best way to debug this? I'm able to
bump to 3.8.1 if needed, but GHC tends to break when updating major
versions due to IR incompatibilities.

Thanks,
Shea

The stack dump contains the program arguments so you should be able to
reproduce the crash yourself.

0. Program arguments:
/nix/store/izlawmnrzpk5sbr62c757cxay0kdlgam-llvm-3.8.0/bin/llc -O3
-relocation-model=dynamic-no-pic
/private/tmp/nix-build-ghc-8.1.201601019.drv-3/ghc37608_0/ghc_5.bc -o
/private/tmp/nix-build-ghc-8.1.201601019.drv-3/ghc37608_0/ghc_6.lm_s
--enable-tbaa=true -mattr=+v7,+vfp3
[...]
1. Running pass 'Function Pass Manager' on module
'/private/tmp/nix-build-ghc-8.1.201601019.drv-3/ghc37608_0/ghc_5.bc'.
2. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on
function '@"stg_unmaskAsyncExceptionszh_ret_info$def"'

If you're able to repro, I recommend to get LLVM trunk from svn and
see if you can still reproduce, and report a bug in that case (or if
it doesn't, backport the commit(s) that fixed).

Davide Italiano via llvm-dev <llvm-dev@lists.llvm.org> writes:

Thanks! I'll give this a shot this week.

Justin Bogner <mail@justinbogner.com> writes:

I found a fix! The first hunk of https://reviews.llvm.org/D17533
(lib/CodeGen/TargetFrameLoweringImpl.cpp) on top of 3.8.1 does the
trick.

Does llvm do patch releases of old versions?

Davide Italiano <davide@freebsd.org> writes:

Shea Levy via llvm-dev <llvm-dev@lists.llvm.org> writes:

I found a fix! The first hunk of https://reviews.llvm.org/D17533
(lib/CodeGen/TargetFrameLoweringImpl.cpp) on top of 3.8.1 does the
trick.

Does llvm do patch releases of old versions?

We do have point releases, but I don't know if there are any more
planned for the 3.8.x series. Tom (cc'd) would know.