------- Comment #8 from pinskia at gcc dot gnu dot org 2008-05-05 20:50 ------- That is: Index: gcc/gcc/tree-ssa-forwprop.c =================================================================== --- gcc/gcc/tree-ssa-forwprop.c (revision 134951) +++ gcc/gcc/tree-ssa-forwprop.c (working copy) @@ -657,6 +657,9 @@ forward_propagate_addr_expr_1 (tree name && TREE_OPERAND (rhs, 0) == name && TYPE_SIZE (TREE_TYPE (rhs)) && TYPE_SIZE (TREE_TYPE (TREE_OPERAND (def_rhs, 0))) + /* Function decls should not be used for VCE either as it could be + a function descriptor that we want and not the actual function code. */ + && TREE_CODE (TREE_OPERAND (def_rhs, 0)) != FUNCTION_DECL /* We should not convert volatile loads to non volatile loads. */ && !TYPE_VOLATILE (TREE_TYPE (rhs)) && !TYPE_VOLATILE (TREE_TYPE (TREE_OPERAND (def_rhs, 0)))
If you could test that on ia64-linux too, that would be nice. Thanks, Andrew Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36141