]> git.ipfire.org Git - thirdparty/gcc.git/commit
genopinit: Split init_all_optabs [PR113575].
authorRobin Dapp <rdapp@ventanamicro.com>
Wed, 24 Jan 2024 16:28:31 +0000 (17:28 +0100)
committerRobin Dapp <rdapp@ventanamicro.com>
Fri, 26 Jan 2024 21:12:06 +0000 (22:12 +0100)
commit861997a9c7088da25ed4dc0bd339060ca063514f
treeabf78015b18bd257f8e97ff76bb4df8d17126c13
parenteb619490b01baa2fc2b5ee98d15516c4a2372e74
genopinit: Split init_all_optabs [PR113575].

init_all_optabs initializes > 10000 patterns for riscv targets.  This
leads to pathological situations in dataflow analysis (which can occur
with many adjacent stores).
To alleviate this this patch makes genopinit split the init_all_optabs
function into several init_optabs_xx functions that each initialize 1000
patterns.

With this change insn-opinit.cc's compilation time is reduced from 4+
minutes to 1:30 and memory consumption decreases from 1.2G to 630M.

gcc/ChangeLog:

PR other/113575

* genopinit.cc (main): Split init_all_optabs into functions
of 1000 patterns each.
gcc/genopinit.cc