cps-ssa icon indicating copy to clipboard operation
cps-ssa copied to clipboard

Experiments about intermediate representations in compilers

%Studying the relation between SSA and CPS

#End

We want to see what the SSA based optimisations do on CPS (and maybe later ANF).

#Mean

We use an SSA to CPS translator and feed it LLVM assembly files. Here is what the program does:

                     +>file.opt.ll --> LLVM --> SSA --> CPS
                     |                                   |
                    opt                                  |
                     |                                   |
file.c --clang--> file.ll --> LLVM --> SSA --> CPS       |
                     ^                          |        |
                     |                         pp       pp
file.hs --ghc--------+                          |        |
                                                v        v
                                           file.cps   file.opt.cps
                                                |        |
                                                +--diff--+
                                                    |
                                                    v
                                                   ????
                                                    |
                                                    v
                                                  PROFIT