Mercurial > projects > ldc
comparison gen/irstate.h @ 232:092468448d25 trunk
[svn r248] Fixed: labels in inline asm block now work for the normal case.
Fixed: inline asm blocks are now emitted as a single asm entity.
author | lindquist |
---|---|
date | Sun, 08 Jun 2008 06:15:51 +0200 |
parents | 7816aafeea3c |
children | 76ee1bbe487e |
comparison
equal
deleted
inserted
replaced
231:61aa721a6b7f | 232:092468448d25 |
---|---|
61 Expression* e1; | 61 Expression* e1; |
62 Expression* e2; | 62 Expression* e2; |
63 DValue* v; | 63 DValue* v; |
64 IRExp(); | 64 IRExp(); |
65 IRExp(Expression* l, Expression* r, DValue* val); | 65 IRExp(Expression* l, Expression* r, DValue* val); |
66 }; | |
67 | |
68 struct IRAsmStmt | |
69 { | |
70 std::string code; | |
71 std::string out_c; | |
72 std::string in_c; | |
73 std::string clobbers; | |
74 std::vector<LLValue*> out; | |
75 std::vector<LLValue*> in; | |
66 }; | 76 }; |
67 | 77 |
68 // represents the module | 78 // represents the module |
69 struct IRState | 79 struct IRState |
70 { | 80 { |
138 // static ctors/dtors/unittests | 148 // static ctors/dtors/unittests |
139 typedef std::vector<FuncDeclaration*> FuncDeclVector; | 149 typedef std::vector<FuncDeclaration*> FuncDeclVector; |
140 FuncDeclVector ctors; | 150 FuncDeclVector ctors; |
141 FuncDeclVector dtors; | 151 FuncDeclVector dtors; |
142 FuncDeclVector unitTests; | 152 FuncDeclVector unitTests; |
153 | |
154 // for inline asm | |
155 std::vector<IRAsmStmt*> ASMs; | |
156 bool inASM; | |
143 }; | 157 }; |
144 | 158 |
145 #endif // LLVMDC_GEN_IRSTATE_H | 159 #endif // LLVMDC_GEN_IRSTATE_H |