Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Issue 22474008: Add the new @llvm.nacl.atomic.fence.all intrinsic (Closed)

Created:
7 years, 4 months ago by JF
Modified:
7 years, 4 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
http://git.chromium.org/native_client/pnacl-llvm.git@master
Visibility:
Public.

Description

Add the new @llvm.nacl.atomic.fence.all intrinsic This is a follow-up to: https://codereview.chromium.org/22240002/ And requires the Clang changes from: https://codereview.chromium.org/22294002/ This new intrinsic represents ``asm("":::"~{memory}")`` as well as ``__sync_synchronize()``, and in IR it corresponds to a sequentially-consistent fence surrounded by ``call void asm sideeffect "", "~{memory}"()``. R=jvoung@chromium.org TEST= ninja check-all BUG= https://code.google.com/p/nativeclient/issues/detail?id=3475 Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-llvm.git;a=commit;h=10c5d2c

Patch Set 1 #

Total comments: 8

Patch Set 2 : Make isAsmMemory a member of InlineAsm as suggested by eliben. #

Total comments: 2

Patch Set 3 : Add note suggested by jvoung. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+252 lines, -221 lines) Patch
M include/llvm/IR/InlineAsm.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M include/llvm/IR/NaClAtomicIntrinsics.h View 1 chunk +1 line, -1 line 0 comments Download
M include/llvm/InitializePasses.h View 1 chunk +1 line, -1 line 0 comments Download
M include/llvm/Transforms/NaCl.h View 1 chunk +1 line, -1 line 0 comments Download
M lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M lib/Analysis/NaCl/PNaClABIVerifyModule.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M lib/IR/InlineAsm.cpp View 1 1 chunk +15 lines, -0 lines 0 comments Download
M lib/IR/NaClAtomicIntrinsics.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M lib/Transforms/NaCl/CMakeLists.txt View 1 chunk +1 line, -1 line 0 comments Download
M lib/Transforms/NaCl/PNaClABISimplify.cpp View 2 chunks +5 lines, -3 lines 0 comments Download
A lib/Transforms/NaCl/RemoveAsmMemory.cpp View 1 1 chunk +84 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp View 2 chunks +16 lines, -0 lines 0 comments Download
D lib/Transforms/NaCl/RewriteAsmDirectives.cpp View 1 chunk +0 lines, -111 lines 0 comments Download
M lib/Transforms/NaCl/RewriteAtomics.cpp View 1 2 6 chunks +40 lines, -15 lines 0 comments Download
M test/NaCl/PNaClABI/intrinsics.ll View 1 chunk +1 line, -0 lines 0 comments Download
M test/Transforms/NaCl/atomics.ll View 2 chunks +35 lines, -2 lines 0 comments Download
A + test/Transforms/NaCl/remove-asm-memory.ll View 3 chunks +29 lines, -12 lines 0 comments Download
M test/Transforms/NaCl/resolve-pnacl-intrinsics.ll View 2 chunks +11 lines, -1 line 0 comments Download
D test/Transforms/NaCl/rewrite-asm-memory.ll View 1 chunk +0 lines, -71 lines 0 comments Download
M tools/opt/opt.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (0 generated)
JF
7 years, 4 months ago (2013-08-07 17:21:46 UTC) #1
jvoung (off chromium)
https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp File lib/IR/NaClAtomicIntrinsics.cpp (right): https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp#newcode57 lib/IR/NaClAtomicIntrinsics.cpp:57: INIT(Mem, NoP, NoP, NoP, NoP, fence); I think I ...
7 years, 4 months ago (2013-08-07 19:38:40 UTC) #2
JF
I made isAsmMemory a member of InlineAsm as suggested in the companion CL: https://codereview.chromium.org/22294002/
7 years, 4 months ago (2013-08-07 19:48:37 UTC) #3
JF
https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp File lib/IR/NaClAtomicIntrinsics.cpp (right): https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp#newcode57 lib/IR/NaClAtomicIntrinsics.cpp:57: INIT(Mem, NoP, NoP, NoP, NoP, fence); On 2013/08/07 19:38:40, ...
7 years, 4 months ago (2013-08-07 19:55:21 UTC) #4
jvoung (off chromium)
lgtm https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp File lib/IR/NaClAtomicIntrinsics.cpp (right): https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp#newcode57 lib/IR/NaClAtomicIntrinsics.cpp:57: INIT(Mem, NoP, NoP, NoP, NoP, fence); On 2013/08/07 ...
7 years, 4 months ago (2013-08-07 22:32:11 UTC) #5
JF
https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp File lib/IR/NaClAtomicIntrinsics.cpp (right): https://codereview.chromium.org/22474008/diff/1/lib/IR/NaClAtomicIntrinsics.cpp#newcode57 lib/IR/NaClAtomicIntrinsics.cpp:57: INIT(Mem, NoP, NoP, NoP, NoP, fence); On 2013/08/07 22:32:11, ...
7 years, 4 months ago (2013-08-07 22:47:41 UTC) #6
JF
7 years, 4 months ago (2013-08-07 22:50:58 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 manually as r10c5d2c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698