Wed Aug 3 20:57:09 CEST 2011

Control flow graphs, is it really a problem?

1. scopes

There is only a single scope for the whole function.  All
intermediates and variables are "global" and only assigned to once.

2. goto with arguments

Doesn't exist because all function calls are either true function
calls and not relevant, or inlined and part of the whole expression.

So it doesn't look like there is a real problem.  Let's try it by
adding a "label" line in the generated program.

Hmm.. trying this I do run into impedance match issues.  Label and a
binding are different things.  And while it would be possible to "pile
a label onto the genering code", doing so seems to be a bit
problematic.  Some issues:

  - C doesn't allow mixing labels and variable definitions.  Does
    LLVM?  Point is: something needs to come out that uses assignments
    and jumps in the proper way.  Plain SSA does allow this.

  - What with back-jumps.  Currently I'm thinking only of forward
    jumps to implement if_ which doesn't pose the problem of multiple

I'm mixing up things; too much handwaving.