2019-05-24から1日間の記事一覧

コンパイラ作成(48) 最適化

今回の目標 突然だけど最適化処理を追加するよ。って言っても超簡単なやつだけどね。 main() { return 42; } これ一番最初にコンパイルしたテストプログラムだよ。 .intel_syntax noprefix .global main main: push rbp mov rbp, rsp mov eax, 42 jmp .RET_m…

コンパイラ作成(47) バグ修正

バグ2件 最近恒例になってきたバグ修正。今回は2件だよ。 main() { print(42); } 前回、スタックフレームの作成を修正したけど、こういう風に変数が1個も使われてない場合に、sub rsp,0ってコードが出力されてたよ。これでも動くから問題ないんだけど、恰…