introduce ir::Type and begin migrating i2f and friends to it

This commit is contained in:
Joshua Warner
2014-04-30 19:07:10 -06:00
committed by Joshua Warner
parent 73bcc766c1
commit 855534b152
4 changed files with 148 additions and 25 deletions

View File

@ -14,6 +14,7 @@
#include <avian/system/system.h>
#include "avian/zone.h"
#include "assembler.h"
#include "ir.h"
namespace avian {
namespace codegen {
@ -134,9 +135,9 @@ class Compiler {
virtual Operand* unaryOp(lir::BinaryOperation type, unsigned size, Operand* a) = 0;
virtual void nullaryOp(lir::Operation type) = 0;
virtual Operand* f2f(unsigned aSize, unsigned resSize, Operand* a) = 0;
virtual Operand* f2i(unsigned aSize, unsigned resSize, Operand* a) = 0;
virtual Operand* i2f(unsigned aSize, unsigned resSize, Operand* a) = 0;
virtual Operand* f2f(unsigned aSize, ir::Type resType, Operand* a) = 0;
virtual Operand* f2i(unsigned aSize, ir::Type resType, Operand* a) = 0;
virtual Operand* i2f(unsigned aSize, ir::Type resType, Operand* a) = 0;
virtual void compile(uintptr_t stackOverflowHandler,
unsigned stackLimitOffset) = 0;