Author: alenhar2 Date: Fri Feb 15 19:27:28 2008 New Revision: 47205 URL: http://llvm.org/viewvc/llvm-project?rev=47205&view=rev Log: llvm.memory.barrier for __sync_syncronize
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=47205&r1=47204&r2=47205&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Fri Feb 15 19:27:28 2008 @@ -4293,6 +4293,18 @@ return true; } + case BUILT_IN_SYNCHRONIZE: { + // We assume like gcc appears to, that this only applies to cached memory. + Value* C[5]; + C[0] = C[1] = C[2] = C[3] = ConstantInt::get(Type::Int1Ty, 1); + C[4] = ConstantInt::get(Type::Int1Ty, 0); + + Builder.CreateCall(Intrinsic::getDeclaration(TheModule, + Intrinsic::memory_barrier), + C, C + 5); + return true; + } + #if 1 // FIXME: Should handle these GCC extensions eventually. case BUILT_IN_APPLY_ARGS: case BUILT_IN_APPLY: _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits