-
JialuZhang-intel authored
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/+/3858528Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jialu Zhang <jialu.zhang@intel.com> Cr-Commit-Position: refs/heads/main@{#83288}
ea97572d