• Tobias Tebbi's avatar
    [turboshaft] some IR refactorings · 7a61dad0
    Tobias Tebbi authored
    - Remove TruncateInt64ToInt32 instead of translating to Turboshaft, since it has no effect. Removing it simplifies pattern-matching in optimizations.
    - Change how exception handling is done in Turboshaft: The exception value is obtained as the result of `CatchExceptionOp` instead of a special projection. This simplifies projections.
    - Add `TupleOp` as the counterpart to `ProjectionOp`, which is useful
      for lowerings of operations that have multiple outputs.
    
    - Split BinopOp into WordBinopOp and FloatBinopOp because they have quite different semantics and many kinds only exist for one of them.
    - rename IntegerUnary to WordUnary and other occurences of
      Integer/Integral
    - rename ChangeOp::Kind::kUnsignedFloatTruncate` to `kJSFloatTruncate`
      because it actually has JS wrap-around semantics.
    - move/add representation DCHECKs to operation constructors.
    - add some convinience helpers to `AssemblerInterface`.
    
    - Add a mechanism to check which operations are supported by the machine.
    
    Drive-by fix: Abort current block in OptimizationPhase::VisitBlock if
      we lower to a block-terminator.
    
    Bug: v8:12783
    Change-Id: Ib738accccd22fb1606d9dab86f57ac1e739fcec2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3857449
    Auto-Submit: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarDarius Mercadier <dmercadier@chromium.org>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82857}
    7a61dad0
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
loong64 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
riscv Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
frame-elider.cc Loading commit data...
frame-elider.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
instruction-codes.h Loading commit data...
instruction-scheduler.cc Loading commit data...
instruction-scheduler.h Loading commit data...
instruction-selector-impl.h Loading commit data...
instruction-selector.cc Loading commit data...
instruction-selector.h Loading commit data...
instruction.cc Loading commit data...
instruction.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
mid-tier-register-allocator.cc Loading commit data...
mid-tier-register-allocator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
register-allocation.h Loading commit data...
register-allocator-verifier.cc Loading commit data...
register-allocator-verifier.h Loading commit data...
register-allocator.cc Loading commit data...
register-allocator.h Loading commit data...
spill-placer.cc Loading commit data...
spill-placer.h Loading commit data...
unwinding-info-writer.h Loading commit data...