http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57003
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-25 09:54:20 UTC --- Created attachment 29936 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29936 gcc49-pr57003.patch Untested fix. While we kill_clobbered_value early, for SET in CALL_INSN_FUNCTION_USAGE we add a value equivalence. In standard x86_64 ABI %rdi is invalidated by the call and present in the hard reg set to invalidate, so it is removed again, and perhaps if there is some target where the first argument is passed in non-call-clobbered register, the equivalence is correct. So, what the patch does is in this case apply the clobbers again. Bernd, does this look reasonable to you as the author of those changes?