Displaying 4 results from an estimated 4 matches for "atomic_membarri".
Did you mean:
atomic_membarrier
2008 Feb 15
0
[LLVMdev] llvm.atomic.barrier implementation
...(working copy)
@@ -4260,6 +4260,15 @@
EmitBlock(new BasicBlock(""));
return true;
+ case BUILT_IN_SYNCHRONIZE: {
+ Value* C[4];
+ C[0] = C[1] = C[2] = C[3] = ConstantInt::get(Type::Int1Ty, 1);
+
+ Builder.CreateCall(Intrinsic::getDeclaration(TheModule,
Intrinsic::atomic_membarrier),
+ C, C + 4);
+ return true;
+ }
+
#if 1 // FIXME: Should handle these GCC extensions eventually.
case BUILT_IN_APPLY_ARGS:
case BUILT_IN_APPLY:
2008 Feb 15
6
[LLVMdev] llvm.atomic.barrier implementation
Attached is the target independent llvm.atomic.barrier support, as
well as alpha and x86 (sse2) support. This matches Chandler's
definitions, and the LangRef patch will just restore that. Non-sse2
barrier will be needed, I think it is "lock; mov %esp, %esp", but I'm
not sure.
Any objections? I'll take a hack at the front end support for
__sync_synchronize after this
2008 Feb 15
2
[LLVMdev] llvm.atomic.barrier implementation
...> EmitBlock(new BasicBlock(""));
> return true;
>
> + case BUILT_IN_SYNCHRONIZE: {
> + Value* C[4];
> + C[0] = C[1] = C[2] = C[3] = ConstantInt::get(Type::Int1Ty, 1);
> +
> + Builder.CreateCall(Intrinsic::getDeclaration(TheModule,
> Intrinsic::atomic_membarrier),
> + C, C + 4);
> + return true;
> + }
> +
> #if 1 // FIXME: Should handle these GCC extensions eventually.
> case BUILT_IN_APPLY_ARGS:
> case BUILT_IN_APPLY:
> _______________________________________________
> LLVM Developers mailing...
2008 Feb 15
3
[LLVMdev] llvm.atomic.barrier implementation
...> EmitBlock(new BasicBlock(""));
> return true;
>
> + case BUILT_IN_SYNCHRONIZE: {
> + Value* C[4];
> + C[0] = C[1] = C[2] = C[3] = ConstantInt::get(Type::Int1Ty, 1);
> +
> + Builder.CreateCall(Intrinsic::getDeclaration(TheModule,
> Intrinsic::atomic_membarrier),
> + C, C + 4);
> + return true;
> + }
> +
> #if 1 // FIXME: Should handle these GCC extensions eventually.
> case BUILT_IN_APPLY_ARGS:
> case BUILT_IN_APPLY:
> _______________________________________________
> LLVM Developers mailing...