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