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

Issue 1527143003: Subzero. Introduces a new LoweringContext::insert() method. (Closed)

Created:
5 years ago by John
Modified:
5 years ago
Reviewers:
Jim Stichnoth, Karl, sehr
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. Introduces a new LoweringContext::insert() method. Emitting an instruction in Subzero requires a fair amount of boilerplated code: Context.insert(<InstType>::create(Func, <Args>...)); The ordeal is worse if one needs access to the recently create instructionL auto *Instr = <InstType>::create(Func, <Args>...); Context.insert(Instr); Instr->... This CL introduces a new LoweringContext::insert() method: template <<InstType>, <Args>...> <InstType> *LoweringContext::insert(<Args>...) { auto *New = Inst::create(Node.Cfg, <Args>...); insert(New); return New; } This is essentially a syntatic sugar that allows instructions to be emitted by using Context.insert<InstType>(<Args>...); The compiler should be able to inline the calls (and get rid of the return value) when appropriate. make bloat reviews a small increase in translator code size BUG= R=sehr@chromium.org, stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=1d937a8e35b7ae51ee64c32f8f34d51ba33498f4

Patch Set 1 : ARM32 Proof of concept #

Patch Set 2 : git pull #

Patch Set 3 : Change other uses of Context.insert. #

Patch Set 4 : More changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+389 lines, -437 lines) Patch
M src/IceTargetLowering.h View 1 2 3 3 chunks +10 lines, -2 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 3 4 chunks +74 lines, -90 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 63 chunks +107 lines, -127 lines 0 comments Download
M src/IceTargetLoweringMIPS32.h View 1 2 1 chunk +13 lines, -14 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 2 6 chunks +10 lines, -10 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 8 chunks +11 lines, -13 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 6 chunks +8 lines, -10 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 5 chunks +120 lines, -128 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 24 chunks +36 lines, -43 lines 0 comments Download

Messages

Total messages: 8 (3 generated)
John
5 years ago (2015-12-16 20:41:53 UTC) #3
sehr
On 2015/12/16 20:41:53, John wrote: LGTM. One q: how do we decide whether to use ...
5 years ago (2015-12-17 04:29:10 UTC) #4
Jim Stichnoth
lgtm
5 years ago (2015-12-17 06:20:45 UTC) #5
John
On 2015/12/17 04:29:10, sehr wrote: > On 2015/12/16 20:41:53, John wrote: > > LGTM. One ...
5 years ago (2015-12-17 14:12:13 UTC) #6
John
5 years ago (2015-12-17 14:19:39 UTC) #8
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
1d937a8e35b7ae51ee64c32f8f34d51ba33498f4 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698