Related articles |
---|
IR Representation divcesar@gmail.com (=?UTF-8?B?Q8Opc2Fy?=) (2015-09-04) |
Re: IR Representation anton@mips.complang.tuwien.ac.at (2015-09-05) |
Re: IR Representation divcesar@gmail.com (=?UTF-8?B?Q8Opc2Fy?=) (2015-09-07) |
Re: IR Representation anton@mips.complang.tuwien.ac.at (2015-09-08) |
Re: IR Representation gneuner2@comcast.net (George Neuner) (2015-09-08) |
Re: IR Representation divcesar@gmail.com (=?UTF-8?B?Q8Opc2Fy?=) (2015-09-11) |
Re: IR Representation DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2015-09-12) |
From: | George Neuner <gneuner2@comcast.net> |
Newsgroups: | comp.compilers |
Date: | Tue, 08 Sep 2015 18:45:55 -0400 |
Organization: | A noiseless patient Spider |
References: | 15-09-005 |
Keywords: | optimize, code |
Posted-Date: | 08 Sep 2015 20:28:09 EDT |
On Fri, 4 Sep 2015 14:39:00 -0300, Cisar <divcesar@gmail.com> wrote:
>- I believe that a linear sequence of instructions would be easier to
>optimize/analyze, right?
Not necessarily.
Tree or dag forms tend to be better for analyzing control flow and for
rearranging code. Dag forms are particularly good for finding common
subexpressions. Linear forms tend to be better for analyzing data
dependencies, for scheduling, etc.
Some compilers use a hybrid IR where control flow is expressed as a
tree or dag in which the nodes are linear form basic blocks.
And, of course, you can use a linear IR as your basic form and, where
needed, create separate trees or dags which reference it.
George
Return to the
comp.compilers page.
Search the
comp.compilers archives again.