This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/20070] If-conversion can't match equivalent code, and cross-jumping only works for literal matches
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Feb 2005 16:38:30 -0000
- Subject: [Bug rtl-optimization/20070] If-conversion can't match equivalent code, and cross-jumping only works for literal matches
- References: <20050219032903.20070.amylaar@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From amylaar at gcc dot gnu dot org 2005-02-21 16:38 -------
While merging the patch in a 3.4.3 based branch, I noticed three small issues:
- The rest_of_handle_life prototype in passes.c is not necessary. It is a
vestige from a previous (more intrusive) attempt to provide life
information to if_convert.
- In passes.c:rest_of_handle_if_conversion, at the end of the
flag_expensive_optimizations code, EXIT_BLOCK_PTR->global_live_at_start
has to be cleared for compatibility with this patch:
2004-05-17 J"orn Rennecke <joern.rennecke@superh.com>
* cse.c (trivially_dead_nonlocal_regs): New variable.
(note_dead_set): New function.
(delete_trivially_dead_insns): If life info is available, update it.
For completeness, we might also clear ENTRY_BLOCK_PTR->global_live_at_end.
- config/pa/pa.c:pa_commutative_p is missing the parameter list:
(rtx x, int outer_code)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20070