OSDN Git Service

* tree-ssa-threadupdate.c (rediscover_loops_after_threading):
[pf3gnuchains/gcc-fork.git] / gcc / tree-ssanames.c
index c71f039..5077808 100644 (file)
@@ -15,8 +15,8 @@ GNU General Public License for more details.
                                                                                
 You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 #include "config.h"
 #include "system.h"
@@ -121,7 +121,7 @@ tree
 make_ssa_name (tree var, tree stmt)
 {
   tree t;
-  ssa_imm_use_t *imm;
+  use_operand_p imm;
 
   gcc_assert (DECL_P (var)
              || TREE_CODE (var) == INDIRECT_REF);
@@ -183,7 +183,7 @@ release_ssa_name (tree var)
 
   /* Never release the default definition for a symbol.  It's a
      special SSA name that should always exist once it's created.  */
-  if (var == var_ann (SSA_NAME_VAR (var))->default_def)
+  if (var == default_def (SSA_NAME_VAR (var)))
     return;
 
   /* If VAR has been registered for SSA updating, don't remove it.
@@ -205,7 +205,7 @@ release_ssa_name (tree var)
     {
       tree saved_ssa_name_var = SSA_NAME_VAR (var);
       int saved_ssa_name_version = SSA_NAME_VERSION (var);
-      ssa_imm_use_t *imm = &(SSA_NAME_IMM_USE_NODE (var));
+      use_operand_p imm = &(SSA_NAME_IMM_USE_NODE (var));
 
 #ifdef ENABLE_CHECKING
       verify_imm_links (stderr, var);
@@ -289,6 +289,10 @@ release_defs (tree stmt)
   tree def;
   ssa_op_iter iter;
 
+  /* Make sure that we are in SSA.  Otherwise, operand cache may point
+     to garbage.  */
+  gcc_assert (in_ssa_p);
+
   FOR_EACH_SSA_TREE_OPERAND (def, stmt, iter, SSA_OP_ALL_DEFS)
     if (TREE_CODE (def) == SSA_NAME)
       release_ssa_name (def);