http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54470



--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> 2012-11-30 
17:49:07 UTC ---

The problem is that whereas on other platforms, hiphip4 looks like:



hiphip4 (struct S s)

{

  void (*<T29e>) (struct S *) _2;



  <bb 2>:

  _2 = s.f;

  _2 (&s);

  return;

}



on hppa, there is an extra aggregate aggregate variable with an extra

assignment:



hiphip4 (struct S s)

{

  struct S s.0;

  void (*<T2b0>) (struct S *) _3;



  <bb 2>:

  s.0 = s;

  _3 = s.0.f;

  _3 (&s.0);

  return;

}



Thus _3 is not loaded from a PARM_DECL but from the extra VAR_DECL and

ipa-prop.c is not able to associate it with the parameter and I cannot

think of a simple way of doing that (I checked and

DECL_HAS_VALUE_EXPR_P of the parm decl is NULL when ipa-cp analysis

runs so that cannot be used, it seems).



Thus, I'm afraid that the best solution, at least for 4.8, is to xfail

the test for hppa.

Reply via email to