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
This commit is contained in:
Jan Hubicka 2015-05-13 04:57:27 +02:00 committed by Jan Hubicka
parent ddb3773a12
commit e4b5b3a5cb
2 changed files with 19 additions and 0 deletions

View File

@ -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

View File

@ -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);
}