public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [IRA, regresssion] code size regression with IRA
@ 2009-08-12 17:09 Hariharan
  0 siblings, 0 replies; 2+ messages in thread
From: Hariharan @ 2009-08-12 17:09 UTC (permalink / raw)
  To: gcc, vmakarov

[-- Attachment #1: Type: text/plain, Size: 1085 bytes --]

Hi Vlad,
I am attaching a test function which has just a huge switch statement 
with multiple cases doing different things. This function register 
allocates on GCC 4.3.2 with no spills at all (at -Os). The function has 
lots of live ranges that span function calls, but the old allocator 
seemed to handle it quite well. With IRA, i get lots of spills and a 
huge frame usage (160 bytes). Can you have a look and see if this is 
some heuristic going wrong in IRA or just a degenerate case?

I tried this testcase with all the IRA options, but nothing helped much 
in reducing code size/frame size.

Picochip's assembly is RISC and the instructions should be obvious, but 
if you need anything, please refer 
http://www.picochip.com/downloads/picoGcc_reference_manual.pdf or ask 
me! You can ofcourse build picochip target (picochip-unknown-none) on 
mainline if you need to.

Attachments:
ira_regression.tgz - Contains source and assembly from GCC 4.3.2, 4.4.0 
and mainline.

Your help is greatly appreciated. Let me know if you need any more 
information.

Thanks and regards
Hari


[-- Attachment #2: ira_regression.tgz --]
[-- Type: application/x-compressed-tar, Size: 48031 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread
[parent not found: <4A82DB1E.5090401@picochip.com>]

end of thread, other threads:[~2009-08-13 21:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-12 17:09 [IRA, regresssion] code size regression with IRA Hariharan
     [not found] <4A82DB1E.5090401@picochip.com>
2009-08-13 23:05 ` Vladimir Makarov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).