Register allocation in special circumstancies

"Andrey S. Bokhanko" <ruff@mcst.ru>
1 Feb 2001 17:42:33 -0500

          From comp.compilers

Related articles
Register allocation in special circumstancies ruff@mcst.ru (Andrey S. Bokhanko) (2001-02-01)
Re: Register allocation in special circumstancies andyjnsn@ma.ultranet.com (Andy Johnson) (2001-02-04)
Re: Register allocation in special circumstancies thp@hill.cs.ucr.edu (Tom Payne) (2001-02-04)
Re: Register allocation in special circumstancies christian.bau@isltd.insignia.com (2001-02-04)
Re: Register allocation in special circumstancies torbenm@diku.dk (2001-02-12)
Re: Register allocation in special circumstancies fjh@cs.mu.OZ.AU (2001-02-15)
Re: Register allocation in special circumstancies christian.bau@isltd.insignia.com (2001-02-15)
[2 later articles]
| List of all articles for this month |

From: "Andrey S. Bokhanko" <ruff@mcst.ru>
Newsgroups: comp.compilers
Date: 1 Feb 2001 17:42:33 -0500
Organization: Compilers Central
Keywords: registers, optimize
Posted-Date: 01 Feb 2001 17:42:33 EST

Hello,


As we all know, C language has nasty (for compiler developers)
feature: setjmp/longjmp. If there is "setjmp" point in procedure, than
to explicitly express control flow we have to create control flow
edges from ALMOST EVERY reachable (from "setjmp" point) operation to
that "setjmp" point. This is TOO costly (both in memory requirements
and compilation time), so we decided not to make such edges. Of
course, this decision prohibit application of wide class of
optimizations in such procedures, but this is inevitable cost (AFAIK,
gcc compiler works exactly same way).


But we can't disable one special optimization: register
allocation. So, that's where the problem is: if r.a. based on
classical graph coloring approach, we must construct Register
Interference Graph (RIG), and hence we must take into account this
nasty feature of "setjmp" points. But how to do it? I have some ideas,
but they all are less than ideal, so any help will be gratefully
appreciated.


Thanks in advance,


Andrey Bokhanko,
research staff member, MCST


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.