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

Issue 2124973005: Selectively invert ICMP operands for better address optimization (Closed)

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

Selectively invert ICMP operands for better address optimization Results in lower code size and more loads folded into cmp instructions. BUG=none R=eholk@chromium.org, jpp@chromium.org, stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=0c70417672c2da35b06d121fc49e8bb6967e102e

Patch Set 1 #

Patch Set 2 : Format #

Patch Set 3 : More auto #

Total comments: 18

Patch Set 4 : Move to IceTargetLoweringX86baseImpl.h, Address comments. #

Total comments: 7

Patch Set 5 : Address comments #

Total comments: 7

Patch Set 6 : Address Comments #

Total comments: 1

Patch Set 7 : Add TODO #

Total comments: 6

Patch Set 8 : Address Comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+131 lines, -70 lines) Patch
M src/IceInst.h View 1 2 3 4 5 3 chunks +3 lines, -2 lines 0 comments Download
M src/IceInst.cpp View 1 2 3 4 5 6 7 2 chunks +7 lines, -2 lines 0 comments Download
M src/IceInst.def View 1 2 3 4 5 6 7 1 chunk +60 lines, -60 lines 0 comments Download
M src/IceTargetLowering.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceTargetLowering.cpp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 5 2 chunks +3 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 3 4 5 6 1 chunk +33 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/address-mode-opt.ll View 1 2 3 4 1 chunk +17 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (2 generated)
manasijm
4 years, 5 months ago (2016-07-07 20:38:11 UTC) #2
John
https://codereview.chromium.org/2124973005/diff/40001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/2124973005/diff/40001/src/IceCfg.cpp#newcode710 src/IceCfg.cpp:710: if (auto *ICMP = llvm::dyn_cast<InstIcmp>(&Inst)) { optional: Icmp instead ...
4 years, 5 months ago (2016-07-07 21:20:56 UTC) #3
Eric Holk
lgtm otherwise (including fixing John's suggestions) Both of my suggestions are about explicit comparisons with ...
4 years, 5 months ago (2016-07-07 21:46:48 UTC) #4
manasijm
https://codereview.chromium.org/2124973005/diff/40001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/2124973005/diff/40001/src/IceCfg.cpp#newcode710 src/IceCfg.cpp:710: if (auto *ICMP = llvm::dyn_cast<InstIcmp>(&Inst)) { On 2016/07/07 21:20:56, ...
4 years, 5 months ago (2016-07-07 22:43:35 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/2124973005/diff/60001/src/IceInst.cpp File src/IceInst.cpp (right): https://codereview.chromium.org/2124973005/diff/60001/src/IceInst.cpp#newcode1090 src/IceInst.cpp:1090: case Eq: I think this would be cleaner if ...
4 years, 5 months ago (2016-07-08 11:45:46 UTC) #6
manasijm
https://codereview.chromium.org/2124973005/diff/60001/src/IceInst.cpp File src/IceInst.cpp (right): https://codereview.chromium.org/2124973005/diff/60001/src/IceInst.cpp#newcode1090 src/IceInst.cpp:1090: case Eq: On 2016/07/08 11:45:46, stichnot wrote: > I ...
4 years, 5 months ago (2016-07-08 18:11:40 UTC) #7
John
as long as Jim's happy, lgtm https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.def File src/IceInst.def (right): https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.def#newcode91 src/IceInst.def:91: /* enum value, ...
4 years, 5 months ago (2016-07-08 18:21:08 UTC) #8
Jim Stichnoth
https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.cpp File src/IceInst.cpp (right): https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.cpp#newcode1091 src/IceInst.cpp:1091: auto *TempOp = getSrc(0); Since Srcs[] is a protected ...
4 years, 5 months ago (2016-07-10 13:25:32 UTC) #9
manasijm
https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.cpp File src/IceInst.cpp (right): https://codereview.chromium.org/2124973005/diff/80001/src/IceInst.cpp#newcode1091 src/IceInst.cpp:1091: auto *TempOp = getSrc(0); On 2016/07/10 13:25:32, stichnot wrote: ...
4 years, 5 months ago (2016-07-11 22:27:04 UTC) #10
Jim Stichnoth
https://codereview.chromium.org/2124973005/diff/100001/src/IceTargetLoweringX86BaseImpl.h File src/IceTargetLoweringX86BaseImpl.h (right): https://codereview.chromium.org/2124973005/diff/100001/src/IceTargetLoweringX86BaseImpl.h#newcode5663 src/IceTargetLoweringX86BaseImpl.h:5663: auto *Var0 = llvm::dyn_cast<Variable>(Icmp->getSrc(0)); As we discussed offline, it ...
4 years, 5 months ago (2016-07-14 19:10:03 UTC) #11
manasijm
On 2016/07/14 19:10:03, stichnot wrote: > https://codereview.chromium.org/2124973005/diff/100001/src/IceTargetLoweringX86BaseImpl.h > File src/IceTargetLoweringX86BaseImpl.h (right): > > https://codereview.chromium.org/2124973005/diff/100001/src/IceTargetLoweringX86BaseImpl.h#newcode5663 > ...
4 years, 5 months ago (2016-07-15 20:25:50 UTC) #12
Jim Stichnoth
https://codereview.chromium.org/2124973005/diff/120001/src/IceCfg.h File src/IceCfg.h (right): https://codereview.chromium.org/2124973005/diff/120001/src/IceCfg.h#newcode206 src/IceCfg.h:206: void invertICMP(); Can this be removed? https://codereview.chromium.org/2124973005/diff/120001/src/IceInst.def File src/IceInst.def ...
4 years, 5 months ago (2016-07-20 22:25:57 UTC) #13
manasijm
https://codereview.chromium.org/2124973005/diff/120001/src/IceCfg.h File src/IceCfg.h (right): https://codereview.chromium.org/2124973005/diff/120001/src/IceCfg.h#newcode206 src/IceCfg.h:206: void invertICMP(); On 2016/07/20 22:25:56, stichnot wrote: > Can ...
4 years, 5 months ago (2016-07-20 22:54:17 UTC) #14
Jim Stichnoth
lgtm
4 years, 5 months ago (2016-07-21 01:39:00 UTC) #15
manasijm
4 years, 5 months ago (2016-07-21 19:40:28 UTC) #17
Message was sent while issue was closed.
Committed patchset #8 (id:140001) manually as
0c70417672c2da35b06d121fc49e8bb6967e102e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698