Of course:
mov r6 = InputReg1
mov InputReg1 = InputReg2
mov InputReg2 = tmp
should read:
mov r6 = InputReg1
mov InputReg1 = InputReg2
mov InputReg2 = r6
Sorry about that.
Jc
On Thu, Nov 12, 2009 at 12:07 PM, Jean Christophe Beyler
wrote:
> Dear all,
>
> As I continue to work on this I have f
Dear all,
As I continue to work on this I have found something that is surprising.
I wrote this code :
int foo (int argc, int argv)
{
bar (argv, argc);
return 0;
}
On my architecture, this is transformed into the following assembly code:
mov r6 = InputReg1
mov InputReg1 = InputReg2
mov I
I actually already did put it as a fixed register using the
FIXED_REGISTER macro. However, I have not yet tested the EPILOGUE_USES
because it said that : "The stack and frame pointer are already
assumed to be used as needed".
My current port defines a different FRAME_POINTER_REGNUM from the
HARD_F
Jean Christophe Beyler writes:
> How can I force the prologue to keep this instruction. It is useless
> only in the case that there is no function call or no alloca. But I
> have a case where there is a function call and it is still removed.
Make the hard frame pointer register a fixed register,
Yes I understand. I'm trying to give multiple options to the users in
order to either have this enabled or not actually.
I'm running into one issue. In order for this to work, it would be
better if I could keep the top of the frame and the stack pointer in
two separate registers. This way, whateve
Jean Christophe Beyler writes:
>> You can force your writes to the stack to not be removed by making
>> them use UNSPEC_VOLATILE. You would write special define_insns for
>> this.
>
> Is there an architecture port that has done this already ?
No, because, when given the choice, gcc prefers fast
On Wed, Nov 04, 2009 at 11:24:34AM -0500, Jean Christophe Beyler wrote:
> However, I've been going through the first step : running GDB, setting
> a break-point and doing a continue to see what I get and try to get
> the information right for O3 too.
>
> In O0, I get:
> Breakpoint @@ 1, foo (a=4,
> You can force your writes to the stack to not be removed by making
> them use UNSPEC_VOLATILE. You would write special define_insns for
> this.
Is there an architecture port that has done this already ?
> Not to miss the obvious, note that this will hurt optimization.
> However, if you need to
Jean Christophe Beyler writes:
> I've been working on handling the Debugging information for the use of
> GDB on my port. Though I definitely know that, when compiling in -O3,
> some information is lost and the debugger can't always have all the
> information, I'd like to at least keep the values
I will try to add more details about my issue. Another way of putting this is :
For my architecture there is:
- A certain number of input registers which allow calls without going
on the stack
- There is not automatically a frame pointer on the stack either
What is needed, from the GCC side, to
10 matches
Mail list logo