[Top][All Lists]
[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
patch.txt.bz2
Description: patch.txt.bz2
- [avr-gcc-list] RTL epilogues and prologues,
HutchinsonAndy <=