[llvm-bugs] [Bug 26668] New: Support cmpxchg of pointer type
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Feb 18 11:27:44 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=26668
Bug ID: 26668
Summary: Support cmpxchg of pointer type
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Core LLVM classes
Assignee: unassignedbugs at nondot.org
Reporter: listmail at philipreames.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Today, we do not allow cmpxchg operations with pointer arguments. We require
the frontend to insert ptrtoint casts and do the cmpxchg in integers. While
correct, this is problematic from a couple of perspectives:
1) It makes the IR harder to analyse (for instance, it breaks capture tracking)
2) It pushes work onto the frontend authors for no real gain
The simplest implementation would be to introduce a lowering rule in
AtomicExpand that converts a cmpxchg of pointer type back to the inttoptr type
version the backends already understand. Over time, we could migrate each
backend to natively selecting the pointer type.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160218/9e561c2b/attachment.html>
More information about the llvm-bugs
mailing list