Solved a bug with register allocation (didn't consider interference
commitd7106ef16df76a8b023fabeae67c40896a177a54
authorVincent St-Amour <stamourv@dino13.iro.umontreal.ca>
Wed, 27 May 2009 22:43:38 +0000 (27 18:43 -0400)
committerVincent St-Amour <stamourv@dino13.iro.umontreal.ca>
Wed, 27 May 2009 22:43:38 +0000 (27 18:43 -0400)
tree9fc38ec2974059858b8483f35dca40e8260c9054
parenta5bf7692be2697170877d6ba92f6fa076818fb6b
Solved a bug with register allocation (didn't consider interference
between destination and live-after), see tests/register-mess-up.c.
Implemented switch using branch tables. Works for most cases, but a
couple of corner cases can still cause problems.
Added a couple of tests to the repository.
ast.scm
cfg.scm
code-generation.scm
optimizations.scm
register-allocation.scm
six-comp.scm
tests/control-structures/switch-branch-table.c [new file with mode: 0644]
tests/math/constant-fold.c [new file with mode: 0644]
tests/misc/register-mess-up.c [new file with mode: 0644]
utilities.scm