Mercurial > projects > ldc
comparison gen/irstate.h @ 299:df8a7b8d5929 trunk
[svn r320] Begun work on branches out of asm blocks. Unfinished.
author | ChristianK |
---|---|
date | Tue, 24 Jun 2008 21:38:23 +0200 |
parents | e3355ce5444b |
children | bef811104734 |
comparison
equal
deleted
inserted
replaced
298:3b8ada4c9f8b | 299:df8a7b8d5929 |
---|---|
70 std::string code; | 70 std::string code; |
71 std::string out_c; | 71 std::string out_c; |
72 std::string in_c; | 72 std::string in_c; |
73 std::vector<LLValue*> out; | 73 std::vector<LLValue*> out; |
74 std::vector<LLValue*> in; | 74 std::vector<LLValue*> in; |
75 | |
76 // if this is nonzero, it contains the target ident | |
77 Identifier* isBranchToLabel; | |
75 }; | 78 }; |
76 | 79 |
77 struct IRAsmBlock | 80 struct IRAsmBlock |
78 { | 81 { |
79 std::vector<IRAsmStmt*> s; | 82 std::vector<IRAsmStmt*> s; |
80 std::set<std::string> clobs; | 83 std::set<std::string> clobs; |
84 | |
85 // stores the labels within the asm block | |
86 std::vector<Identifier*> internalLabels; | |
81 }; | 87 }; |
82 | 88 |
83 // represents the module | 89 // represents the module |
84 struct IRState | 90 struct IRState |
85 { | 91 { |