projects
/
kaleidoscope-hs-old.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for more binary ops
[kaleidoscope-hs-old.git]
/
Main.hs
diff --git
a/Main.hs
b/Main.hs
index 2d838d339da3d1a04c5354fc8e920085aa565d0e..8f4610af8b249920f0b03e67091804ad70c34faa 100644
(file)
--- a/
Main.hs
+++ b/
Main.hs
@@
-35,7
+35,11
@@
main = do
build :: AST.Expr -> IRBuilderT ModuleBuilder Operand
build (AST.Num a) = pure $ ConstantOperand (Float (Single a))
build :: AST.Expr -> IRBuilderT ModuleBuilder Operand
build (AST.Num a) = pure $ ConstantOperand (Float (Single a))
-build (AST.
Add
a b) = do
+build (AST.
BinOp op
a b) = do
va <- build a
vb <- build b
va <- build a
vb <- build b
- fadd va vb
+ let instr = case op of
+ AST.Add -> fadd
+ AST.Sub -> fsub
+ AST.Mul -> fmul
+ instr va vb