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

Issue 737513008: Subzero: Simplify the constant pools. (Closed)

Created:
6 years, 1 month ago by Jim Stichnoth
Modified:
6 years, 1 month ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Visibility:
Public.

Description

Subzero: Simplify the constant pools. Internally, create a separate constant pool for each integer type, instead of a single i64 pool that uses the Ice::Type value as part of the key. This means each constant pool key can be a simple primitive value, rather than a tuple. Represent the pools using std::unordered_map instead of std::map since we're using C++11 now. Use signed integers instead of unsigned integers for the integer constant pools, to benefit from sign extension and to be more consistent. Remove the SuppressMangling field from hash and comparison functions on RelocatableTuple, since we'll never have two symbols with the same name but different values of SuppressMangling. BUG= none R=jvoung@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=d2cb4361c732dcddc98659415f37be45982e20c3

Patch Set 1 #

Patch Set 2 : Minor cleanup #

Total comments: 1

Patch Set 3 : More cleanup #

Total comments: 12

Patch Set 4 : Address Karl and Jan's feedback #

Total comments: 4

Patch Set 5 : Better fix for the int8/uint8 tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+163 lines, -159 lines) Patch
M src/IceConverter.cpp View 1 2 3 1 chunk +2 lines, -7 lines 0 comments Download
M src/IceGlobalContext.h View 1 2 3 1 chunk +8 lines, -5 lines 0 comments Download
M src/IceGlobalContext.cpp View 1 2 3 7 chunks +71 lines, -50 lines 0 comments Download
M src/IceOperand.h View 1 2 chunks +4 lines, -4 lines 0 comments Download
M src/IceOperand.cpp View 1 2 1 chunk +2 lines, -6 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 2 1 chunk +6 lines, -5 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 38 chunks +58 lines, -67 lines 0 comments Download
M src/PNaClTranslator.cpp View 1 2 3 4 3 chunks +9 lines, -11 lines 0 comments Download
M src/assembler_ia32.cpp View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M tests_lit/llvm2ice_tests/undef.ll View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 11 (2 generated)
Jim Stichnoth
https://codereview.chromium.org/737513008/diff/20001/src/IceGlobalContext.cpp File src/IceGlobalContext.cpp (right): https://codereview.chromium.org/737513008/diff/20001/src/IceGlobalContext.cpp#newcode31 src/IceGlobalContext.cpp:31: return std::hash<Ice::IceString>()(Key.Name) + Not sure this is the ideal ...
6 years, 1 month ago (2014-11-19 18:18:39 UTC) #3
Karl
https://codereview.chromium.org/737513008/diff/40001/src/IceConverter.cpp File src/IceConverter.cpp (right): https://codereview.chromium.org/737513008/diff/40001/src/IceConverter.cpp#newcode123 src/IceConverter.cpp:123: switch (Ty) { Why not move this switch into ...
6 years, 1 month ago (2014-11-19 18:45:28 UTC) #4
jvoung (off chromium)
https://codereview.chromium.org/737513008/diff/40001/src/IceOperand.cpp File src/IceOperand.cpp (right): https://codereview.chromium.org/737513008/diff/40001/src/IceOperand.cpp#newcode24 src/IceOperand.cpp:24: return A.Offset == B.Offset && A.Name == B.Name; This ...
6 years, 1 month ago (2014-11-19 20:54:56 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/737513008/diff/40001/src/IceConverter.cpp File src/IceConverter.cpp (right): https://codereview.chromium.org/737513008/diff/40001/src/IceConverter.cpp#newcode123 src/IceConverter.cpp:123: switch (Ty) { On 2014/11/19 18:45:28, Karl wrote: > ...
6 years, 1 month ago (2014-11-20 00:08:57 UTC) #6
jvoung (off chromium)
https://codereview.chromium.org/737513008/diff/40001/src/assembler_ia32.cpp File src/assembler_ia32.cpp (right): https://codereview.chromium.org/737513008/diff/40001/src/assembler_ia32.cpp#newcode2166 src/assembler_ia32.cpp:2166: assert(imm.is_uint16()); On 2014/11/20 00:08:57, stichnot wrote: > On 2014/11/19 ...
6 years, 1 month ago (2014-11-20 00:57:12 UTC) #7
Karl
Other than nit below, looks good to me. However, I will let Jan comment on ...
6 years, 1 month ago (2014-11-20 17:43:39 UTC) #8
Jim Stichnoth
https://codereview.chromium.org/737513008/diff/60001/src/PNaClTranslator.cpp File src/PNaClTranslator.cpp (right): https://codereview.chromium.org/737513008/diff/60001/src/PNaClTranslator.cpp#newcode2502 src/PNaClTranslator.cpp:2502: Ice::Constant *C = nullptr; On 2014/11/20 17:43:39, Karl wrote: ...
6 years, 1 month ago (2014-11-20 19:04:58 UTC) #9
jvoung (off chromium)
LGTM
6 years, 1 month ago (2014-11-20 19:09:59 UTC) #10
Jim Stichnoth
6 years, 1 month ago (2014-11-20 19:24:46 UTC) #11
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
d2cb4361c732dcddc98659415f37be45982e20c3 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698