
Hi all, It seems that commit 42448e3757 from git HEAD has been pulled into the ghc-7.10 branch as commit 07da52ce2d. This is problematic because that patch puts in a *requirement* for llvm-3.6 (which is good for git HEAD) but the llvm backend code in the ghc-7.10 branch does not compiler with llvm-3.6. Specifically, on armhf I get: /usr/bin/opt-3.6: /tmp/ghc16494_0/ghc16494_2.ll:7:6: error: unexpected type in metadata definition !0 = metadata !{metadata !"top", i8* null} Furthermore, validating the ghc-7.10 branch on amd64-linis results in 16 unexpected failures (i'm currenty in the process of validating this branch with the problematic commit reverted). At this point we need to decide whether: a) Require llvm-3.6 for 7.10.2 and later. or b) Revert commit 07da52ce2d in the ghc-7.10 branch and continue to use llvm-3.5 for the 7.10 series. For option a) we would need to do the following: * Pull in 5d5abdca31 from git HEAD that upgrades the LLVM backend to support llvm-3.6 only. * Pull in 485dba86 from git HEAD that updates the configure stuff and is really the second part of 42448e3757. For option b) we would need to do the following: * Revert 07da52ce2d from ghc-7.10 * Apply the patch mentioned here: https://ghc.haskell.org/trac/ghc/ticket/10234#comment:11 At this point, my personal preference would be a). For me, git HEAD using llvm-3.6 has been working a lot better on armhf and arm64 than the ghc-7.10 branch. Ticket #10234 has been set to 'merge' status to refect this. Cheers, Erik PS : I would have raised another ticket about this, but I think the problem here was actually caused by too many tickets and too many commits being involved. Interesting tidbits in case anyone is interested: * On armhf, building the ghc-7.10 branch fails because we a generating LLVM IR code targeted for llvm-3.5 and trying to compile it with llcm-3.6. * The ghc-7.10 validates (with 16 unexpected failures) in x86 variants because validation uses the NCG to build the compiler and ignores the requirement for llvm-3.6, and then bindisttest compiler just uses "llc" and "opt" (in git HEAD this difference between the compiler configure script and the binary-dist configure script is fixed in 485dba86 and it is fixed in ghc-7.10 by the patch in https://ghc.haskell.org/trac/ghc/ticket/10234#comment:11). -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/