-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Zdenek Dvorak wrote:
> 
> this can never happen.  Note that is_real_op = is_gimple_reg (var), and
> a call clobbered variable can never satisfy is_gimple_reg.  Most likely
> you forget to set TREE_ADDRESSABLE for this variable.  Or it gets to
> call_clobbered_vars wrongly.

Oh! That might explain why this hasn't manifested itself
on mainline yet and why even after I put in this workaround
patch:
- ------------------------ 8< -----------------------
Index: tree-ssa-operands.c
===================================================================
- --- tree-ssa-operands.c (revision 109471)
+++ tree-ssa-operands.c (working copy)
@@ -1770,8 +1770,10 @@ add_call_read_ops (tree stmt)
   /* Add a VUSE for each call-clobbered variable.  */
   EXECUTE_IF_SET_IN_BITMAP (call_clobbered_vars, 0, i, bi)
     {
- -      tree var = referenced_var (i);
- -      add_stmt_operand (&var, &empty_ann, opf_none);
+      /* FIXME: Temporary workaround. */
+      tree **var_pp = ggc_alloc (sizeof (tree *));
+      *var_pp = &(referenced_var (i));
+      add_stmt_operand (*var_pp, &empty_ann, opf_none);
     }

   ro_call_aliased_loads = empty_ann.makes_aliased_loads;
- ------------------------ 8< -----------------------

it still aborts later on (checking is enabled) in
var_ann() in tree-flow-inline.h where the assertion
DECL_P(t) fails - T happens to be an SSA_NAME that
wraps(?) the VAR_DECL for the "SPECIALS" field of
the UnicodeBlock inner class of java.lang.Character.

All the times that this erroneous code path was
taken, the variables were either "SPECIALS" itself
or aliases to it. Thanks a lot. I'll investigate this
when I get some more time.

However, it still remains true that the code path
I referred to is wrong and if, as you say, it can
never be taken, it should just be removed and
replaced with an assertion codifying what you
are saying.

Thanks,
Ranjit.

- --
Ranjit Mathew       Email: rmathew AT gmail DOT com

Bangalore, INDIA.     Web: http://ranjitmathew.hostingzero.com/




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFDwc/uYb1hx2wRS48RAiGjAJ9yXv0wlyEf3mTP8uhZWrAssvphBwCggLLM
Ve3PA7Ql4Qm40yUBSvjdNqU=
=w40V
-----END PGP SIGNATURE-----

Reply via email to