Mercurial > projects > ldc
changeset 189:3aed08fb64f4 trunk
[svn r205] moved some local static variables used for memset and memcpy intrinsics to IrState
author | ChristianK |
---|---|
date | Sat, 10 May 2008 19:00:11 +0200 |
parents | 7949d3dd0341 |
children | 36044016709a |
files | gen/irstate.cpp gen/irstate.h gen/tollvm.cpp |
diffstat | 3 files changed, 22 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/irstate.cpp Sat May 10 06:44:57 2008 +0200 +++ b/gen/irstate.cpp Sat May 10 19:00:11 2008 +0200 @@ -53,6 +53,10 @@ emitMain = false; mainFunc = 0; ir.state = this; + llvm_DeclareMemSet32 = NULL; + llvm_DeclareMemSet64 = NULL; + llvm_DeclareMemCpy32 = NULL; + llvm_DeclareMemCpy64 = NULL; } IrFunction* IRState::func()
--- a/gen/irstate.h Sat May 10 06:44:57 2008 +0200 +++ b/gen/irstate.h Sat May 10 19:00:11 2008 +0200 @@ -140,6 +140,12 @@ FuncDeclVector ctors; FuncDeclVector dtors; FuncDeclVector unitTests; + + // intrinsics + llvm::Function* llvm_DeclareMemSet32; + llvm::Function* llvm_DeclareMemSet64; + llvm::Function* llvm_DeclareMemCpy32; + llvm::Function* llvm_DeclareMemCpy64; }; #endif // LLVMDC_GEN_IRSTATE_H
--- a/gen/tollvm.cpp Sat May 10 06:44:57 2008 +0200 +++ b/gen/tollvm.cpp Sat May 10 19:00:11 2008 +0200 @@ -234,22 +234,20 @@ // llvm.memset.i32 llvm::Function* LLVM_DeclareMemSet32() { - static llvm::Function* _func = 0; - if (_func == 0) { - _func = LLVM_DeclareMemIntrinsic("llvm.memset.i32", 32, true); + if (gIR->llvm_DeclareMemSet32 == 0) { + gIR->llvm_DeclareMemSet32 = LLVM_DeclareMemIntrinsic("llvm.memset.i32", 32, true); } - return _func; + return gIR->llvm_DeclareMemSet32; } ////////////////////////////////////////////////////////////////////////////////////////// llvm::Function* LLVM_DeclareMemSet64() { - static llvm::Function* _func = 0; - if (_func == 0) { - _func = LLVM_DeclareMemIntrinsic("llvm.memset.i64", 64, true); + if (gIR->llvm_DeclareMemSet64 == 0) { + gIR->llvm_DeclareMemSet64 = LLVM_DeclareMemIntrinsic("llvm.memset.i64", 64, true); } - return _func; + return gIR->llvm_DeclareMemSet64; } ////////////////////////////////////////////////////////////////////////////////////////// @@ -257,11 +255,10 @@ // llvm.memcpy.i32 llvm::Function* LLVM_DeclareMemCpy32() { - static llvm::Function* _func = 0; - if (_func == 0) { - _func = LLVM_DeclareMemIntrinsic("llvm.memcpy.i32", 32); + if (gIR->llvm_DeclareMemCpy32 == 0) { + gIR->llvm_DeclareMemCpy32 = LLVM_DeclareMemIntrinsic("llvm.memcpy.i32", 32); } - return _func; + return gIR->llvm_DeclareMemCpy32; } ////////////////////////////////////////////////////////////////////////////////////////// @@ -269,11 +266,10 @@ // llvm.memcpy.i64 llvm::Function* LLVM_DeclareMemCpy64() { - static llvm::Function* _func = 0; - if (_func == 0) { - _func = LLVM_DeclareMemIntrinsic("llvm.memcpy.i64", 64); + if (gIR->llvm_DeclareMemCpy64 == 0) { + gIR->llvm_DeclareMemCpy64 = LLVM_DeclareMemIntrinsic("llvm.memcpy.i64", 64); } - return _func; + return gIR->llvm_DeclareMemCpy64; } //////////////////////////////////////////////////////////////////////////////////////////