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

Issue 17777004: Concurrency support for PNaCl ABI (Closed)

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

Description

Concurrency support for PNaCl ABI Add portable support for concurrency in PNaCl's ABI: - Promote volatile to atomic. - Promote all memory ordering to sequential consistency. - Rewrite all atomic operations to frozen NaCl intrinsics for pexe. - Rewrite atomic intrinsics to LLVM instructions for translation. This change also adds documentation to the PNaCl language reference, as well as tests where it makes sense. A future CL could clean up more of our code which mentions atomics, volatiles, memory orderings. Multiple reviewers because this is a big patch: - eliben: LLVM-fu and ResolvePNaClIntrinsics. - dschuff: ABI stability. - mseaborn: ABI stability. - sehr: Tron-duty (fight for the user's programs to work). BUG= https://code.google.com/p/nativeclient/issues/detail?id=3475 R=dschuff@chromium.org, eliben@chromium.org, sehr@google.com TEST= (cd ./pnacl/build/llvm_x86_64; ninja check-all) && ./pnacl/test.sh test-x86-32 && ./pnacl/test.sh test-x86-64 && ./pnacl/test.sh test-arm && ./pnacl/test.sh test-x86-32-sbtc && ./pnacl/test.sh test-x86-64-sbtc && ./pnacl/test.sh test-arm-sbtc Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-llvm.git;a=commit;h=4c1316e

Patch Set 1 #

Total comments: 96

Patch Set 2 : Address mseaborn's comments. #

Patch Set 3 : Fix whitespace. #

Total comments: 14

Patch Set 4 : Address eliben's comments. #

Patch Set 5 : Address mseaborn's comments. #

Patch Set 6 : Run clang-format on ResolvePNaClIntrinsics.cpp, NaClIntrinsics.h, FreezeAtomics.cpp. #

Patch Set 7 : Address dschuff's comments. #

Patch Set 8 : Address eliben's comments (2). #

Patch Set 9 : Update documentation about IPC. #

Patch Set 10 : Update PNaClLangRef to reflect the implementation work I will now go forward with. #

Total comments: 14

Patch Set 11 : Address eliben's comments (3: PNaClLangRef). #

Patch Set 12 : Move most PNaClLangRef text to notes, and use more words from the C++11 standard. #

Patch Set 13 : Fix some formatting. #

Patch Set 14 : Move ResolvePNaClIntrinsics.cpp's init code to ctor as suggested by eliben: the resolved functions … #

Patch Set 15 : Five intrinsics per operation instead of size, overloaded on size. The overload can be simplified. #

Patch Set 16 : Simplify overloading and function verification. #

Total comments: 39

Patch Set 17 : Address mseaborn's comments (3). #

Patch Set 18 : Address dschuff's comments (2). #

Total comments: 2

Patch Set 19 : Fix indentation. #

Patch Set 20 : Rebase. #

Total comments: 8

Patch Set 21 : Clean up suggested by mseaborn. #

Total comments: 20

Patch Set 22 : Missed one cleanup file. #

Total comments: 41

Patch Set 23 : Address eliben's comments (4). #

Total comments: 1

Patch Set 24 : s/NaClIntrinsics/NaClAtomicIntrinsics/g #

Patch Set 25 : Address jvoung's comments. #

Patch Set 26 : Massage comments. #

Patch Set 27 : Add \p to comments. #

Patch Set 28 : Check byte alignment, not bit alignment: the later can overflow. Also, FunctionPass' virtual method… #

Patch Set 29 : Handle volatile float and doubles. Also make sure value names are preserved. #

Patch Set 30 : Clarify documentation. #

Total comments: 11

Patch Set 31 : Add notes on lock-free and signal handling, as well as address-free. #

Patch Set 32 : Address eliben's comments (5). #

Total comments: 4

Patch Set 33 : Address eliben's comments (6). #

Patch Set 34 : Properly handle more atomic types that are 8/16/32/64 bits. #

