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

Issue 372113005: Add support for passing and returning vectors in accordance with the x86 calling convention. (Closed)

Created:
6 years, 5 months ago by wala
Modified:
6 years, 5 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Visibility:
Public.

Description

Add support for passing and returning vectors in accordance with the x86 calling convention. - Add TargetLowering::lowerArguments() as a new stage in TargetLowering. - Add support for passing arguments/return values in XMM registers in the x86 target. BUG=none R=jvoung@chromium.org, stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=45a0623

Patch Set 1 #

Total comments: 10

Patch Set 2 : First round of changes, including new argument lowering. #

Total comments: 11

Patch Set 3 : Address more changes, including reworked lowering of arguments to call instructions. #

Patch Set 4 : Remove unused InstX8632Storep. #

Patch Set 5 : Fix grammar in comment. #

Total comments: 7

Patch Set 6 : Reset AllowOverlap, add comment on lowerCall() strategies, and use X86_MAX_XMM_ARGS where appropria… #

Unified diffs Side-by-side diffs Delta from patch set Stats (+438 lines, -102 lines) Patch
M src/IceCfg.h View 1 2 chunks +2 lines, -0 lines 0 comments Download
M src/IceCfg.cpp View 1 1 chunk +4 lines, -0 lines 0 comments Download
M src/IceDefs.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 3 chunks +16 lines, -11 lines 0 comments Download
M src/IceOperand.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/IceOperand.cpp View 1 1 chunk +12 lines, -8 lines 0 comments Download
M src/IceTargetLowering.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 14 chunks +170 lines, -80 lines 0 comments Download
A tests_lit/llvm2ice_tests/vector-arg.ll View 1 2 1 chunk +226 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
wala
6 years, 5 months ago (2014-07-08 01:08:33 UTC) #1
Jim Stichnoth
https://codereview.chromium.org/372113005/diff/1/src/IceInstX8632.cpp File src/IceInstX8632.cpp (right): https://codereview.chromium.org/372113005/diff/1/src/IceInstX8632.cpp#newcode675 src/IceInstX8632.cpp:675: Str << "storeq." << getSrc(0)->getType() << " "; storeq? ...
6 years, 5 months ago (2014-07-08 18:03:15 UTC) #2
wala
https://codereview.chromium.org/372113005/diff/1/src/IceInstX8632.cpp File src/IceInstX8632.cpp (right): https://codereview.chromium.org/372113005/diff/1/src/IceInstX8632.cpp#newcode675 src/IceInstX8632.cpp:675: Str << "storeq." << getSrc(0)->getType() << " "; On ...
6 years, 5 months ago (2014-07-08 22:38:58 UTC) #3
jvoung (off chromium)
not much to add, but a few comments below https://codereview.chromium.org/372113005/diff/60001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/372113005/diff/60001/src/IceTargetLoweringX8632.cpp#newcode436 src/IceTargetLoweringX8632.cpp:436: ...
6 years, 5 months ago (2014-07-09 04:26:55 UTC) #4
Jim Stichnoth
LGTM with minor nits. https://codereview.chromium.org/372113005/diff/60001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/372113005/diff/60001/src/IceTargetLoweringX8632.cpp#newcode436 src/IceTargetLoweringX8632.cpp:436: for (SizeT I = 0, ...
6 years, 5 months ago (2014-07-09 16:56:13 UTC) #5
wala
I discovered two issues with the way that arguments to call instructions were lowered: 1) ...
6 years, 5 months ago (2014-07-09 19:05:13 UTC) #6
jvoung (off chromium)
Looks pretty good to me. https://codereview.chromium.org/372113005/diff/120001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/372113005/diff/120001/src/IceTargetLoweringX8632.cpp#newcode617 src/IceTargetLoweringX8632.cpp:617: if (isVectorType(Arg->getType()) && NumXmmArgs ...
6 years, 5 months ago (2014-07-09 20:49:00 UTC) #7
wala
https://codereview.chromium.org/372113005/diff/120001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/372113005/diff/120001/src/IceTargetLoweringX8632.cpp#newcode617 src/IceTargetLoweringX8632.cpp:617: if (isVectorType(Arg->getType()) && NumXmmArgs < 4) { On 2014/07/09 ...
6 years, 5 months ago (2014-07-09 21:55:34 UTC) #8
jvoung (off chromium)
LGTM https://codereview.chromium.org/372113005/diff/120001/tests_lit/llvm2ice_tests/vector-arg.ll File tests_lit/llvm2ice_tests/vector-arg.ll (right): https://codereview.chromium.org/372113005/diff/120001/tests_lit/llvm2ice_tests/vector-arg.ll#newcode177 tests_lit/llvm2ice_tests/vector-arg.ll:177: ; CHECK: movups xmm0, xmmword ptr [esp+116] On ...
6 years, 5 months ago (2014-07-09 22:36:55 UTC) #9
wala
6 years, 5 months ago (2014-07-09 23:33:26 UTC) #10
Message was sent while issue was closed.
Committed patchset #6 manually as r45a0623 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698