aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@gmail.com>2008-03-31 02:45:53 -0700
committerAndrew Pinski <pinskia@gcc.gnu.org>2008-03-31 02:45:53 -0700
commit550386ada786f5c08050abb8fda4556ea5563ebf (patch)
tree4395ec40617170321c63880741b46a2354bd61a1 /gcc/tree-ssa-phiopt.c
parent4e483a224bee8280b1233e2831dcd49dfb5c2419 (diff)
downloadgcc-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.c5
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))