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

Issue 1897243002: Subzero. Rematerializes shufflevector instructions. (Closed)

Created:
4 years, 8 months ago by John
Modified:
4 years, 8 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. Rematerializes shufflevector instructions. This CL is a first step towards optimizing vector shuffles in Subzero. PNaCl bitcode does not support the shufflevector instruction, so pnacl-clang emits a series of extractelement/insertelement. pnacl-llc is then responsible for performing a pattern match on the output bitcode and rematerialize the shufflevector. With this CL, we enable shufflevector rematerialization in Subzero. To keep this CL simple, we introduce no efficient shufflevector lowering. Instead, we scalarize the rematerialized instructions. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4136 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=a47c11c7f17022050043d69c0802241e0747a056

Patch Set 1 : Implements the pattern matching #

Patch Set 2 : Adds the ShuffleVector high level inst #

Patch Set 3 : Creates and inserts shufflevector when the right pattern is matched. #

Patch Set 4 : Scalar shufflevector lowering #

Patch Set 5 : Adds some comments to the pattern matching implementation. #

Total comments: 26

Patch Set 6 : Addresses comments. #

Total comments: 6

Patch Set 7 : Addresses comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+534 lines, -57 lines) Patch
M src/IceCfg.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/IceCfg.cpp View 1 2 3 4 5 6 1 chunk +306 lines, -0 lines 0 comments Download
M src/IceClFlags.def View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceDefs.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInst.h View 1 2 3 4 5 3 chunks +56 lines, -8 lines 0 comments Download
M src/IceInst.cpp View 1 2 3 chunks +25 lines, -0 lines 0 comments Download
M src/IceTargetLowering.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLowering.cpp View 1 1 chunk +3 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 2 chunks +39 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 1 chunk +4 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 3 4 2 chunks +41 lines, -0 lines 0 comments Download
M src/IceTimerTree.def View 1 chunk +50 lines, -49 lines 0 comments Download

Messages

Total messages: 11 (3 generated)
John
still running presubmit, but (for t in smoke medium large; do for p in arm ...
4 years, 8 months ago (2016-04-20 21:27:54 UTC) #2
Jim Stichnoth
The CL description should mention that this is only part 1 of the full solution. ...
4 years, 8 months ago (2016-04-20 23:43:11 UTC) #3
Jim Stichnoth
https://codereview.chromium.org/1897243002/diff/70001/src/IceDefs.h File src/IceDefs.h (right): https://codereview.chromium.org/1897243002/diff/70001/src/IceDefs.h#newcode345 src/IceDefs.h:345: IceV_ShufMat = 2 << 25, Also, add this to ...
4 years, 8 months ago (2016-04-20 23:50:26 UTC) #4
Jim Stichnoth
otherwise lgtm
4 years, 8 months ago (2016-04-20 23:52:35 UTC) #5
John
https://codereview.chromium.org/1897243002/diff/70001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1897243002/diff/70001/src/IceCfg.cpp#newcode844 src/IceCfg.cpp:844: // Matching agains undef is not really needed because ...
4 years, 8 months ago (2016-04-21 00:02:18 UTC) #6
Jim Stichnoth
lgtm-er https://codereview.chromium.org/1897243002/diff/90001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1897243002/diff/90001/src/IceCfg.cpp#newcode988 src/IceCfg.cpp:988: // If a second source was not seeing, ...
4 years, 8 months ago (2016-04-21 00:29:26 UTC) #8
John
https://codereview.chromium.org/1897243002/diff/90001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1897243002/diff/90001/src/IceCfg.cpp#newcode988 src/IceCfg.cpp:988: // If a second source was not seeing, then ...
4 years, 8 months ago (2016-04-21 00:40:51 UTC) #9
John
4 years, 8 months ago (2016-04-21 12:53:47 UTC) #11
Message was sent while issue was closed.
Committed patchset #7 (id:110001) manually as
a47c11c7f17022050043d69c0802241e0747a056 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698