v8/test/unittests/compiler
Leszek Swirski 2b96e854f5 [compiler] Make accumulator index 0 in liveness bitvectors
Previously, the accumulator was at the end of liveness bitvectors, which
meant that checking for accumulator liveness required a length lookup.
This CL moves it to the start of the bitvector, with registers starting
at index 1 -- the assumption is that the addition of 1 to the index on
register liveness access can be constant folded away.

As a cleanup, replace all the custom liveness printing code with a
single unified ToString. This places the accumulator at the end of the
printed liveness, to avoid having to change test expectations (also, the
position of the accumulator is now an implementation detail). As a
similar cleanup, change StateValue node building to use the
BytecodeLivenessState interface rather than the underlying bitvector.
These two cleanups allow us to remove the raw bitvector accessor from
liveness entirely.

Change-Id: Ic2744b5e8e16b8527e6a4e8d3b4ddad7096289d9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455144
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#79066}
2022-02-14 10:15:06 +00:00
..
arm [wasm-simd][arm] Fuse extadd_pairwise and add SIMD on arm. 2021-06-28 14:26:00 +00:00
arm64 Reland "[arm64][wasm-simd] Use Cm(0) for integer comparison with 0" 2021-10-06 12:59:27 +00:00
backend [regalloc] Fix S128 slot interference check 2021-09-17 12:54:10 +00:00
ia32 [ia32] Use AVX for some Float ops if supported 2021-09-09 17:15:54 +00:00
loong64 [mips64][loong64][codegen] Sign-extend uint32 values to 64-bit 2021-09-30 07:53:06 +00:00
mips Move architecture dependent files 2019-05-28 14:02:15 +00:00
mips64 [mips64][loong64][codegen] Sign-extend uint32 values to 64-bit 2021-09-30 07:53:06 +00:00
ppc PPC: remove unused OWNERS files 2021-05-12 16:44:03 +00:00
regalloc [Turboprop] Ensure constant operands are only used when allowed. 2021-02-12 20:40:36 +00:00
riscv64 [riscv64] Improve unaligned memory accesses 2021-12-22 01:56:43 +00:00
s390 Move architecture dependent files 2019-05-28 14:02:15 +00:00
x64 [x64] Optimize F64x2PromoteLowF32x4 with S128Load64Zero 2021-09-17 16:52:23 +00:00
branch-elimination-unittest.cc [turbofan] Optimize traps after Merge/IfTrue/IfFalse 2021-10-01 05:05:15 +00:00
bytecode-analysis-unittest.cc [compiler] Make accumulator index 0 in liveness bitvectors 2022-02-14 10:15:06 +00:00
checkpoint-elimination-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
common-operator-reducer-unittest.cc [compiler] Remove persistent handles as a broker parameter 2020-08-13 08:13:33 +00:00
common-operator-unittest.cc [compiler] Fix typo in IfValueParameters operator== 2021-01-11 11:15:14 +00:00
compiler-test-utils.h [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
constant-folding-reducer-unittest.cc [compiler] Fix --trace-turbo-reduction in the presence of direct reads 2020-09-11 17:21:43 +00:00
control-equivalence-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
control-flow-optimizer-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
csa-load-elimination-unittest.cc [turbofan] Fix CsaLoadElimination for small types 2021-03-11 11:09:06 +00:00
dead-code-elimination-unittest.cc [compiler] Remove most instances of DisallowHeapAccessIf scope 2021-06-25 08:52:24 +00:00
decompression-optimizer-unittest.cc [compiler] Rename type BailoutId to BytecodeOffset 2021-01-20 13:03:41 +00:00
diamond-unittest.cc [cleanup] [compiler] Fix (D)CHECK macros 2017-09-25 10:21:34 +00:00
effect-control-linearizer-unittest.cc Remove the turboprop implementation 2022-01-20 12:31:39 +00:00
frame-unittest.cc Reland "Reland "Reland "[compiler][wasm] Align Frame slots to value size""" 2021-03-05 19:49:19 +00:00
graph-reducer-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
graph-reducer-unittest.h [unittests] Convert to the new MOCK_METHOD macro. 2020-06-10 15:50:38 +00:00
graph-trimmer-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
graph-unittest.cc [compiler] Remove support for --no-concurrent-inlining 2022-01-17 11:29:48 +00:00
graph-unittest.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
int64-lowering-unittest.cc [turbofan] Disallow floating control in wasm 2021-05-12 15:26:33 +00:00
js-call-reducer-unittest.cc Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
js-create-lowering-unittest.cc [compiler] Change all JS operators to hold TinyRefs instead of handles 2021-08-05 12:32:38 +00:00
js-intrinsic-lowering-unittest.cc [interpreter] Remove unused interpreter intrinsics 2021-06-17 13:43:41 +00:00
js-native-context-specialization-unittest.cc [TurboFan] Fix max double string length in JSNativeContextSpecialization 2021-04-21 13:29:50 +00:00
js-operator-unittest.cc [tests] Fix subobject-linkage error when building with GCC 2019-10-07 11:11:39 +00:00
js-typed-lowering-unittest.cc [compiler] Remove support for --no-concurrent-inlining 2022-01-17 11:29:48 +00:00
linkage-tail-call-unittest.cc [wasm][turbofan] Store real signature on call nodes for inlining 2021-11-15 08:13:19 +00:00
load-elimination-unittest.cc Retire PretenureFlag and use AllocationType everywhere. 2019-03-12 08:10:44 +00:00
loop-peeling-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
machine-operator-reducer-unittest.cc [wasm] Optimize when Select's cond is a constant 2021-08-27 16:22:59 +00:00
machine-operator-unittest.cc [turbofan] Disallow floating control in wasm 2021-05-12 15:26:33 +00:00
node-cache-unittest.cc [turbofan] use ZoneUnorderedMap for NodeCache 2020-03-05 13:00:34 +00:00
node-matchers-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
node-properties-unittest.cc [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
node-test-utils.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
node-test-utils.h [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
node-unittest.cc [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
opcodes-unittest.cc [compiler] Refactor opcode macro lists 2020-06-23 07:54:14 +00:00
persistent-unittest.cc [ubsan] Fix numerical overflows in the compiler 2019-01-10 11:17:37 +00:00
redundancy-elimination-unittest.cc Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
schedule-unittest.cc Reland "[zone-compr] Introduce ZoneTypeTraits and ZoneCompression" 2020-07-31 11:43:08 +00:00
scheduler-rpo-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
scheduler-unittest.cc [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
simplified-lowering-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
simplified-operator-reducer-unittest.cc [turbofan] Reduce consecutive overflow addition with constants 2020-09-22 16:17:53 +00:00
simplified-operator-unittest.cc [ptr-compr] Remove Compressed mentions from in the pipeline 2019-11-11 12:23:41 +00:00
state-values-utils-unittest.cc [compiler] Make accumulator index 0 in liveness bitvectors 2022-02-14 10:15:06 +00:00
typed-optimization-unittest.cc [compiler] Fix --trace-turbo-reduction in the presence of direct reads 2020-09-11 17:21:43 +00:00
typer-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
value-numbering-reducer-unittest.cc Reland "[zone-compr] Introduce ZoneTypeTraits and ZoneCompression" 2020-07-31 11:43:08 +00:00
zone-stats-unittest.cc [zone] Cleanup zone allocations in src/compiler and tests, pt.3 2020-07-10 16:39:05 +00:00