This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/20070] If-conversion can't match equivalent code, and cross-jumping only works for literal matches


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]