v8/test/unittests/compiler
Manos Koukoutos b927dc158c [wasm][turbofan] Store real signature on call nodes for inlining
In each wasm CallDescriptor, we store the signature of the call based on
the real parameters passed to the call. This signature is more precise
than the formal function signature. We use this signature in inlining
to enable more optimizations.

Changes:
- Add wasm_sig_ field to CallDescriptor.
- Construct the real signature in {DoCall} and {DoReturnCall} in
  graph-builder-interface, and pass it to all call-related functions in
  WasmGraphBuilder.
- Update {ReplaceTypeInCallDescriptorWith} to use ValueType over
  MachineType. Construct the updated function signature.
- In wasm-inlining, kill the Call node after inlining.
- Add two tests.

Bug: v8:11510
Change-Id: Ica711b6b4d83945ecb7201be26577eab7db3c060
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3270539
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77889}
2021-11-15 08:13:19 +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
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] Uint32 sign extend into 64bit 2021-09-28 11:39:26 +00:00
s390
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 [cleanup] Replace redundant BytecodeArrayIterator class 2021-02-24 13:54:53 +00:00
checkpoint-elimination-unittest.cc
common-operator-reducer-unittest.cc
common-operator-unittest.cc [compiler] Fix typo in IfValueParameters operator== 2021-01-11 11:15:14 +00:00
compiler-test-utils.h
constant-folding-reducer-unittest.cc
control-equivalence-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
control-flow-optimizer-unittest.cc
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
effect-control-linearizer-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +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
graph-trimmer-unittest.cc
graph-unittest.cc [frames] Add UnoptimizedFrame 2021-02-15 14:35:04 +00:00
graph-unittest.h
int64-lowering-unittest.cc [turbofan] Disallow floating control in wasm 2021-05-12 15:26:33 +00:00
js-call-reducer-unittest.cc [compiler] Make JSFunction bg-serialized 2021-07-19 13:47: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
js-typed-lowering-unittest.cc [compiler] Change all JS operators to hold TinyRefs instead of handles 2021-08-05 12:32:38 +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
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
node-matchers-unittest.cc
node-properties-unittest.cc
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
opcodes-unittest.cc
persistent-unittest.cc
redundancy-elimination-unittest.cc [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
schedule-unittest.cc
scheduler-rpo-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
scheduler-unittest.cc
simplified-lowering-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
simplified-operator-reducer-unittest.cc
simplified-operator-unittest.cc
state-values-utils-unittest.cc
typed-optimization-unittest.cc
typer-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
value-numbering-reducer-unittest.cc
zone-stats-unittest.cc