This is the mail archive of the gcc-patches@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] |
On Mon, 29 Sep 2008, Vladimir Makarov wrote: > Jeff, This is one more patch to fix PR37355. The changes in comparison > with previous version are in mark_early_clobber and process_bb_node_lives. > The problem was in wrong processing early clobber of hard registers which > are not operands and therefore have no constraints. One example of such > insn from rs6000.md is > > (define_insn "" > [(set (mem:BLK (match_operand:SI 0 "gpc_reg_operand" "b")) > (mem:BLK (match_operand:SI 1 "gpc_reg_operand" "b"))) > (use (match_operand:SI 2 "immediate_operand" "i")) > (use (match_operand:SI 3 "immediate_operand" "i")) > (clobber (match_operand:SI 4 "gpc_reg_operand" "=&r")) > (clobber (reg:SI 6)) > (clobber (reg:SI 7)) > (clobber (reg:SI 8)) > (clobber (reg:SI 9)) > (clobber (reg:SI 10)) > (clobber (reg:SI 11)) > (clobber (reg:SI 12)) > (clobber (match_scratch:SI 5 "=q"))] > > Now all clobbers of hard registers are treated as early clobbers. I have tested this patch. As before, it fixes PR37535 but not PR37608. I'm fairly certain that there is still a problem in the handling of clobbers of hard registers. I reworked the PA PIC call patterns to avoid the r4 clobber (see attached change). This avoids the problem noted in PR37608 and the hppa64-hp-hpux11.11 target now builds successfully. However, I have had problems with the miscompilation of __cxa_call_unexpected in eh_personality.cc when the PIC register restore was exposed in the call patterns. I'm hopeful that the attached version of the change will avoid this problem. The restore of the PIC register in the exception receiver was being deleted by cse. Part of the problem is the backend doesn't know whether a call is a noreturn call or not when the call pattern is being emitted. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Attachment:
pa-r4.d.12
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |