aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrathamesh Kulkarni <prathamesh.kulkarni@linaro.org>2017-05-05 13:21:28 +0000
committerPrathamesh Kulkarni <prathamesh3492@gcc.gnu.org>2017-05-05 13:21:28 +0000
commitc02d2d0adb153f819e75b0d9f62fcdf43ff1954d (patch)
treef60034e357bc1a5cb91a34e1a56ed0864207ebcd
parent79bed25b2337df900dfa4d145883777112a0ee58 (diff)
downloadgcc-c02d2d0adb153f819e75b0d9f62fcdf43ff1954d.zip
gcc-c02d2d0adb153f819e75b0d9f62fcdf43ff1954d.tar.gz
gcc-c02d2d0adb153f819e75b0d9f62fcdf43ff1954d.tar.bz2
re PR tree-optimization/80613 (ICE in is_gimple_reg_type with -O2)
2017-05-05 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR tree-optimization/80613 * tree-ssa-dce.c (propagate_necessity): Remove cases for BUILT_IN_STRDUP and BUILT_IN_STRNDUP. testsuite/ * gcc.dg/tree-ssa/pr79697.c (k): Remove. From-SVN: r247635
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr79697.c12
-rw-r--r--gcc/tree-ssa-dce.c4
4 files changed, 12 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7bc32a9..5aa46fc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-05-05 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR tree-optimization/80613
+ * tree-ssa-dce.c (propagate_necessity): Remove cases for
+ BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
+
2017-05-05 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (get_or_alloc_expr_for): Simplify.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f9ac334..a3012e8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-05 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ PR tree-optimization/80613
+ * gcc.dg/tree-ssa/pr79697.c (k): Remove.
+
2017-05-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71577
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr79697.c b/gcc/testsuite/gcc.dg/tree-ssa/pr79697.c
index d4f6473..fc3580e 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr79697.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr79697.c
@@ -16,18 +16,6 @@ void h(void)
__builtin_realloc (0, 10);
}
-void k(void)
-{
- char *p = __builtin_strdup ("abc");
- __builtin_free (p);
-
- char *q = __builtin_strndup ("abc", 3);
- __builtin_free (q);
-}
-
/* { dg-final { scan-tree-dump "Deleting : __builtin_strdup" "cddce1" } } */
/* { dg-final { scan-tree-dump "Deleting : __builtin_strndup" "cddce1" } } */
/* { dg-final { scan-tree-dump "__builtin_malloc" "gimple" } } */
-/* { dg-final { scan-tree-dump-not "__builtin_strdup" "optimized" } } */
-/* { dg-final { scan-tree-dump-not "__builtin_strndup" "optimized" } } */
-/* { dg-final { scan-tree-dump-not "__builtin_free" "optimized" } } */
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index e17659d..4225c3c 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -782,9 +782,7 @@ propagate_necessity (bool aggressive)
&& DECL_BUILT_IN_CLASS (def_callee) == BUILT_IN_NORMAL
&& (DECL_FUNCTION_CODE (def_callee) == BUILT_IN_ALIGNED_ALLOC
|| DECL_FUNCTION_CODE (def_callee) == BUILT_IN_MALLOC
- || DECL_FUNCTION_CODE (def_callee) == BUILT_IN_CALLOC
- || DECL_FUNCTION_CODE (def_callee) == BUILT_IN_STRDUP
- || DECL_FUNCTION_CODE (def_callee) == BUILT_IN_STRNDUP))
+ || DECL_FUNCTION_CODE (def_callee) == BUILT_IN_CALLOC))
{
gimple *bounds_def_stmt;
tree bounds;