[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.
This commit is contained in:
Tomas Lindquist Olsen
2008-06-08 06:15:51 +02:00
parent 3e62d80b4f
commit fd8cec14e1
9 changed files with 235 additions and 85 deletions

View File

@@ -65,6 +65,16 @@ struct IRExp
IRExp(Expression* l, Expression* r, DValue* val);
};
struct IRAsmStmt
{
std::string code;
std::string out_c;
std::string in_c;
std::string clobbers;
std::vector<LLValue*> out;
std::vector<LLValue*> in;
};
// represents the module
struct IRState
{
@@ -140,6 +150,10 @@ struct IRState
FuncDeclVector ctors;
FuncDeclVector dtors;
FuncDeclVector unitTests;
// for inline asm
std::vector<IRAsmStmt*> ASMs;
bool inASM;
};
#endif // LLVMDC_GEN_IRSTATE_H