summaryrefslogtreecommitdiff
path: root/compiler/sea_ir/code_gen.h
diff options
context:
space:
mode:
author Dragos Sbirlea <dragoss@google.com> 2013-08-05 18:33:30 -0700
committer Dragos Sbirlea <dragoss@google.com> 2013-08-07 10:27:52 -0700
commit6547fa9749d0e32cc367d64f8cc6b3d65bf43a5d (patch)
treee9a9d88c1c938dcbf03a6fc61b11159672e73229 /compiler/sea_ir/code_gen.h
parent9642c96bd5a1ccc4e221de9c0af4a545af8182d2 (diff)
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
Diffstat (limited to 'compiler/sea_ir/code_gen.h')
-rw-r--r--compiler/sea_ir/code_gen.h5
1 files changed, 4 insertions, 1 deletions
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);