comparison gen/irstate.h @ 205:9d44ec83acd1 trunk

[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 .
author lindquist
date Tue, 13 May 2008 17:58:11 +0200
parents 3aed08fb64f4
children 7816aafeea3c
comparison
equal deleted inserted replaced
204:11fe364b9a3e 205:9d44ec83acd1
30 // represents a scope 30 // represents a scope
31 struct IRScope 31 struct IRScope
32 { 32 {
33 llvm::BasicBlock* begin; 33 llvm::BasicBlock* begin;
34 llvm::BasicBlock* end; 34 llvm::BasicBlock* end;
35 LLVMBuilder builder; 35 IRBuilder builder;
36 36
37 IRScope(); 37 IRScope();
38 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e); 38 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e);
39 }; 39 };
40 40
51 }; 51 };
52 52
53 struct IRBuilderHelper 53 struct IRBuilderHelper
54 { 54 {
55 IRState* state; 55 IRState* state;
56 LLVMBuilder* operator->(); 56 IRBuilder* operator->();
57 }; 57 };
58 58
59 struct IRExp 59 struct IRExp
60 { 60 {
61 Expression* e1; 61 Expression* e1;
144 // intrinsics 144 // intrinsics
145 llvm::Function* llvm_DeclareMemSet32; 145 llvm::Function* llvm_DeclareMemSet32;
146 llvm::Function* llvm_DeclareMemSet64; 146 llvm::Function* llvm_DeclareMemSet64;
147 llvm::Function* llvm_DeclareMemCpy32; 147 llvm::Function* llvm_DeclareMemCpy32;
148 llvm::Function* llvm_DeclareMemCpy64; 148 llvm::Function* llvm_DeclareMemCpy64;
149 llvm::Function* llvm_DeclareMemBarrier;
149 }; 150 };
150 151
151 #endif // LLVMDC_GEN_IRSTATE_H 152 #endif // LLVMDC_GEN_IRSTATE_H