[turbofan] Check node input/use consistency for changed operators and new nodes.
authorjarin <jarin@chromium.org>
Fri, 25 Sep 2015 08:42:51 +0000 (01:42 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 25 Sep 2015 08:43:11 +0000 (08:43 +0000)
commit1c2867c0dac589300817f430bf13a84eba4e8c07
treeb4f5ccd3f1d88a02fe976086e30049f2008f82a6
parent56a0a797f210e04746f2888116365d29a4bb6afc
[turbofan] Check node input/use consistency for changed operators and new nodes.

Verifies consistency of node inputs and uses:
- node inputs should agree with the input count computed from the node's operator.
- effect inputs should have effect outputs (or be a sentinel).
- control inputs should have control outputs (or be a sentinel).
- frame state inputs should be frame states (or be a sentinel).
- if the node has control uses, it should produce control.
- if the node has effect uses, it should produce effect.
- if the node has frame state uses, it must be a frame state.

I also removed some tests, either because they did not seem to be useful (scheduler) or they tested dead functionality (diamond effect phi).

Review URL: https://codereview.chromium.org/1368913002

Cr-Commit-Position: refs/heads/master@{#30927}
15 files changed:
src/compiler/diamond.h
src/compiler/graph.cc
src/compiler/js-intrinsic-lowering.cc
src/compiler/js-typed-lowering.cc
src/compiler/node-properties.cc
src/compiler/node-properties.h
src/compiler/select-lowering.cc
test/cctest/compiler/test-loop-analysis.cc
test/cctest/compiler/test-machine-operator-reducer.cc
test/cctest/compiler/test-osr.cc
test/unittests/compiler/control-equivalence-unittest.cc
test/unittests/compiler/diamond-unittest.cc
test/unittests/compiler/loop-peeling-unittest.cc
test/unittests/compiler/scheduler-unittest.cc
test/unittests/compiler/value-numbering-reducer-unittest.cc