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

Issue 1318553003: Compute the loop nest depth of each CfgNode and weight Variables by it. (Closed)

Created:
5 years, 3 months ago by ascull
Modified:
5 years, 3 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

This improves the variable use weight by taking into account use in loops. It further improves spec2k performance and fixes the regression in ammp. Loops are identified using an extension to Tarjan's algorithm. BUG= R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=aa6c109366408d066c4ac9e22c8c0ded6d18092f

Patch Set 1 #

Patch Set 2 : calculate -> compute (consistency) #

Total comments: 57

Patch Set 3 : Tweaks from comments & more tests #

Patch Set 4 : LoopAnalyzer class #

Patch Set 5 : Set phi split loop depth #

Patch Set 6 : Formatting #

Total comments: 30

Patch Set 7 : #

Total comments: 5

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+625 lines, -31 lines) Patch
M Makefile.standalone View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/IceCfg.h View 1 2 3 2 chunks +4 lines, -1 line 0 comments Download
M src/IceCfg.cpp View 1 2 3 3 chunks +16 lines, -10 lines 0 comments Download
M src/IceCfgNode.h View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M src/IceCfgNode.cpp View 1 2 3 4 5 7 2 chunks +9 lines, -2 lines 0 comments Download
M src/IceClFlags.cpp View 1 chunk +1 line, -0 lines 0 comments Download
M src/IceDefs.h View 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInst.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M src/IceInst.cpp View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
A src/IceLoopAnalyzer.h View 1 2 3 4 5 6 1 chunk +113 lines, -0 lines 0 comments Download
A src/IceLoopAnalyzer.cpp View 1 2 3 4 5 6 1 chunk +142 lines, -0 lines 0 comments Download
M src/IceOperand.h View 1 2 3 4 5 6 4 chunks +8 lines, -6 lines 0 comments Download
M src/IceOperand.cpp View 1 2 3 4 5 6 2 chunks +16 lines, -8 lines 0 comments Download
M src/IceSwitchLowering.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 2 chunks +10 lines, -2 lines 0 comments Download
M src/IceTimerTree.def View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/IceUtils.h View 1 2 3 4 5 6 1 chunk +12 lines, -0 lines 0 comments Download
A tests_lit/llvm2ice_tests/loop-nest-depth.ll View 1 2 7 1 chunk +280 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (1 generated)
ascull
I haven't done a complete benchmarking but it seems to be over 3% improvement on ...
5 years, 3 months ago (2015-08-31 21:59:43 UTC) #1
ascull
I just realized I only published to myself *facepalm*. I wondered why noone had commented!
5 years, 3 months ago (2015-09-01 18:33:18 UTC) #3
jvoung (off chromium)
Yes, it helps to set the reviewers ;-) https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp#newcode465 src/IceCfg.cpp:465: // ...
5 years, 3 months ago (2015-09-01 18:56:18 UTC) #4
Jim Stichnoth
https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp#newcode65 src/IceCfg.cpp:65: CfgNode *Node = CfgNode::create(this, LabelIndex); May want to document ...
5 years, 3 months ago (2015-09-01 22:17:38 UTC) #5
ascull
https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1318553003/diff/20001/src/IceCfg.cpp#newcode65 src/IceCfg.cpp:65: CfgNode *Node = CfgNode::create(this, LabelIndex); On 2015/09/01 22:17:37, stichnot ...
5 years, 3 months ago (2015-09-03 19:52:38 UTC) #6
Jim Stichnoth
https://codereview.chromium.org/1318553003/diff/20001/src/IceOperand.cpp File src/IceOperand.cpp (right): https://codereview.chromium.org/1318553003/diff/20001/src/IceOperand.cpp#newcode408 src/IceOperand.cpp:408: return 1; // conservative answer On 2015/09/03 19:52:38, ascull ...
5 years, 3 months ago (2015-09-03 21:35:09 UTC) #7
ascull
https://codereview.chromium.org/1318553003/diff/100001/src/IceCfgNode.cpp File src/IceCfgNode.cpp (right): https://codereview.chromium.org/1318553003/diff/100001/src/IceCfgNode.cpp#newcode1187 src/IceCfgNode.cpp:1187: if (Func->isVerbose(IceV_Instructions) || Func->isVerbose(IceV_Loop)) On 2015/09/03 21:35:09, stichnot wrote: ...
5 years, 3 months ago (2015-09-03 22:47:13 UTC) #8
Jim Stichnoth
https://codereview.chromium.org/1318553003/diff/100001/src/IceInst.h File src/IceInst.h (right): https://codereview.chromium.org/1318553003/diff/100001/src/IceInst.h#newcode24 src/IceInst.h:24: #include "IceOperand.h" On 2015/09/03 22:47:12, ascull wrote: > On ...
5 years, 3 months ago (2015-09-03 23:23:30 UTC) #9
ascull
https://codereview.chromium.org/1318553003/diff/100001/src/IceInst.h File src/IceInst.h (right): https://codereview.chromium.org/1318553003/diff/100001/src/IceInst.h#newcode24 src/IceInst.h:24: #include "IceOperand.h" On 2015/09/03 23:23:30, stichnot wrote: > On ...
5 years, 3 months ago (2015-09-04 00:23:51 UTC) #10
Jim Stichnoth
lgtm https://codereview.chromium.org/1318553003/diff/100001/src/IceLoopAnalyzer.h File src/IceLoopAnalyzer.h (right): https://codereview.chromium.org/1318553003/diff/100001/src/IceLoopAnalyzer.h#newcode80 src/IceLoopAnalyzer.h:80: NodeList::const_iterator Succ; On 2015/09/04 00:23:51, ascull wrote: > ...
5 years, 3 months ago (2015-09-04 00:47:26 UTC) #11
ascull
5 years, 3 months ago (2015-09-04 00:50:34 UTC) #12
Message was sent while issue was closed.
Committed patchset #8 (id:140001) manually as
aa6c109366408d066c4ac9e22c8c0ded6d18092f (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698