OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* tree-ssa-threadupdate.c (rediscover_loops_after_threading):
[pf3gnuchains/gcc-fork.git]
/
gcc
/
tree-ssanames.c
diff --git
a/gcc/tree-ssanames.c
b/gcc/tree-ssanames.c
index
c71f039
..
5077808
100644
(file)
--- a/
gcc/tree-ssanames.c
+++ b/
gcc/tree-ssanames.c
@@
-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
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, 5
9 Temple Place - Suite 330
,
-Boston, MA 0211
1-1307
, USA. */
+the Free Software Foundation, 5
1 Franklin Street, Fifth Floor
,
+Boston, MA 0211
0-1301
, USA. */
#include "config.h"
#include "system.h"
#include "config.h"
#include "system.h"
@@
-121,7
+121,7
@@
tree
make_ssa_name (tree var, tree stmt)
{
tree t;
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);
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. */
/* 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.
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);
{
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);
#ifdef ENABLE_CHECKING
verify_imm_links (stderr, var);
@@
-289,6
+289,10
@@
release_defs (tree stmt)
tree def;
ssa_op_iter iter;
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);
FOR_EACH_SSA_TREE_OPERAND (def, stmt, iter, SSA_OP_ALL_DEFS)
if (TREE_CODE (def) == SSA_NAME)
release_ssa_name (def);