public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/107044] New: internal compiler error: in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456
@ 2022-09-26 20:42 macro at orcam dot me.uk
  2022-09-27  8:30 ` [Bug ipa/107044] ICE in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 since r12-6325-gad64a821970ef554 marxin at gcc dot gnu.org
  2022-09-27  8:31 ` marxin at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: macro at orcam dot me.uk @ 2022-09-26 20:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107044

            Bug ID: 107044
           Summary: internal compiler error: in
                    dump_possible_polymorphic_call_targets, at
                    ipa-devirt.cc:3456
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: macro at orcam dot me.uk
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---
            Target: riscv64-linux-gnu

Created attachment 53630
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53630&action=edit
Reproducer, taken from 483.xalancbmk in SPEC CPU2006

With the `riscv64-linux-gnu' target and the attached source I get an ICE:

during GIMPLE pass: fre
dump file: TokenFactory.ii.112t.fre3
TokenFactory.ii: In member function 'xercesc_2_5::Token*
xercesc_2_5::TokenFactory::getGraphemePattern()':
TokenFactory.ii:177:3: internal compiler error: in
dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456
  177 |   TokenFactory::getGraphemePattern ()
      |   ^~~~~~~~~~~~
0x11427cf7 dump_possible_polymorphic_call_targets(_IO_FILE*, tree_node*, long,
ipa_polymorphic_call_context const&, bool)
        /path/to/src/gcc/gcc/ipa-devirt.cc:3456
0x11d4ed63 eliminate_dom_walker::eliminate_stmt(basic_block_def*,
gimple_stmt_iterator*)
        /path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7007
0x11d4fa03 eliminate_dom_walker::before_dom_children(basic_block_def*)
        /path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7159
0x12915f1b dom_walker::walk(basic_block_def*)
        /path/to/src/gcc/gcc/domwalk.cc:311
0x11d506a7 eliminate_with_rpo_vn(bitmap_head*)
        /path/to/src/gcc/gcc/tree-ssa-sccvn.cc:7339
0x11d55c83 do_rpo_vn_1
        /path/to/src/gcc/gcc/tree-ssa-sccvn.cc:8451
0x11d560d3 execute
        /path/to/src/gcc/gcc/tree-ssa-sccvn.cc:8537
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/ccZIsvk3.out file, please attach this to
your bugreport.

with this compiler invocation:

$ riscv64-linux-gnu-g++ -fdump-tree-all -S -o TokenFactory.s -Ofast
--param=max-inline-insns-size=90 -march=rv64gc -mabi=lp64d TokenFactory.ii

GCC built with `-O0 -g' for the purpose of obtaining a reliable backtrace
only, the same ICE triggers with the usual `-O2' compilation.

NB this comes from the same program and is the same assertion as with
PR ipa/79931 and PR tree-optimization/80249.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug ipa/107044] ICE in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 since r12-6325-gad64a821970ef554
  2022-09-26 20:42 [Bug ipa/107044] New: internal compiler error: in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 macro at orcam dot me.uk
@ 2022-09-27  8:30 ` marxin at gcc dot gnu.org
  2022-09-27  8:31 ` marxin at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-27  8:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107044

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|internal compiler error: in |ICE in
                   |dump_possible_polymorphic_c |dump_possible_polymorphic_c
                   |all_targets, at             |all_targets, at
                   |ipa-devirt.cc:3456          |ipa-devirt.cc:3456 since
                   |                            |r12-6325-gad64a821970ef554
             Target|riscv64-linux-gnu           |riscv64-linux-gnu,
                   |                            |x86_64-linux-gnu
     Ever confirmed|0                           |1
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2022-09-27

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Not target-specific, but one needs to have enabled tree dumps.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug ipa/107044] ICE in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 since r12-6325-gad64a821970ef554
  2022-09-26 20:42 [Bug ipa/107044] New: internal compiler error: in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 macro at orcam dot me.uk
  2022-09-27  8:30 ` [Bug ipa/107044] ICE in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 since r12-6325-gad64a821970ef554 marxin at gcc dot gnu.org
@ 2022-09-27  8:31 ` marxin at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-09-27  8:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107044

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

cat pr107044.C
class Token;
struct {
  void addElement(Token *);
} * fTokens;
class RangeToken;
struct Token {
  virtual void addRange();
  virtual void mergeRanges(const Token *);
};
inline void Token::mergeRanges(const Token *) {}
RangeToken *createRange(bool = false);
struct RangeToken : Token {
  RangeToken();
  void mergeRanges(const Token *);
};
RangeToken *createRange(bool isNegRange) {
  RangeToken *tmpTok = isNegRange ? new RangeToken : new RangeToken;
  fTokens->addElement(tmpTok);
  return tmpTok;
}
Token getGraphemePattern() {
  Token *base_char = createRange();
  base_char->mergeRanges(0);
}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-27  8:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-26 20:42 [Bug ipa/107044] New: internal compiler error: in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 macro at orcam dot me.uk
2022-09-27  8:30 ` [Bug ipa/107044] ICE in dump_possible_polymorphic_call_targets, at ipa-devirt.cc:3456 since r12-6325-gad64a821970ef554 marxin at gcc dot gnu.org
2022-09-27  8:31 ` marxin at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).