avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] RTL epilogues and prologues


From: HutchinsonAndy
Subject: [avr-gcc-list] RTL epilogues and prologues
Date: Sun, 20 Mar 2005 07:06:55 -0500

Attached is patched for 4.1.0 head that changes AVR to use RTL 
prologue/epilogue generation.

This also should also fix the c++ bug caused by the existing code using the 
function name as a label. (sorry the PR escapes me!)


It generates same code with following exceptions:

Small stack adjustments are made using "rcall ." (2 bytes) and "push r0" (1 
byte). This avoids difficult direct manipulation of stack pointer when it is 
less efficient. Choice is based on instruction size - but thats pretty close to 
speed.

All stack pointer loads are now handled by move_hi code. This removes 
duplicated tests and simplifies code.

Various unspecs have been added to generate the required abnormal RTL 
instructions and where gcc want to remove things (usually to do with register 
push/pops for r0/r1).

Asm comments are different - limited by RTL. However they convey same 
information if not more descriptive.

...and hopefully the code's right!

Comments on accuracy and style please.



-- 
Andy Hutchinson


__________________________________________________________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register

Netscape. Just the Net You Need.

New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp

Attachment: patch.txt.bz2
Description: patch.txt.bz2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]