From: Tanya Lattner Date: Sat, 16 Jan 2010 01:21:14 +0000 (+0000) Subject: Add codgen for BI__builtin_llvm_memory_barrier. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b5716469b4be89adeb15a9819ac82a86ef19ca8;p=clang 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 --- 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: