I am working on a port to an architecture with some strict rules. The
restriction that I am unable to figure out how to enforce is a base register
that is allowed in the destination operand, but not in a source operand.
For example, this would be allowed "add 4($1), $8, $9", but this would not
b
Please ignore this previous message... I found the error in my machine
dependent code.
Dobes wrote:
>
> I'd like to be able to specify registers that are safe across function
> calls (without the need to save/restore) and I cannot figure out how to do
> this. I know tha
I'd like to be able to specify registers that are safe across function calls
(without the need to save/restore) and I cannot figure out how to do this.
I know that I can set these particular registers to '0' in
CALL_USED_REGISTERS and then remove the call/restore in the
prologue/epilogue, but the
Ian Lance Taylor-3 wrote:
>
> Dobes writes:
>
>>>> See the SYMBOL_REF_FLAGS stuff in rtl.h and various examples in the
>>>> back-ends.
>>> Or, better, look for uses of lookup_attribute.
>>>
>>
>> OK, I've now got
>> See the SYMBOL_REF_FLAGS stuff in rtl.h and various examples in the
>> back-ends.
> Or, better, look for uses of lookup_attribute.
>
OK, I've now got it working for globals and static locals by tagging the rtl
in "encode_section_info" and checking for that tag later. How can I do the
same
I need to add support for some custom attributes that I need to know during
operand matching. I have no problem adding the attributes, but I don't know
what to do so that I can access the information later. My function that is
called to handle the attribute looks like this:
static tree
attr_mya