View | Details | Return to bug 67828
Collapse All | Expand All

(-)a/gcc/tree-ssa-loop-unswitch.c (+8 lines)
Lines 157-162 tree_may_unswitch_on (basic_block bb, struct loop *loop) Link Here
157
  /* Condition must be invariant.  */
157
  /* Condition must be invariant.  */
158
  FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_USE)
158
  FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_USE)
159
    {
159
    {
160
      /* Default defs are only ok if they refer to a PARM_DECL.
161
        Anything else may be uninitialized, and unswitching on it may
162
        introduce undefined behavior that the original program
163
        wouldn't exercise.  */
164
      if (SSA_NAME_IS_DEFAULT_DEF (use)
165
         && (!SSA_NAME_VAR (use)
166
             || TREE_CODE (SSA_NAME_VAR (use)) != PARM_DECL))
167
       return NULL_TREE;
160
      def = SSA_NAME_DEF_STMT (use);
168
      def = SSA_NAME_DEF_STMT (use);
161
      def_bb = gimple_bb (def);
169
      def_bb = gimple_bb (def);
162
      if (def_bb
170
      if (def_bb

Return to bug 67828