diff options
author | Richard Guenther <rguenther@suse.de> | 2012-05-22 11:59:41 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-05-22 11:59:41 +0000 |
commit | 3828719aa915799d17cb2c650a48fd9f5ba88187 (patch) | |
tree | d8263cd9215e1a5a4e587cf8cfb703ab3c0c6850 /gcc/gimple.c | |
parent | 72d5c6c1575874d0377d4d637fa1311e60378e72 (diff) | |
download | gcc-3828719aa915799d17cb2c650a48fd9f5ba88187.zip gcc-3828719aa915799d17cb2c650a48fd9f5ba88187.tar.gz gcc-3828719aa915799d17cb2c650a48fd9f5ba88187.tar.bz2 |
tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
2012-05-22 Richard Guenther <rguenther@suse.de>
* tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
(init_function_for_compilation): Remove.
* tree-dfa.c (find_vars_r): Take struct function argument.
(find_referenced_vars_in): Adjust.
* tree-ssa-operands.c (clobber_stats): Remove.
(create_vop_var): Take struct function argument. Mark
virtual operand with VAR_DECL_IS_VIRTUAL_OPERAND.
(init_ssa_operands): Take struct function argument.
(fini_ssa_operands): Do not dump dead stats.
* tree-ssa-operands.h (init_ssa_operands): Take struct function
argument.
* cgraphunit.c (init_lowered_empty_function): Adjust.
* lto-streamer-in.c (input_cfg): Likewise.
* tree-inline.c (initialize_cfun): Likewise.
* tree-into-ssa.c (rewrite_into_ssa): Likewise.
* omp-low.c (expand_omp_taskreg): Likewise. Avoid switching
cfun.
* gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
virtual operands are not registers.
From-SVN: r187772
Diffstat (limited to 'gcc/gimple.c')
-rw-r--r-- | gcc/gimple.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/gimple.c b/gcc/gimple.c index 4fc8362..bb02864 100644 --- a/gcc/gimple.c +++ b/gcc/gimple.c @@ -2786,7 +2786,17 @@ bool is_gimple_reg (tree t) { if (TREE_CODE (t) == SSA_NAME) - t = SSA_NAME_VAR (t); + { + t = SSA_NAME_VAR (t); + if (TREE_CODE (t) == VAR_DECL + && VAR_DECL_IS_VIRTUAL_OPERAND (t)) + return false; + return true; + } + + if (TREE_CODE (t) == VAR_DECL + && VAR_DECL_IS_VIRTUAL_OPERAND (t)) + return false; if (!is_gimple_variable (t)) return false; |