Mercurial > projects > ldc
comparison gen/irstate.h @ 233:76ee1bbe487e trunk
[svn r249] Changed inline asm clobbers to a set instead of a list so we don't get duplicate clobbers.
author | lindquist |
---|---|
date | Sun, 08 Jun 2008 06:45:54 +0200 |
parents | 092468448d25 |
children | fc9c1a0eabbd |
comparison
equal
deleted
inserted
replaced
232:092468448d25 | 233:76ee1bbe487e |
---|---|
68 struct IRAsmStmt | 68 struct IRAsmStmt |
69 { | 69 { |
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::string clobbers; | |
74 std::vector<LLValue*> out; | 73 std::vector<LLValue*> out; |
75 std::vector<LLValue*> in; | 74 std::vector<LLValue*> in; |
75 }; | |
76 | |
77 struct IRAsmBlock | |
78 { | |
79 std::vector<IRAsmStmt*> s; | |
80 std::set<std::string> clobs; | |
76 }; | 81 }; |
77 | 82 |
78 // represents the module | 83 // represents the module |
79 struct IRState | 84 struct IRState |
80 { | 85 { |
150 FuncDeclVector ctors; | 155 FuncDeclVector ctors; |
151 FuncDeclVector dtors; | 156 FuncDeclVector dtors; |
152 FuncDeclVector unitTests; | 157 FuncDeclVector unitTests; |
153 | 158 |
154 // for inline asm | 159 // for inline asm |
155 std::vector<IRAsmStmt*> ASMs; | 160 IRAsmBlock* asmBlock; |
156 bool inASM; | |
157 }; | 161 }; |
158 | 162 |
159 #endif // LLVMDC_GEN_IRSTATE_H | 163 #endif // LLVMDC_GEN_IRSTATE_H |