diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2004-06-25 18:30:09 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2004-06-25 14:30:09 -0400 |
commit | 75822272d9f74ec95289fe8dd74944c383c14348 (patch) | |
tree | 7c8cf6d03b810dc8e85375f82476d9c4c4b891b9 /gcc/tree-dfa.c | |
parent | f1526aaae77c8082ef42691d03254926f5104b64 (diff) | |
download | gcc-75822272d9f74ec95289fe8dd74944c383c14348.zip gcc-75822272d9f74ec95289fe8dd74944c383c14348.tar.gz gcc-75822272d9f74ec95289fe8dd74944c383c14348.tar.bz2 |
tree-dfa.c (get_virtual_var): Merge real/imaginary parts with handled_component_p handling.
* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
handled_component_p handling.
* tree-gimple.c (get_base_address): Likewise and fix typo that
caused both recursion and looping.
From-SVN: r83669
Diffstat (limited to 'gcc/tree-dfa.c')
-rw-r--r-- | gcc/tree-dfa.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c index 2778d53..99f998f 100644 --- a/gcc/tree-dfa.c +++ b/gcc/tree-dfa.c @@ -922,11 +922,9 @@ get_virtual_var (tree var) if (TREE_CODE (var) == SSA_NAME) var = SSA_NAME_VAR (var); - if (TREE_CODE (var) == REALPART_EXPR || TREE_CODE (var) == IMAGPART_EXPR) + while (TREE_CODE (var) == REALPART_EXPR || TREE_CODE (var) == IMAGPART_EXPR + || handled_component_p (var)) var = TREE_OPERAND (var, 0); - else - while (handled_component_p (var)) - var = TREE_OPERAND (var, 0); #ifdef ENABLE_CHECKING /* Treating GIMPLE registers as virtual variables makes no sense. |