aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-05-13 04:57:27 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2015-05-13 02:57:27 +0000
commite4b5b3a5cb422662b1c4ef1102bf559082017ac3 (patch)
treecf0c51c47a102eaf40d871751a5d649b56c4ad00 /gcc
parentddb3773a1230fc16c29d8df7af3200afbab93359 (diff)
downloadgcc-e4b5b3a5cb422662b1c4ef1102bf559082017ac3.zip
gcc-e4b5b3a5cb422662b1c4ef1102bf559082017ac3.tar.gz
gcc-e4b5b3a5cb422662b1c4ef1102bf559082017ac3.tar.bz2
re PR ipa/65873 (Failure to inline always_inline memcpy)
PR ipa/65873 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always inlines across optimization boundary. * testsuite/gcc.c-torture/compile/pr65873.c: New testcase. From-SVN: r223108
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr65873.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d8b6a58..fedfe43 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-12 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65873
+ * gcc.c-torture/compile/pr65873.c: New testcase.
+
2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66111
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr65873.c b/gcc/testsuite/gcc.c-torture/compile/pr65873.c
new file mode 100644
index 0000000..854f02c
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr65873.c
@@ -0,0 +1,14 @@
+typedef __SIZE_TYPE__ size_t;
+
+extern inline __attribute__ ((__always_inline__, __gnu_inline__, __artificial__, __nothrow__, __leaf__)) void *
+memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len)
+{
+ return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+__attribute__((optimize ("Ofast"))) void
+bar (void *d, void *s, size_t l)
+{
+ memcpy (d, s, l);
+}
+