v8/test/cctest/compiler
JialuZhang-intel ea97572d47 [turbofan] Improve jump threading phase
Let jump threading phase be able to handle the jump with gap moves instructions.
Record the first occurrence of the gap jump instruction and forward
the same gap jump instructions into the recorded one.

For example:
  In this case, we merge the second instruction into the first one,
  because those two gap jump instructions have the same gap moves.

    -- Before jump threading phase:
    B0:
    1. gap(rdx=rbx)
       ArchJmp imm:3
    B1:
    2. gap(rdx=rbx)
       ArchJmp imm:3

    -- After jump threading phase:
    B0:
    1. gap(rdx=rbx)
       ArchJmp imm:3
    B1:
    2. ArchNop

This can eliminate redundant jump and move instructions.

Design doc: https://docs.google.com/document/d/1SpO7Kw4e6CnCesFT118MUnCufUHZDy3QaVSymcci5jE/edit?usp=sharing

Change-Id: Ie94c8f63e2f758824619f6ed9513cbdff00186c4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3858528
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Jialu Zhang <jialu.zhang@intel.com>
Cr-Commit-Position: refs/heads/main@{#83288}
2022-09-19 03:44:11 +00:00
..
codegen-tester.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
codegen-tester.h [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
function-tester.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
function-tester.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
graph-and-builders.h [zone] Cleanup zone allocations in src/compiler and tests, pt.3 2020-07-10 16:39:05 +00:00
serializer-tester.h [compiler] Fix serialization for Function#bind 2021-06-22 12:42:19 +00:00
test-atomic-load-store-codegen.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-basic-block-profiler.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-branch-combine.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-calls-with-arraylike-or-spread.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-code-assembler.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-code-generator.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-concurrent-shared-function-info.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-gap-resolver.cc Fix compilation with gcc 2022-06-01 18:17:22 +00:00
test-graph-visualizer.cc Reland "[zone-compr] Introduce ZoneTypeTraits and ZoneCompression" 2020-07-31 11:43:08 +00:00
test-instruction-scheduler.cc Simplify DeoptimizeKind usage in compiler/ 2022-04-06 16:54:03 +00:00
test-instruction.cc [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
test-js-constant-cache.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-js-context-specialization.cc [runtime] Enable basic Context extension slot verification. 2021-10-12 09:33:26 +00:00
test-js-typed-lowering.cc [compiler] Remove support for --no-concurrent-inlining 2022-01-17 11:29:48 +00:00
test-jump-threading.cc [turbofan] Improve jump threading phase 2022-09-19 03:44:11 +00:00
test-linkage.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-loop-analysis.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-machine-operator-reducer.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-multiple-return.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-node.cc Reland "[zone-compr] Introduce ZoneTypeTraits and ZoneCompression" 2020-07-31 11:43:08 +00:00
test-operator.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-representation-change.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-run-bytecode-graph-builder.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-run-calls-to-external-references.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-run-load-store.cc [test] Migrate cctest/compiler/test-codegen to unittests/ 2022-08-22 17:28:27 +00:00
test-run-machops.cc [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
test-run-native-calls.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-run-stackcheck.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-run-unwinding-info.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00
test-run-variables.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-verify-type.cc [compiler] Use v8_flags for accessing flag values 2022-09-15 12:54:30 +00:00