https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110332
Sergei Trofimovich <slyfox at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |slyfox at gcc dot gnu.org --- Comment #6 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- I think I see the same ICE on llvm-12 and r14-2009-g864c6471bdc6cd: cvise produced this thing: // $ cat a.cpp.cpp struct SlotIndex { int lie; }; SlotIndex si7, si8; unsigned u9, u6; bool b3, b4; unsigned &value() { return b4 ? u6 : u9; } void transferValues() { unsigned RegIdx; SlotIndex End; RegIdx = value(); End = b3 ? si7 : si8; } $ g++ -O3 -c a.cpp.cpp -o a.o during GIMPLE pass: phiprop a.cpp.cpp: In function 'void transferValues()': a.cpp.cpp:14:1: internal compiler error: Segmentation fault 14 | } | ^ 0x1d74824 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) ???:0 0x1d74d97 internal_error(char const*, ...) ???:0 0xe9bfdf crash_signal(int) ???:0 0xa851da dominated_by_p(cdi_direction, basic_block_def const*, basic_block_def const*) ???:0 0x102096b (anonymous namespace)::pass_phiprop::execute(function*) ???:0 $ g++ -v Using built-in specs. COLLECT_GCC=/<<NIX>>/gcc-14.0.0/bin/g++ COLLECT_LTO_WRAPPER=/<<NIX>>/gcc-14.0.0/libexec/gcc/x86_64-unknown-linux-gnu/14.0.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: Thread model: posix Supported LTO compression algorithms: zlib gcc version 14.0.0 99999999 (experimental) (GCC)