[LLVMdev] Eliminating gotos

Sebastian Pop sebpop at gmail.com
Wed Aug 13 00:47:40 PDT 2008

Hi Ben,

On 12/08/2008 16:40, "Daniel Berlin" <dberlin at dberlin.org> wrote:
>> [bg] Actually this does not need to be the case. The paper that I sighted
>> does not use code replication to resolve irreducible control flow but
>> instead introduces a loop construct.

Right, and that technique introduces scalar control variables that replace
control flow with data flow.

> We implemented this in GCC back when we first started GIMPLE (since
> GIMPLE is based on the IL the authors of that paper used in their
> compiler), and the code size increases on a bunch of testcases were
> massive due to extra loop constructs.

On Tue, Aug 12, 2008 at 10:50 AM, Benedict Gaster
<benedict.gaster at amd.com> wrote:
> Do you have any pointers to the test cases in question?

See the thread starting at:

You can get a copy of the ast-optimizer branch as of May 2002 from the
svn of GCC and apply the patches from that email.  That prototype still
can work for you ;-)

Sebastian Pop
AMD - GNU Tools

More information about the llvm-dev mailing list