Re: strange use of function_invariant_p

2010-06-18 Thread Bernd Schmidt
On 06/18/10 09:41, Joern Rennecke wrote: > I found in an as-yet unreleased port that I had to use an UNSPEC as a > placeholder for the return address; it is conceivable that you want > to express the location of return address as the sum of the stack pointer > and an as-yet unknown constant integer

Re: strange use of function_invariant_p

2010-06-18 Thread Joern Rennecke
Quoting Bernd Schmidt : On 06/18/2010 08:38 AM, Joern Rennecke wrote: You are not only rejecting invalid pic constants, you reject everything that's not CONST_INT. That could also include a (const (unspec ...)) for some integer the target has to calculate after register allocation / frame lay

Re: strange use of function_invariant_p

2010-06-18 Thread Bernd Schmidt
On 06/18/2010 08:38 AM, Joern Rennecke wrote: > You are not only rejecting invalid pic constants, you reject everything > that's not CONST_INT. That could also include a > (const (unspec ...)) for some integer the target has to calculate after > register allocation / frame layout. Examples? I'v

strange use of function_invariant_p (Was: Re: Followup for reg_equiv_invariant patch: Fix PR39871)

2010-06-17 Thread Joern Rennecke
Quoting Bernd Schmidt : On 06/15/2010 12:55 PM, Bernd Schmidt wrote: On 06/15/2010 08:00 AM, Joern Rennecke wrote: [constants like (plus (REG:SI SP_REG) (symbol_ref foo))] function_invariant_p will accept them. I guess we can change that and not lose anything. This is what I committed a