diff options
author | Andrew Pinski <pinskia@gmail.com> | 2008-03-31 02:45:53 -0700 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2008-03-31 02:45:53 -0700 |
commit | 550386ada786f5c08050abb8fda4556ea5563ebf (patch) | |
tree | 4395ec40617170321c63880741b46a2354bd61a1 /gcc/tree-ssa-phiopt.c | |
parent | 4e483a224bee8280b1233e2831dcd49dfb5c2419 (diff) | |
download | gcc-550386ada786f5c08050abb8fda4556ea5563ebf.zip gcc-550386ada786f5c08050abb8fda4556ea5563ebf.tar.gz gcc-550386ada786f5c08050abb8fda4556ea5563ebf.tar.bz2 |
re PR tree-optimization/35431 (ICE with complex integer, invalid gimple)
2008-03-31 Andrew Pinski <pinskia@gmail.com>
PR tree-opt/35431
* tree-ssa-phiopt.c (conditional_replacement): Return early for
complex types.
2008-03-31 Andrew Pinski <pinskia@gmail.com>
PR tree-opt/35431
* gcc.c-torture/compile/pr35431.c: New testcase.
From-SVN: r133749
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r-- | gcc/tree-ssa-phiopt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index bfe4fed..2a8c878 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -463,6 +463,11 @@ conditional_replacement (basic_block cond_bb, basic_block middle_bb, tree new_var = NULL; tree new_var1; + /* FIXME: Gimplification of complex type is too hard for now. */ + if (TREE_CODE (TREE_TYPE (arg0)) == COMPLEX_TYPE + || TREE_CODE (TREE_TYPE (arg1)) == COMPLEX_TYPE) + return false; + /* The PHI arguments have the constants 0 and 1, then convert it to the conditional. */ if ((integer_zerop (arg0) && integer_onep (arg1)) |