This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: function attributes
- From: Ian Lance Taylor <iant at google dot com>
- To: Nagaraju Mekala <gnuuser dot raj at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Fri, 11 Oct 2013 10:01:40 -0700
- Subject: Re: function attributes
- Authentication-results: sourceware.org; auth=none
- References: <CAKuVEhDgUgXCPSEL3gJ33d9tM8tPUhnUnYhOsCUK-NEOOhSKMQ at mail dot gmail dot com> <CAKOQZ8xwJ01S46_9A9ZZhJ+CMGhu9Nf7Q3ZibErZdf=goBSxvg at mail dot gmail dot com> <CAKuVEhDd0kaz8HGFsMeqZUm0iaw6O_-fe_0RwkrUQRkSYGPC4A at mail dot gmail dot com>
On Fri, Oct 11, 2013 at 9:20 AM, Nagaraju Mekala <gnuuser.raj@gmail.com> wrote:
>
> I observed that in rs6000 port longcall is implemented by using
> CALL_LONG define.
> #define CALL_LONG 0x00000008 /* always call indirect */
> In the md file they are checking the operand with CALL_LONG
> if (INTVAL (operands[3]) & CALL_LONG)
> operands[1] = rs6000_longcall_ref (operands[1]);
> In my port I dont have suchthing to compare. Can we somehow parse the
> tree chain and check the attributes of the functions..
Look at init_cumulative_args in rs6000.c to see how CALL_LONG is set
based on the function attribute.
Ian