v8/test/unittests/compiler
Leszek Swirski 1a3027303b [turbofan] Never generate loop exit phis for the accumulator
The accumulator should never be alive when jumping back to a loop
header, or jumping out of a loop. This means that as far as far as
TurboFan is concerned, we never need to create Phis or LoopExitValues
for the accumulator, as its value should not escape the loop.

For safety, this also augments the IsLivenessValid DCHECK in the
liveness analysis to check that the accumulator is not live in these
cases, and amends the bytecode analysis tests to kill the accumulator
where necessary to ensure this.

As a drive-by, added some comments to the more complex bytecode analysis
tests, since figuring out what they were for and how to fix them took a
non-trivial amount of time.

Change-Id: Idecf76a36681d724134c59768650c23cc6b0e9ef
Reviewed-on: https://chromium-review.googlesource.com/615168
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47388}
2017-08-17 05:09:31 +00:00
..
arm
arm64
ia32 [cleanup] Remove return after UNREACHABLE 2017-05-22 13:10:01 +00:00
mips [compiler] Replace some MachineType by MachineRepresentation 2017-08-03 12:12:38 +00:00
mips64 [compiler] Replace some MachineType by MachineRepresentation 2017-08-03 12:12:38 +00:00
ppc
regalloc
s390
x64
branch-elimination-unittest.cc
bytecode-analysis-unittest.cc [turbofan] Never generate loop exit phis for the accumulator 2017-08-17 05:09:31 +00:00
checkpoint-elimination-unittest.cc
common-operator-reducer-unittest.cc
common-operator-unittest.cc
compiler-test-utils.h
control-equivalence-unittest.cc
control-flow-optimizer-unittest.cc
dead-code-elimination-unittest.cc
diamond-unittest.cc
effect-control-linearizer-unittest.cc
escape-analysis-unittest.cc
graph-reducer-unittest.cc [Turbofan] Fixing A/B/C test operators in unittests 2017-08-07 17:12:36 +00:00
graph-reducer-unittest.h
graph-trimmer-unittest.cc
graph-unittest.cc
graph-unittest.h
instruction-selector-unittest.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
instruction-selector-unittest.h [turbofan] Remove ToFloat64AsInt and make ToFloat64 return a Double 2017-07-14 15:01:02 +00:00
instruction-sequence-unittest.cc
instruction-sequence-unittest.h
instruction-unittest.cc
int64-lowering-unittest.cc [wasm] Move the CallDescriptor creation methods out of ModuleEnv into the compiler. 2017-06-27 15:38:52 +00:00
js-builtin-reducer-unittest.cc [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
js-create-lowering-unittest.cc [deoptimizer] Remove support for full-codegen frames. 2017-06-14 12:41:22 +00:00
js-intrinsic-lowering-unittest.cc [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
js-operator-unittest.cc [Ignition / TurboFan] Revert all StringConcat bytecode implementation. 2017-07-19 16:03:46 +00:00
js-typed-lowering-unittest.cc [turbofan] Remove obsolete LoadBuffer and StoreBuffer operators. 2017-08-11 19:17:37 +00:00
linkage-tail-call-unittest.cc
live-range-builder.h
load-elimination-unittest.cc [turbofan] Fix introduction of contradicting {TypeGuard}. 2017-08-08 11:54:51 +00:00
loop-peeling-unittest.cc
machine-operator-reducer-unittest.cc [base] Consolidate IsPowerOfTwo{32,64} and IS_POWER_OF_TWO 2017-07-13 10:49:09 +00:00
machine-operator-unittest.cc
node-cache-unittest.cc
node-matchers-unittest.cc
node-properties-unittest.cc
node-test-utils.cc [turbofan] Remove obsolete LoadBuffer and StoreBuffer operators. 2017-08-11 19:17:37 +00:00
node-test-utils.h [turbofan] Reland of Add alignment parameter to StackSlot operator 2017-05-16 12:27:56 +00:00
node-unittest.cc
opcodes-unittest.cc
persistent-unittest.cc Reland2: [turbofan] staging new implementation of escape analysis 2017-07-31 10:01:07 +00:00
schedule-unittest.cc
scheduler-rpo-unittest.cc
scheduler-unittest.cc
simplified-operator-reducer-unittest.cc [turbofan] Let ChangeFloat64ToTagged canonicalize to Smi if possible. 2017-04-13 06:57:04 +00:00
simplified-operator-unittest.cc [turbofan] Remove obsolete LoadBuffer and StoreBuffer operators. 2017-08-11 19:17:37 +00:00
state-values-utils-unittest.cc
typed-optimization-unittest.cc [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
typer-unittest.cc
value-numbering-reducer-unittest.cc
zone-stats-unittest.cc