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

Reply via email to