calls.c (flags_from_decl_or_type): Factor and remove redundant conditional tests.

* calls.c (flags_from_decl_or_type): Factor and remove redundant
	conditional tests.

From-SVN: r64347
This commit is contained in:
Roger Sayle 2003-03-14 01:59:16 +00:00 committed by Roger Sayle
parent 7733611d0c
commit 36dbb93d9f
2 changed files with 15 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2002-03-13 Roger Sayle <roger@eyesopen.com>
* calls.c (flags_from_decl_or_type): Factor and remove redundant
conditional tests.
2003-03-13 Mike Stump <mrs@apple.com>
* ggc-page.c (struct page_entry): Remove varray.h header.

View File

@ -796,23 +796,26 @@ flags_from_decl_or_type (exp)
{
int flags = 0;
tree type = exp;
/* ??? We can't set IS_MALLOC for function types? */
if (DECL_P (exp))
{
struct cgraph_rtl_info *i = cgraph_rtl_info (exp);
type = TREE_TYPE (exp);
if (i && i->pure_function)
flags |= ECF_PURE | ECF_LIBCALL_BLOCK;
if (i && i->const_function)
flags |= ECF_CONST | ECF_LIBCALL_BLOCK;
if (i)
{
if (i->pure_function)
flags |= ECF_PURE | ECF_LIBCALL_BLOCK;
if (i->const_function)
flags |= ECF_CONST | ECF_LIBCALL_BLOCK;
}
/* The function exp may have the `malloc' attribute. */
if (DECL_P (exp) && DECL_IS_MALLOC (exp))
if (DECL_IS_MALLOC (exp))
flags |= ECF_MALLOC;
/* The function exp may have the `pure' attribute. */
if (DECL_P (exp) && DECL_IS_PURE (exp))
if (DECL_IS_PURE (exp))
flags |= ECF_PURE | ECF_LIBCALL_BLOCK;
if (TREE_NOTHROW (exp))