This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/48272] internal compiler error: in setup_insn_reg_pressure_info, at haifa-sched.c:1124
- From: "vmakarov at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 7 Apr 2011 21:23:06 +0000
- Subject: [Bug rtl-optimization/48272] internal compiler error: in setup_insn_reg_pressure_info, at haifa-sched.c:1124
- Auto-submitted: auto-generated
- References: <bug-48272-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48272
--- Comment #3 from Vladimir Makarov <vmakarov at redhat dot com> 2011-04-07 21:22:49 UTC ---
(In reply to comment #2)
> Confirmed (nice non-sensical set of options, btw.)
>
> The problem is that register pressure code is not prepared for new insns
> created during scheduling (for ia64, this is speculation checks and recovery
> code). The ICE happens because we do not initialize register pressure
> structures. The below patch seems to fix it, but I am not sure it is correct.
>
> The patch calls setup_insn_reg_pressure_info (renamed to
> init_insn_reg_pressure_info because there is the function with the same name in
> haifa-sched.c) from within haifa_init_insn, where new instructions created
> during scheduling are initialized. The patch does not call setup_insn_reg_uses
> as sched_analyze_insn does, because there is no deps context at that point. If
> some processing of this kind is desired, I guess we need to amend the functions
> that copy/init dependencies for recovery code (that is, create_check_block_twin
> and add_to_speculative_block). Finally, better name for
> init_insn_reg_pressure_info should be devised.
>
> Vlad, it would be great if you can advise me on how to improve the patch.
>
>
It is good enough. You can commit it of course with a proper changelog entry.
Thanks, Andrey.