qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 6449bb62448bbe18166fda0ceb83aaf30c534552
parent 4e3c5bf89c36b33bbdf79b9398b501f2d8e08cd6
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Sat, 11 Apr 2015 11:05:58 -0400

bugfix in regalloc (Div,Rem) and in peucl

Diffstat:
Mlo2.ml | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lo2.ml b/lo2.ml @@ -249,7 +249,7 @@ let regalloc (p: iprog): rprog = if (op = Div || op = Rem) && not (List.mem rdx !free) then getreg (List.filter ((<>) rdx) regs) |> ignore else - free := (List.filter ((<>) rdx) regs); + free := (List.filter ((<>) rdx) !free); let l1 = regloc frz ir1 in let frz = match l1 with | LReg r1 -> r1 :: frz @@ -667,7 +667,7 @@ let peucl: iprog = ; { bb_name = "end" ; bb_phis = [||] ; bb_inss = [||] - ; bb_jmp = `Ret (IRPhi (1, 0)) + ; bb_jmp = `Ret (IRPhi (1, 1)) } |]