https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101625
Bug ID: 101625 Summary: ICE in modref_tree<int>::merge with LTO and -m32 Product: gcc Version: 11.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: tonyb at cybernetics dot com CC: marxin at gcc dot gnu.org Target Milestone: --- Created attachment 51206 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51206&action=edit Relevant *.i preprocessed source files from grub ICE when building grub with LTO. Builds correctly when LTO disabled. gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/home/tonyb/tmp/gcc/install/libexec/gcc/x86_64-pc-linux-gnu/11.1.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --prefix=/home/tonyb/tmp/gcc/install Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.1.1 20210726 (GCC) gcc -std=gnu99 -Os -m32 -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -march=i386 -mrtd -mregparm=3 -falign-jumps=1 -falign-loops=1 -falign-functions=1 -freg-struct-return -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -msoft-float -fno-dwarf2-cfi-asm -mno-stack-arg-probe -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-ident -fno-stack-protector -Wtrampolines -Werror -ffreestanding -fno-builtin -Wno-undef -flto -ffat-lto-objects -fuse-linker-plugin -save-temps -Wno-error=implicit-fallthrough= -m32 -Wl,-melf_i386 -Wl,--build-id=none -nostdlib -Wl,-N -Wl,-r,-d -flto -ffat-lto-objects -fuse-linker-plugin -o zstd.module lib/zstd/zstd_module-debug.o lib/zstd/zstd_module-entropy_common.o lib/zstd/zstd_module-error_private.o lib/zstd/zstd_module-fse_decompress.o lib/zstd/zstd_module-huf_decompress.o lib/zstd/zstd_module-module.o lib/zstd/zstd_module-xxhash.o lib/zstd/zstd_module-zstd_common.o lib/zstd/zstd_module-zstd_decompress.o during IPA pass: inline lto1: internal compiler error: Segmentation fault 0xadc82f crash_signal ../../gcc/gcc/toplev.c:327 0x90135a modref_tree<int>::merge(modref_tree<int>*, vec<modref_parm_map, va_heap, vl_ptr>*) ../../gcc/gcc/ipa-modref-tree.h:420 0x8f916a ipa_merge_modref_summary_after_inlining(cgraph_edge*) ../../gcc/gcc/ipa-modref.c:3096 0x8ecd94 inline_call(cgraph_edge*, bool, vec<cgraph_edge*, va_heap, vl_ptr>*, int*, bool, bool*) ../../gcc/gcc/ipa-inline-transform.c:503 0x1438e56 inline_small_functions ../../gcc/gcc/ipa-inline.c:2242 0x1438e56 ipa_inline ../../gcc/gcc/ipa-inline.c:2723 0x1438e56 execute ../../gcc/gcc/ipa-inline.c:3122