OSDN Git Service

2008-08-22 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Aug 2008 21:13:00 +0000 (21:13 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Aug 2008 21:13:00 +0000 (21:13 +0000)
PR tree-optimization/37078
* tree-vrp.c (extract_range_from_unary_expr): Avoid generating
[+INF, +INF] ranges.

* gcc.c-torture/compile/pr37078.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139501 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr37078.c [new file with mode: 0644]
gcc/tree-vect-transform.c

index 84e6baa..7d69cf0 100644 (file)
@@ -1,5 +1,11 @@
 2008-08-22  Richard Guenther  <rguenther@suse.de>
 
+       PR tree-optimization/37078
+       * tree-vrp.c (extract_range_from_unary_expr): Avoid generating
+       [+INF, +INF] ranges.
+
+2008-08-22  Richard Guenther  <rguenther@suse.de>
+
        PR tree-optimization/37143
        * tree-vect-transform.c (vect_create_cond_for_align_checks): Build
        a conversion statement instead of a copy.
index 8b41251..aca1340 100644 (file)
@@ -1,5 +1,10 @@
 2008-08-22  Richard Guenther  <rguenther@suse.de>
 
+       PR tree-optimization/37078
+       * gcc.c-torture/compile/pr37078.c: New testcase.
+
+2008-08-22  Richard Guenther  <rguenther@suse.de>
+
        PR tree-optimization/37143
        * g++.dg/vect/pr37143.C: New testcase.
 
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr37078.c b/gcc/testsuite/gcc.c-torture/compile/pr37078.c
new file mode 100644 (file)
index 0000000..1cc1659
--- /dev/null
@@ -0,0 +1,6 @@
+int foo (int b)
+{
+  if (b == (int)0x80000000)
+    return __builtin_abs (b);
+  return 0;
+}
index 9736633..c0c299b 100644 (file)
@@ -7459,7 +7459,8 @@ vect_create_cond_for_align_checks (loop_vec_info loop_vinfo,
       addr_tmp = create_tmp_var (int_ptrsize_type, tmp_name);
       add_referenced_var (addr_tmp);
       addr_tmp_name = make_ssa_name (addr_tmp, NULL);
-      addr_stmt = gimple_build_assign (addr_tmp_name, addr_base);
+      addr_stmt = gimple_build_assign_with_ops (NOP_EXPR, addr_tmp_name,
+                                               addr_base, NULL_TREE);
       SSA_NAME_DEF_STMT (addr_tmp_name) = addr_stmt;
       gimple_seq_add_stmt (cond_expr_stmt_list, addr_stmt);