How to get attribute of callee

Georg Lay avr@gjlay.de
Thu Sep 2 12:49:00 GMT 2010


Phung Nguyen schrieb:
> Dear all,
> 
> I am porting GCC to a new target. I don't know how to get attribute of
> callee of a call.
> 
> I defined a new attribute to assign to a function but when writing for
> pattern name "call" or "call_value", I don't know how to know if the
> callee is assigned the attribute.  As the code for the call depends on
> the attribute of the callee, I need to get the corresponding function
> decl tree. As the operand of "call" or "call_value" might be
> SYMBOL_REF (direct call) or REG (indirect call), I don't know how to
> get the function declaration (fndecl).
> 
> Could you please advise me a solution for it? I highly appreciate your help.

Try this:

-- Store that info in the CUMULATIVE_ARGS object
-- Pass the info in a "call cookie" as last argument of
   the function like this: FUNCTION_ARG resp. FUNCTION_ARG_ADVANCE
   get called with mode=VOIDmode. Return a CONST_INT and evaluate
   the respective operand of call insn resp. call_calue insn.







More information about the Gcc mailing list