From 6547fa9749d0e32cc367d64f8cc6b3d65bf43a5d Mon Sep 17 00:00:00 2001 From: Dragos Sbirlea Date: Mon, 5 Aug 2013 18:33:30 -0700 Subject: SEA IR type handling complete for fibonacci. types.h: Encapsulated types map into separate class. code_gen.*, visitor.h: Added visitor function for unnamed constants to enable correct .dot display and type handling. type_inference_visitor.cc: Propagated types through phi functions, invoke, add-int instructions. Added SEA IR type merging functions. Change-Id: I0fb1c4d40e3af43dc295133a826ce125a787cc33 --- compiler/sea_ir/code_gen.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'compiler/sea_ir/code_gen.h') diff --git a/compiler/sea_ir/code_gen.h b/compiler/sea_ir/code_gen.h index 5fea79a0a2..edef19d000 100644 --- a/compiler/sea_ir/code_gen.h +++ b/compiler/sea_ir/code_gen.h @@ -101,6 +101,8 @@ class CodeGenPrepassVisitor: public CodeGenPassVisitor { void Visit(SignatureNode* region); void Visit(Region* region); void Visit(InstructionNode* instruction) { } + + void Visit(UnnamedConstInstructionNode* instruction) { } void Visit(ConstInstructionNode* instruction) { } void Visit(ReturnInstructionNode* instruction) { } void Visit(IfNeInstructionNode* instruction) { } @@ -120,6 +122,7 @@ class CodeGenPostpassVisitor: public CodeGenPassVisitor { void Visit(SignatureNode* region); void Visit(Region* region); void Visit(InstructionNode* region) { } + void Visit(UnnamedConstInstructionNode* instruction) { } void Visit(ConstInstructionNode* instruction) { } void Visit(ReturnInstructionNode* instruction) { } void Visit(IfNeInstructionNode* instruction) { } @@ -139,10 +142,10 @@ class CodeGenVisitor: public CodeGenPassVisitor { void Visit(SignatureNode* region); void Visit(Region* region); void Visit(InstructionNode* region); + void Visit(UnnamedConstInstructionNode* instruction); void Visit(ConstInstructionNode* instruction); void Visit(ReturnInstructionNode* instruction); void Visit(IfNeInstructionNode* instruction); - // void Visit(AddIntLitInstructionNode* instruction); void Visit(MoveResultInstructionNode* instruction); void Visit(InvokeStaticInstructionNode* instruction); void Visit(AddIntInstructionNode* instruction); -- cgit v1.2.3-59-g8ed1b