Commit 35b611e0 authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

[ptr-compr][CSA] Enabling the DecompressionElimination AdvancedReducer

Also adding a pair of valid compress/decompress that was missing.

Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng
Bug: v8:8977, v8:7703, chromium:963759
Change-Id: I668c26e636996e1c7621a23743df33b73e18ae89
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624787
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61816}
parent 8e71afad
......@@ -35,7 +35,8 @@ bool DecompressionElimination::IsValidDecompress(
return IrOpcode::IsDecompressOpcode(decompressOpcode);
case IrOpcode::kChangeTaggedSignedToCompressedSigned:
return decompressOpcode ==
IrOpcode::kChangeCompressedSignedToTaggedSigned;
IrOpcode::kChangeCompressedSignedToTaggedSigned ||
decompressOpcode == IrOpcode::kChangeCompressedToTagged;
case IrOpcode::kChangeTaggedPointerToCompressedPointer:
return decompressOpcode ==
IrOpcode::kChangeCompressedPointerToTaggedPointer ||
......
......@@ -1593,6 +1593,11 @@ struct CsaOptimizationPhase {
CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
data->broker(), data->common(),
data->machine(), temp_zone);
#ifdef V8_COMPRESS_POINTERS
DecompressionElimination decompression_elimination(
&graph_reducer, data->graph(), data->machine(), data->common());
AddReducer(data, &graph_reducer, &decompression_elimination);
#endif
AddReducer(data, &graph_reducer, &branch_condition_elimination);
AddReducer(data, &graph_reducer, &dead_code_elimination);
AddReducer(data, &graph_reducer, &machine_reducer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment