Commit 7bf85afc authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

[compiler] Add the DecompressionOptimization phase to TurboProp

The DecompressionOptimizationPhase performs MachineRepresentation
changes in the nodes, which causes the node's instruction selection
to avoid decompression.

It is safe to run after we already have a schedule since it does not
drop any nodes.

Bug: v8:9684, v8:7703
Change-Id: I636ae80fa82d0c78878756e9f39e7a14c02803b0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2324252
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69137}
parent b975187e
......@@ -2678,6 +2678,11 @@ bool PipelineImpl::OptimizeGraphForMidTier(Linkage* linkage) {
Run<ScheduledMachineLoweringPhase>();
RunPrintAndVerify(ScheduledMachineLoweringPhase::phase_name(), true);
// The DecompressionOptimizationPhase updates node's operations but does not
// otherwise rewrite the graph, thus it is safe to run on a scheduled graph.
Run<DecompressionOptimizationPhase>();
RunPrintAndVerify(DecompressionOptimizationPhase::phase_name(), true);
data->source_positions()->RemoveDecorator();
if (data->info()->trace_turbo_json()) {
data->node_origins()->RemoveDecorator();
......
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