OSDN Git Service

Revert unintended commit.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2008 06:42:00 +0000 (06:42 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2008 06:42:00 +0000 (06:42 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141128 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/tree-switch-conversion.c

index 798cf16..e975745 100644 (file)
@@ -296,29 +296,12 @@ check_final_bb (void)
        {
          basic_block bb = gimple_phi_arg_edge (phi, i)->src;
 
-         if (bb == info.switch_bb
-             || (single_pred_p (bb) && single_pred (bb) == info.switch_bb))
+         if ((bb == info.switch_bb
+              || (single_pred_p (bb) && single_pred (bb) == info.switch_bb))
+             && !is_gimple_ip_invariant (gimple_phi_arg_def (phi, i)))
            {
-             tree reloc, val;
-
-             val = gimple_phi_arg_def (phi, i);
-             if (!is_gimple_ip_invariant (val))
-               {
-                 info.reason = "   Non-invariant value from a case\n";
-                 return false; /* Non-invariant argument.  */
-               }
-             reloc = initializer_constant_valid_p (val, TREE_TYPE (val));
-             if ((flag_pic && reloc != null_pointer_node)
-                 || (!flag_pic && reloc == NULL_TREE))
-               {
-                 if (reloc)
-                   info.reason
-                     = "   Value from a case would need runtime relocations\n";
-                 else
-                   info.reason
-                     = "   Value from a case is not a valid initializer\n";
-                 return false;
-               }
+             info.reason = "   Non-invariant value from a case\n";
+             return false; /* Non-invariant argument.  */
            }
        }
     }