diff options
author | Tanya Lattner <tonic@nondot.org> | 2010-01-16 01:21:14 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2010-01-16 01:21:14 +0000 |
commit | 0b5716469b4be89adeb15a9819ac82a86ef19ca8 (patch) | |
tree | 20709a91954630439ef9b1188f16766a175975eb /lib/CodeGen/CGBuiltin.cpp | |
parent | 41bdf0d35ceab9ed2967ed836f050e5cec9c656d (diff) |
Add codgen for BI__builtin_llvm_memory_barrier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93611 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGBuiltin.cpp')
-rw-r--r-- | lib/CodeGen/CGBuiltin.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 866c58780b..7b903c833c 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -556,6 +556,18 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD, return RValue::get(0); } + case Builtin::BI__builtin_llvm_memory_barrier: { + Value *C[5] = { + EmitScalarExpr(E->getArg(0)), + EmitScalarExpr(E->getArg(1)), + EmitScalarExpr(E->getArg(2)), + EmitScalarExpr(E->getArg(3)), + EmitScalarExpr(E->getArg(4)) + }; + Builder.CreateCall(CGM.getIntrinsic(Intrinsic::memory_barrier), C, C + 5); + return RValue::get(0); + } + // Library functions with special handling. case Builtin::BIsqrt: case Builtin::BIsqrtf: |