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