This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Marking nodes as addressable


I have a GIMPLE_CALL statement and I want to mark the left-hand-side
value as being addressable (mark_addressable()).  I am trying to force
the result to be stored on the stack, and not in a register.  I know
the return of a call on an 64bit x86 is passed back to the caller in
the rax register.  I want the return value to be immediately moved
onto the stack from rax after the caller resumes execution.  When I do
mark the LHS of the call as being addressable, the ssa-expansion
fails, as the updated node is not in the var_partition when
get_rtx_for_ssa_name() is called.  How can I tease the return of a
caller to be stored on the stack, in a temporary variable, instead of
lying around in a register, or being passed to other free registers?

-Matt


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]