Files
ldc/ir/irfunction.h
Tomas Lindquist Olsen 3365b4c02f [svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 .
2008-05-13 17:58:11 +02:00

34 lines
606 B
C++

#ifndef LLVMDC_IR_IRFUNCTION_H
#define LLVMDC_IR_IRFUNCTION_H
#include "ir/ir.h"
#include <vector>
// represents a function
struct IrFunction : IrBase
{
llvm::Function* func;
llvm::Instruction* allocapoint;
FuncDeclaration* decl;
TypeFunction* type;
bool queued;
bool defined;
llvm::Value* retArg;
llvm::Value* thisVar;
llvm::Value* nestedVar;
llvm::Value* _arguments;
llvm::Value* _argptr;
llvm::Constant* dwarfSubProg;
llvm::AllocaInst* srcfileArg;
bool inVolatile;
IrFunction(FuncDeclaration* fd);
virtual ~IrFunction();
};
#endif