[Bug 264192] lang/ghc: poudriere based build used odd mix of devel/llvm10 and system toolchain

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 27 Aug 2022 22:19:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264192

--- Comment #47 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Mark Millard from comment #34)

I wonder if armv7 (and armv6 and 32 bit powerpc) should be marked for being
ignored or as broken for lang/ghc* . This is based in part on the below.

I built an aarch64 llvm12 and used its llc to process a copy
of the ghc_6.bc involved in the armv7 allocation failure
context --under a time -l command:

4275764  maximum resident set size

So a little over 4 GiBytes resident at some point.
(armv7 based processing goes over 2 GiBytes for sure,
same file content being processed.)

The aarch64 llc did run to completion.

With --stats and --time-passes there was the output:

                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 267.3322 seconds (271.6376 wall clock)
   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  138.2117 ( 58.9%)   7.5446 ( 23.1%)  145.7563 ( 54.5%)  152.2172 ( 56.0%) 
ARM Instruction Selection
  19.4413 (  8.3%)  11.4447 ( 35.0%)  30.8859 ( 11.6%)  30.4681 ( 11.2%)  ARM
Assembly Printer
   9.1118 (  3.9%)   1.7649 (  5.4%)  10.8767 (  4.1%)  10.1547 (  3.7%) 
Greedy Register Allocator
. . .
 234.6558 (100.0%)  32.6764 (100.0%)  267.3322 (100.0%)  271.6376 (100.0%) 
Total
. . .
                                LLVM IR Parsing
===-------------------------------------------------------------------------===
  Total Execution Time: 25.9741 seconds (25.9732 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  24.5730 (100.0%)   1.4011 (100.0%)  25.9741 (100.0%)  25.9732 (100.0%)  Parse
IR
  24.5730 (100.0%)   1.4011 (100.0%)  25.9741 (100.0%)  25.9732 (100.0%)  Total
. . .
                      Instruction Selection and Scheduling
===-------------------------------------------------------------------------===
  Total Execution Time: 113.1396 seconds (118.8488 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  46.0782 ( 42.4%)   0.9671 ( 21.4%)  47.0452 ( 41.6%)  50.7440 ( 42.7%)  DAG
Combining 1
  18.3827 ( 16.9%)   0.4413 (  9.8%)  18.8240 ( 16.6%)  19.8558 ( 16.7%)  DAG
Combining 2
  12.1597 ( 11.2%)   0.1607 (  3.6%)  12.3204 ( 10.9%)  13.0605 ( 11.0%)  DAG
Combining after legalize types
  10.6380 (  9.8%)   0.4853 ( 10.7%)  11.1233 (  9.8%)  11.6023 (  9.8%) 
Instruction Selection
   9.5097 (  8.8%)   0.7766 ( 17.2%)  10.2863 (  9.1%)  10.3773 (  8.7%) 
Instruction Scheduling
. . .
  108.6230 (100.0%)   4.5166 (100.0%)  113.1396 (100.0%)  118.8488 (100.0%) 
Total

The recent armv7 failure examples via ghc 9 stage activity
have all reported llc failure during:

Running pass 'ARM Instruction Selection'

as well. Older ghc (8.10.7) hit the haddock related memory
allocation failures on armv7.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.