This is the mail archive of the 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]

Re: RFA: one more patch to solve PR37535

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

J. David Anglin                        
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]