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

Issue 1257643004: Subzero. Buildable, non-functional TargetLoweringX8664. (Closed)

Created:
5 years, 4 months ago by John
Modified:
5 years, 4 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Subzero. Buildable, non-functional TargetLoweringX8664. This CL adds a TargetLoweringX8664 that inherits from TargetX86Base, but other than that it does nothing to generate runnable code. Things that need to be addressed in follow up CLs: 1) lowerCall 2) lowerArguments 3) lowerRet 4) addPrologue 5) addEpilogue 6) Native 64-bit arithmetic 7) 32- to 64-bit addressing (7) will be particularly interesting. Pointers in Pexes are always 32-bit wide, so pexes have a de facto 32-bit address space. In Sandboxed mode that's solved by using RZP (i.e., r15) as a base register. For native codegen, we still need to decide what to do -- very likely we will start targeting X32. NOTE: This CL also s/IceType_ForceRexW/RexTypeForceRexW/g because I forgot to do it in the X8664 assembler cl. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4077 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=453660ff4f0702f5cd95acdaf9e88196341b9cc6

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : Make format #

Patch Set 4 : Fixes naming bugs in IceInstX8664.h #

Patch Set 5 : Fixes naming bug in IceInstX8632.h #

Total comments: 16

Patch Set 6 : Addresses comments. #

Patch Set 7 : git pull #

Unified diffs Side-by-side diffs Delta from patch set Stats (+909 lines, -129 lines) Patch
M Makefile.standalone View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/IceAssemblerX86Base.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/IceAssemblerX86BaseImpl.h View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
A + src/IceInstX8664.h View 1 2 3 2 chunks +10 lines, -13 lines 0 comments Download
A + src/IceInstX8664.cpp View 1 2 3 4 5 8 chunks +51 lines, -77 lines 0 comments Download
M src/IceInstX86Base.h View 1 2 3 4 5 6 1 chunk +4 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 2 3 4 5 6 4 chunks +9 lines, -9 lines 0 comments Download
M src/IceTargetLoweringX8664.h View 1 2 3 4 5 6 3 chunks +19 lines, -3 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 3 4 5 6 2 chunks +372 lines, -17 lines 0 comments Download
M src/IceTargetLoweringX8664Traits.h View 1 2 3 4 5 3 chunks +420 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 4 5 6 1 chunk +19 lines, -5 lines 0 comments Download
M unittest/AssemblerX8632/TestUtil.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
John
https://codereview.chromium.org/1257643004/diff/20001/src/IceAssemblerX86Base.h File src/IceAssemblerX86Base.h (right): https://codereview.chromium.org/1257643004/diff/20001/src/IceAssemblerX86Base.h#newcode895 src/IceAssemblerX86Base.h:895: static constexpr Type RexTypeForceRexW = IceType_i64; Sorry for piggybacking ...
5 years, 4 months ago (2015-07-29 17:43:16 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8664.cpp File src/IceTargetLoweringX8664.cpp (right): https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8664.cpp#newcode52 src/IceTargetLoweringX8664.cpp:52: const MachineTraits<TargetX8664>::TableIcmp64Type Presumably this is just cargo-culting that ...
5 years, 4 months ago (2015-07-30 19:11:08 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8632.h File src/IceTargetLoweringX8632.h (right): https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8632.h#newcode51 src/IceTargetLoweringX8632.h:51: private: This "private:" is already covered by the (new) ...
5 years, 4 months ago (2015-07-30 21:16:22 UTC) #4
John
as per lgtm, submitting. https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8632.h File src/IceTargetLoweringX8632.h (right): https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8632.h#newcode51 src/IceTargetLoweringX8632.h:51: private: On 2015/07/30 21:16:21, jvoung ...
5 years, 4 months ago (2015-07-31 21:05:54 UTC) #5
jvoung (off chromium)
https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8664.h File src/IceTargetLoweringX8664.h (right): https://codereview.chromium.org/1257643004/diff/80001/src/IceTargetLoweringX8664.h#newcode59 src/IceTargetLoweringX8664.h:59: Variable *RZP = makeReg(IceType_i32, Traits::RegisterSet::Reg_r15d); On 2015/07/31 21:05:54, John ...
5 years, 4 months ago (2015-07-31 21:21:05 UTC) #6
John
non-trivial, but easy, merge later, I'll land this as soon as I finish compiling spec ...
5 years, 4 months ago (2015-07-31 21:29:07 UTC) #7
John
5 years, 4 months ago (2015-07-31 21:52:56 UTC) #8
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
453660ff4f0702f5cd95acdaf9e88196341b9cc6 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698