summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2010-01-16 01:21:14 +0000
committerTanya Lattner <tonic@nondot.org>2010-01-16 01:21:14 +0000
commitdbfd16014af6d9a973dd72ea930c290202178d10 (patch)
tree9c7922ab31e9495e38b9f51adf69cbf8a3cb8ee6 /clang/lib/CodeGen
parent53c659f3aba2411704f8b4912b4b187fe65f6b9c (diff)
downloadbcm5719-llvm-dbfd16014af6d9a973dd72ea930c290202178d10.tar.gz
bcm5719-llvm-dbfd16014af6d9a973dd72ea930c290202178d10.zip
Add codgen for BI__builtin_llvm_memory_barrier.
llvm-svn: 93611
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp12
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:
OpenPOWER on IntegriCloud