When ALLOCATE_INITIAL_VALUE, allocate_initial_values will replace
a pseudo with a machine-defined value, but it won't update the
register liveness information.  This can lead to incorrect global
allocations.
An incomplete conflict list can be observed compiling execute/pr17377.c
at -O2 for sh64-elf.  If this leads to an actual execution failure
depends on details of if-conversion, the machine description and
register allocation, which are subject to change.

-- 
           Summary: allocate_initial_values does not adjust register
                    liveness information
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20793

Reply via email to