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 | dbfd16014af6d9a973dd72ea930c290202178d10 (patch) | |
tree | 9c7922ab31e9495e38b9f51adf69cbf8a3cb8ee6 | |
parent | 53c659f3aba2411704f8b4912b4b187fe65f6b9c (diff) | |
download | bcm5719-llvm-dbfd16014af6d9a973dd72ea930c290202178d10.tar.gz bcm5719-llvm-dbfd16014af6d9a973dd72ea930c290202178d10.zip |
Add codgen for BI__builtin_llvm_memory_barrier.
llvm-svn: 93611
-rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 866c58780b9..7b903c833c3 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/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: |