[LLVMdev] Keeping Clang from changing function calls to IR operations: cmpxchg

JF Bastien jfb at google.com
Tue May 14 16:39:35 PDT 2013


I'm not sure if this will do everything that you want, but it controls at
least some of these expansions at the Clang level:
  tools/clang/lib/Basic/Targets.cpp



On Tue, May 14, 2013 at 3:46 PM, Dan <westdac at gmail.com> wrote:

>
> I'm working on getting the LLVM/projects/Test-Suite/UnitTest to compile
> for a target that I am developing.
>
> There is an example: AtomicOps, that uses calls to:
>
> __sync_fetch_and_add
> __sync_val_compare_and_swap
> __sync_lock_test_and_set
>
> These get converted into llvm IR operations like:
>
> atomicrmw
> cmpxchg
>
> Is there any way to keep these as function calls, as they are easier to
> map to the target's eventual functional then having to deal with atomicrmw
> and cmpxchg
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130514/addc908e/attachment.html>


More information about the llvm-dev mailing list