[CIR][CIRGen] Support for builtin __atomic_thread_fence#1287
[CIR][CIRGen] Support for builtin __atomic_thread_fence#1287bcardosolopes merged 2 commits intollvm:mainfrom
__atomic_thread_fence#1287Conversation
|
I have just created the ODS definition at the moment to be sure if this is the way to go. |
969faf7 to
c2cc1a9
Compare
bcardosolopes
left a comment
There was a problem hiding this comment.
Initial step looks good, some inline comments. Note that this PR should come with CIRGen and LLVM lowering support, I suggest you first handle a very simple case of the fence and mark all paths not currently support with llvm_unrecheable("NYI"), so that you can go about working in incremental PRs to complete this.
__atomic_thread_fence__atomic_thread_fence
c2cc1a9 to
e8758ac
Compare
|
We just went over a rebase against upstream, apologies for the churn but please update your branch for this PR and force-push! |
e8758ac to
ca75a57
Compare
6425312 to
97fb189
Compare
|
Do we need a new definition for |
That is kinda of territory of LLVM dialect. Currently llvm.fenceop uses stringattr to represent syncscope, and I assume it works meaning it lowers to LLVM IR without problem if we set it with right string value from clangir lowering to LLVM (dialect) |
97fb189 to
39bfe2b
Compare
|
From my sight I can see the following nits:
|
1a626c7 to
83b33a7
Compare
bcardosolopes
left a comment
There was a problem hiding this comment.
Mostly good, few nits and ready to go
83b33a7 to
8f81369
Compare
8f81369 to
35d7898
Compare
|
LGMT, too |
35d7898 to
9699710
Compare
Resolves llvm#1274 Implements atomic thread fence synchronization primitive corresponding to `atomic.thread_fence` CIR.
a191e33 to
0a24062
Compare
0a24062 to
0ed0cb6
Compare
Fix #1274 Implements atomic thread fence synchronization primitive corresponding to `atomic.thread_fence` CIR.
Fix llvm#1274 Implements atomic thread fence synchronization primitive corresponding to `atomic.thread_fence` CIR.
Fix #1274
Implements atomic thread fence synchronization primitive corresponding to
atomic.thread_fenceCIR.