diff options
Diffstat (limited to 'gcc/tree-object-size.c')
-rw-r--r-- | gcc/tree-object-size.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c index 7e341b0..fcf9316 100644 --- a/gcc/tree-object-size.c +++ b/gcc/tree-object-size.c @@ -973,14 +973,12 @@ collect_object_sizes_for (struct object_size_info *osi, tree var) break; case GIMPLE_NOP: - { - tree decl = SSA_NAME_VAR (var); - - if (TREE_CODE (decl) != PARM_DECL && DECL_INITIAL (decl)) - expr_object_size (osi, var, DECL_INITIAL (decl)); - else - expr_object_size (osi, var, decl); - } + if (SSA_NAME_VAR (var) + && TREE_CODE (SSA_NAME_VAR (var)) == PARM_DECL) + expr_object_size (osi, var, SSA_NAME_VAR (var)); + else + /* Uninitialized SSA names point nowhere. */ + object_sizes[object_size_type][varno] = unknown[object_size_type]; break; case GIMPLE_PHI: |