Patch Set 35 : Fix bad merge. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1743 lines, -137 lines) Patch
M docs/PNaClLangRef.rst View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 chunks +174 lines, -13 lines 0 comments Download
M include/llvm/IR/Intrinsics.td View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +28 lines, -0 lines 0 comments Download
A include/llvm/IR/NaClAtomicIntrinsics.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +110 lines, -0 lines 0 comments Download
M include/llvm/InitializePasses.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -1 line 0 comments Download
M include/llvm/Transforms/NaCl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +9 lines, -8 lines 0 comments Download
M lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 11 chunks +95 lines, -24 lines 0 comments Download
M lib/Analysis/NaCl/PNaClABIVerifyModule.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 chunks +14 lines, -2 lines 0 comments Download
M lib/IR/CMakeLists.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -0 lines 0 comments Download
A lib/IR/NaClAtomicIntrinsics.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +84 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/CMakeLists.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +3 lines, -2 lines 0 comments Download
M lib/Transforms/NaCl/PNaClABISimplify.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M lib/Transforms/NaCl/ReplacePtrsWithInts.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +7 lines, -7 lines 0 comments Download
M lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +219 lines, -44 lines 0 comments Download
A lib/Transforms/NaCl/RewriteAtomics.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +332 lines, -0 lines 0 comments Download
M test/NaCl/PNaClABI/abi-alignment.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +1 line, -26 lines 0 comments Download
M test/NaCl/PNaClABI/abi-stripped-pointers.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +0 lines, -2 lines 0 comments Download
M test/NaCl/PNaClABI/instructions.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +21 lines, -4 lines 0 comments Download
M test/NaCl/PNaClABI/intrinsics.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 1 chunk +18 lines, -0 lines 0 comments Download
A test/Transforms/NaCl/atomics.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +471 lines, -0 lines 0 comments Download
M test/Transforms/NaCl/pnacl-abi-simplify-postopt.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +1 line, -0 lines 0 comments Download
M test/Transforms/NaCl/resolve-pnacl-intrinsics.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +149 lines, -3 lines 0 comments Download
M tools/opt/opt.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 57 (0 generated)
JF
7 years, 6 months ago (2013-06-26 01:05:42 UTC) #1
Mark Seaborn
https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: We recommend that C11/C++11 atomics be used instead of ...
7 years, 6 months ago (2013-06-26 14:33:41 UTC) #2
JF
PTAL https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: We recommend that C11/C++11 atomics be used instead ...
7 years, 6 months ago (2013-06-26 15:52:29 UTC) #3
eliben
https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: We recommend that C11/C++11 atomics be used instead of ...
7 years, 6 months ago (2013-06-26 16:20:57 UTC) #4
Mark Seaborn
https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: We recommend that C11/C++11 atomics be used instead of ...
7 years, 6 months ago (2013-06-26 16:47:01 UTC) #5
Derek Schuff
https://codereview.chromium.org/17777004/diff/1/lib/Transforms/NaCl/FreezeAtomics.cpp File lib/Transforms/NaCl/FreezeAtomics.cpp (right): https://codereview.chromium.org/17777004/diff/1/lib/Transforms/NaCl/FreezeAtomics.cpp#newcode52 lib/Transforms/NaCl/FreezeAtomics.cpp:52: AtomicVisitor& operator=(const AtomicVisitor&); On 2013/06/26 15:52:29, JF wrote: > ...
7 years, 6 months ago (2013-06-26 17:03:28 UTC) #6
JF
Uploaded a CL which address eliben's comments, PTAL. Now going through other comments. https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File ...
7 years, 6 months ago (2013-06-26 22:23:12 UTC) #7
eliben
> https://codereview.chromium.org/17777004/diff/1/lib/Analysis/NaCl/PNaClABIVerifyModule.cpp#newcode233 > lib/Analysis/NaCl/PNaClABIVerifyModule.cpp:233: if (!Operation || !MemoryOrder) > On 2013/06/26 16:20:57, eliben wrote: > ...
7 years, 6 months ago (2013-06-26 22:51:46 UTC) #8
JF
PTAL, addressed mseaborn's comments. Now on to dschuff's. https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: We ...
7 years, 6 months ago (2013-06-26 22:56:35 UTC) #9
JF
Last two CLs address dschuff's comments (first clang-format, then others). https://codereview.chromium.org/17777004/diff/1/lib/Transforms/NaCl/FreezeAtomics.cpp File lib/Transforms/NaCl/FreezeAtomics.cpp (right): https://codereview.chromium.org/17777004/diff/1/lib/Transforms/NaCl/FreezeAtomics.cpp#newcode52 ...
7 years, 6 months ago (2013-06-26 23:41:12 UTC) #10
JF
New CL addressing the following: > It's not that. Our ABI verification code is split ...
7 years, 6 months ago (2013-06-27 00:50:55 UTC) #11
Mark Seaborn
https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode143 docs/PNaClLangRef.rst:143: support cross-program communication, including through shared On 2013/06/26 22:56:36, ...
7 years, 6 months ago (2013-06-27 01:04:33 UTC) #12
JF
I updated the documentation, other changes later. https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/1/docs/PNaClLangRef.rst#newcode143 docs/PNaClLangRef.rst:143: support cross-program ...
7 years, 6 months ago (2013-06-27 01:31:39 UTC) #13
JF
I've uploaded a new PNaClLangRef which reflects the changes I'll go forward with, an hopefully ...
7 years, 5 months ago (2013-06-27 18:44:31 UTC) #14
eliben
https://codereview.chromium.org/17777004/diff/38001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/38001/docs/PNaClLangRef.rst#newcode109 docs/PNaClLangRef.rst:109: The C and C++ standards mandate that ``volatile`` accesses ...
7 years, 5 months ago (2013-06-27 19:32:24 UTC) #15
JF
I updated the PNaClLangRef with eliben's latest comments. As suggested by sehr I'll now move ...
7 years, 5 months ago (2013-06-27 21:03:16 UTC) #16
JF
As suggested by sehr I moved most PNaClLangRef text to notes, and use more words ...
7 years, 5 months ago (2013-06-27 22:16:30 UTC) #17
JF
Adding Nicholas, to take a look at the PNaClLangRef.rst document from a potential user's perspective.
7 years, 5 months ago (2013-07-01 17:29:42 UTC) #18
JF
I changed the code to follow last week's proposal on intrinsic signatures, and overloading on ...
7 years, 5 months ago (2013-07-02 18:41:27 UTC) #19
Mark Seaborn
https://codereview.chromium.org/17777004/diff/57001/include/llvm/IR/Intrinsics.td File include/llvm/IR/Intrinsics.td (right): https://codereview.chromium.org/17777004/diff/57001/include/llvm/IR/Intrinsics.td#newcode514 include/llvm/IR/Intrinsics.td:514: [LLVMPointerType<LLVMMatchType<0>>, llvm_i32_ty], Can you comment the argument meanings here, ...
7 years, 5 months ago (2013-07-02 19:16:01 UTC) #20
Derek Schuff
just some nits https://codereview.chromium.org/17777004/diff/57001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/57001/docs/PNaClLangRef.rst#newcode167 docs/PNaClLangRef.rst:167: and inter-process communication (shared memory), but ...
7 years, 5 months ago (2013-07-02 22:13:17 UTC) #21
JF
I uploaded a CL for mseaborn's comments. On to the next set of comments. https://codereview.chromium.org/17777004/diff/57001/include/llvm/IR/Intrinsics.td ...
7 years, 5 months ago (2013-07-02 23:14:54 UTC) #22
Mark Seaborn
I'll take another look at the code after you've rebased the change onto origin/master -- ...
7 years, 5 months ago (2013-07-02 23:34:10 UTC) #23
JF
Addressed dschuff's comments, PTAL. https://codereview.chromium.org/17777004/diff/57001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/57001/docs/PNaClLangRef.rst#newcode167 docs/PNaClLangRef.rst:167: and inter-process communication (shared memory), ...
7 years, 5 months ago (2013-07-02 23:44:32 UTC) #24
JF
https://codereview.chromium.org/17777004/diff/57001/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp File lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp (right): https://codereview.chromium.org/17777004/diff/57001/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp#newcode376 lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp:376: switch (Call->getIntrinsicID()) { On 2013/07/02 23:34:10, Mark Seaborn wrote: ...
7 years, 5 months ago (2013-07-02 23:49:04 UTC) #25
JF
https://codereview.chromium.org/17777004/diff/57001/test/NaCl/PNaClABI/intrinsics.ll File test/NaCl/PNaClABI/intrinsics.ll (right): https://codereview.chromium.org/17777004/diff/57001/test/NaCl/PNaClABI/intrinsics.ll#newcode48 test/NaCl/PNaClABI/intrinsics.ll:48: declare i64 @llvm.nacl.atomic.load.i64(i64*, i32) I suggest you read the ...
7 years, 5 months ago (2013-07-02 23:50:57 UTC) #26
sehr (please use chromium)
We do not support cross-process shared memory today (except ironically through HTML5 files, which we ...
7 years, 5 months ago (2013-07-03 00:26:27 UTC) #27
JF
Adding stichnot and jvoung to the review: the ABI should now pretty much be in ...
7 years, 5 months ago (2013-07-03 01:05:14 UTC) #28
Mark Seaborn
On 2 July 2013 18:05, <jfb@chromium.org> wrote: > Adding stichnot and jvoung to the review: ...
7 years, 5 months ago (2013-07-03 01:17:43 UTC) #29
JF
> Please can you merge with the current state of the pnacl-llvm branch? > You'll ...
7 years, 5 months ago (2013-07-03 01:43:12 UTC) #30
JF
I did a rebase in patch set 20. This obviously makes the CL harder to ...
7 years, 5 months ago (2013-07-03 03:28:33 UTC) #31
sehr (please use chromium)
The langref part LGTM. I'm still going through the code, but my review is optional ...
7 years, 5 months ago (2013-07-03 04:08:49 UTC) #32
Mark Seaborn
https://codereview.chromium.org/17777004/diff/75002/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/75002/include/llvm/IR/NaClIntrinsics.h#newcode43 include/llvm/IR/NaClIntrinsics.h:43: uint8_t NumParams; You can remove this -- it's set ...
7 years, 5 months ago (2013-07-03 04:55:20 UTC) #33
JF
https://codereview.chromium.org/17777004/diff/75002/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/75002/include/llvm/IR/NaClIntrinsics.h#newcode43 include/llvm/IR/NaClIntrinsics.h:43: uint8_t NumParams; On 2013/07/03 04:55:20, Mark Seaborn wrote: > ...
7 years, 5 months ago (2013-07-03 15:06:13 UTC) #34
eliben
https://codereview.chromium.org/17777004/diff/103001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/103001/docs/PNaClLangRef.rst#newcode173 docs/PNaClLangRef.rst:173: PNaCl has varying support for concurrency and parallelism: "varying ...
7 years, 5 months ago (2013-07-03 16:06:05 UTC) #35
Derek Schuff
LGTM https://codereview.chromium.org/17777004/diff/72001/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/72001/include/llvm/IR/NaClIntrinsics.h#newcode10 include/llvm/IR/NaClIntrinsics.h:10: // This file describes intrinsic functions that are ...
7 years, 5 months ago (2013-07-03 16:08:54 UTC) #36
jvoung (off chromium)
https://codereview.chromium.org/17777004/diff/105001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/105001/docs/PNaClLangRef.rst#newcode116 docs/PNaClLangRef.rst:116: PNaCl bitcode does not support volatile memory accesses. Not ...
7 years, 5 months ago (2013-07-03 17:50:26 UTC) #37
jvoung (off chromium)
https://codereview.chromium.org/17777004/diff/105001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp File lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp (right): https://codereview.chromium.org/17777004/diff/105001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp#newcode128 lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp:128: const Twine Name(""); Can this just be inlined to ...
7 years, 5 months ago (2013-07-03 20:14:19 UTC) #38
eliben
https://codereview.chromium.org/17777004/diff/105001/lib/Transforms/NaCl/RewriteAtomics.cpp File lib/Transforms/NaCl/RewriteAtomics.cpp (right): https://codereview.chromium.org/17777004/diff/105001/lib/Transforms/NaCl/RewriteAtomics.cpp#newcode132 lib/Transforms/NaCl/RewriteAtomics.cpp:132: if (AO == NaCl::MemoryOrderInvalid) On 2013/07/03 20:14:20, jvoung (cr) ...
7 years, 5 months ago (2013-07-03 20:24:20 UTC) #39
JF
Address eliben's latest comments. https://codereview.chromium.org/17777004/diff/103001/docs/PNaClLangRef.rst File docs/PNaClLangRef.rst (right): https://codereview.chromium.org/17777004/diff/103001/docs/PNaClLangRef.rst#newcode173 docs/PNaClLangRef.rst:173: PNaCl has varying support for ...
7 years, 5 months ago (2013-07-03 20:58:34 UTC) #40
JF
https://codereview.chromium.org/17777004/diff/72001/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/72001/include/llvm/IR/NaClIntrinsics.h#newcode10 include/llvm/IR/NaClIntrinsics.h:10: // This file describes intrinsic functions that are specific ...
7 years, 5 months ago (2013-07-03 21:28:12 UTC) #41
eliben
""Depending on member ordering it's shaving off at least 60 bytes, all of which are ...
7 years, 5 months ago (2013-07-03 21:31:04 UTC) #42
JF
I addressed jvoung's comments. There are a few open questions left through this, see my ...
7 years, 5 months ago (2013-07-03 22:28:30 UTC) #43
jvoung (off chromium)
https://codereview.chromium.org/17777004/diff/105001/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/105001/include/llvm/IR/NaClIntrinsics.h#newcode23 include/llvm/IR/NaClIntrinsics.h:23: namespace NaCl { On 2013/07/03 22:28:30, JF wrote: > ...
7 years, 5 months ago (2013-07-03 23:10:37 UTC) #44
JF
> 1. Bitfields are usually slower to access than discrete fields, because extra > bit ...
7 years, 5 months ago (2013-07-03 23:28:46 UTC) #45
JF
Reply to jvoung's comments. https://codereview.chromium.org/17777004/diff/105001/include/llvm/IR/NaClIntrinsics.h File include/llvm/IR/NaClIntrinsics.h (right): https://codereview.chromium.org/17777004/diff/105001/include/llvm/IR/NaClIntrinsics.h#newcode23 include/llvm/IR/NaClIntrinsics.h:23: namespace NaCl { > Well ...
7 years, 5 months ago (2013-07-03 23:43:18 UTC) #46
jvoung (off chromium)
https://codereview.chromium.org/17777004/diff/105001/test/Transforms/NaCl/atomics.ll File test/Transforms/NaCl/atomics.ll (right): https://codereview.chromium.org/17777004/diff/105001/test/Transforms/NaCl/atomics.ll#newcode17 test/Transforms/NaCl/atomics.ll:17: ; Alignment is also expected to be at least ...
7 years, 5 months ago (2013-07-04 00:08:37 UTC) #47
JF
> The alignments are hidden from the intrinsics, so delaying the error checking to > ...
7 years, 5 months ago (2013-07-08 15:54:42 UTC) #48
JF
Patches 28 and 29 fix some logic around alignment, handle float/double volatiles, and fix some ...
7 years, 5 months ago (2013-07-09 01:37:43 UTC) #49
jvoung (off chromium)
looks pretty good, one question https://codereview.chromium.org/17777004/diff/108004/lib/Transforms/NaCl/RewriteAtomics.cpp File lib/Transforms/NaCl/RewriteAtomics.cpp (right): https://codereview.chromium.org/17777004/diff/108004/lib/Transforms/NaCl/RewriteAtomics.cpp#newcode280 lib/Transforms/NaCl/RewriteAtomics.cpp:280: PH.OriginalPET, PH.PET, Args); Does ...
7 years, 5 months ago (2013-07-09 17:01:52 UTC) #50
eliben
LGTM with some small comments https://codereview.chromium.org/17777004/diff/108004/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp File lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp (right): https://codereview.chromium.org/17777004/diff/108004/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp#newcode71 lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp:71: NaCl::AtomicIntrinsics *AI; Name this ...
7 years, 5 months ago (2013-07-09 17:17:18 UTC) #51
JF
> https://codereview.chromium.org/17777004/diff/108004/lib/Transforms/NaCl/RewriteAtomics.cpp#newcode280 > lib/Transforms/NaCl/RewriteAtomics.cpp:280: PH.OriginalPET, PH.PET, Args); > Does atomicrmw and cmpxchg need to handle ...
7 years, 5 months ago (2013-07-09 17:40:18 UTC) #52
JF
https://codereview.chromium.org/17777004/diff/108004/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp File lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp (right): https://codereview.chromium.org/17777004/diff/108004/lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp#newcode71 lib/Analysis/NaCl/PNaClABIVerifyFunctions.cpp:71: NaCl::AtomicIntrinsics *AI; On 2013/07/09 17:17:19, eliben wrote: > Name ...
7 years, 5 months ago (2013-07-11 00:17:17 UTC) #53
eliben
https://codereview.chromium.org/17777004/diff/167001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp File lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp (right): https://codereview.chromium.org/17777004/diff/167001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp#newcode50 lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp:50: /// Returns true if the Function was changes. s/changes/changed/ ...
7 years, 5 months ago (2013-07-11 14:56:05 UTC) #54
JF
https://codereview.chromium.org/17777004/diff/167001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp File lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp (right): https://codereview.chromium.org/17777004/diff/167001/lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp#newcode50 lib/Transforms/NaCl/ResolvePNaClIntrinsics.cpp:50: /// Returns true if the Function was changes. On ...
7 years, 5 months ago (2013-07-11 17:08:58 UTC) #55
JF
I tracked down the last two failure in the GCC torture tests, I'll need to ...
7 years, 5 months ago (2013-07-13 20:29:07 UTC) #56
JF
7 years, 5 months ago (2013-07-13 20:29:38 UTC) #57
Message was sent while issue was closed.
Committed patchset #35 manually as r4c1316e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698