comparison gen/irstate.h @ 954:e048e36bc155

Added support for using a temporary to implement emulated ABI return from inline asm, could be easier to use, but I think this will do. It's so extremely target dependent in any case that doing a completely generic approach seems hard.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sat, 14 Feb 2009 15:25:48 +0100
parents 1714836f2c0b
children 7e669954db7d
comparison
equal deleted inserted replaced
953:5fa3e0ea06e9 954:e048e36bc155
86 std::vector<Identifier*> internalLabels; 86 std::vector<Identifier*> internalLabels;
87 87
88 AsmBlockStatement* asmBlock; 88 AsmBlockStatement* asmBlock;
89 const LLType* retty; 89 const LLType* retty;
90 unsigned retn; 90 unsigned retn;
91 91 bool retemu; // emulate abi ret with a temporary
92 IRAsmBlock(AsmBlockStatement* b) : asmBlock(b), retty(NULL), retn(0) {} 92
93 IRAsmBlock(AsmBlockStatement* b) : asmBlock(b), retty(NULL), retn(0), retemu(false) {}
93 }; 94 };
94 95
95 // llvm::CallInst and llvm::InvokeInst don't share a common base 96 // llvm::CallInst and llvm::InvokeInst don't share a common base
96 // but share common functionality. to avoid duplicating code for 97 // but share common functionality. to avoid duplicating code for
97 // adjusting these common properties these structs are made 98 // adjusting these common properties these structs are made