Commit e5a5f5ae authored by Georg Neis's avatar Georg Neis Committed by Commit Bot

[turbofan] Simplify effect-control-linearizer.h

... by moving the EffectControlLinearizer class into the .cc file and
only exposing a single function in the header.

Change-Id: I63dc3edd9de7df60041f0687d920996e308e0d4e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605739
Commit-Queue: Georg Neis <neis@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Auto-Submit: Georg Neis <neis@chromium.org>
Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61413}
parent 26ba75c8
This diff is collapsed.
This diff is collapsed.
......@@ -1414,20 +1414,19 @@ struct EffectControlLinearizationPhase {
TraceSchedule(data->info(), data, schedule,
"effect linearization schedule");
EffectControlLinearizer::MaskArrayIndexEnable mask_array_index =
MaskArrayIndexEnable mask_array_index =
(data->info()->GetPoisoningMitigationLevel() !=
PoisoningMitigationLevel::kDontPoison)
? EffectControlLinearizer::kMaskArrayIndex
: EffectControlLinearizer::kDoNotMaskArrayIndex;
? MaskArrayIndexEnable::kMaskArrayIndex
: MaskArrayIndexEnable::kDoNotMaskArrayIndex;
// Post-pass for wiring the control/effects
// - connect allocating representation changes into the control&effect
// chains and lower them,
// - get rid of the region markers,
// - introduce effect phis and rewire effects to get SSA again.
EffectControlLinearizer linearizer(
data->jsgraph(), schedule, temp_zone, data->source_positions(),
data->node_origins(), mask_array_index, data->embedded_maps());
linearizer.Run();
LinearizeEffectControl(data->jsgraph(), schedule, temp_zone,
data->source_positions(), data->node_origins(),
mask_array_index, data->embedded_maps());
}
{
// The {EffectControlLinearizer} might leave {Dead} nodes behind, so we
......
......@@ -87,10 +87,9 @@ TEST_F(EffectControlLinearizerTest, SimpleLoad) {
schedule.AddReturn(start, ret);
// Run the state effect introducer.
EffectControlLinearizer introducer(
jsgraph(), &schedule, zone(), source_positions(), node_origins(),
EffectControlLinearizer::kDoNotMaskArrayIndex, maps());
introducer.Run();
LinearizeEffectControl(jsgraph(), &schedule, zone(), source_positions(),
node_origins(),
MaskArrayIndexEnable::kDoNotMaskArrayIndex, maps());
EXPECT_THAT(load,
IsLoadField(AccessBuilder::ForHeapNumberValue(), heap_number,
......@@ -150,10 +149,9 @@ TEST_F(EffectControlLinearizerTest, DiamondLoad) {
schedule.AddReturn(mblock, ret);
// Run the state effect introducer.
EffectControlLinearizer introducer(
jsgraph(), &schedule, zone(), source_positions(), node_origins(),
EffectControlLinearizer::kDoNotMaskArrayIndex, maps());
introducer.Run();
LinearizeEffectControl(jsgraph(), &schedule, zone(), source_positions(),
node_origins(),
MaskArrayIndexEnable::kDoNotMaskArrayIndex, maps());
// The effect input to the return should be an effect phi with the
// newly introduced effectful change operators.
......@@ -218,10 +216,9 @@ TEST_F(EffectControlLinearizerTest, LoopLoad) {
schedule.AddReturn(rblock, ret);
// Run the state effect introducer.
EffectControlLinearizer introducer(
jsgraph(), &schedule, zone(), source_positions(), node_origins(),
EffectControlLinearizer::kDoNotMaskArrayIndex, maps());
introducer.Run();
LinearizeEffectControl(jsgraph(), &schedule, zone(), source_positions(),
node_origins(),
MaskArrayIndexEnable::kDoNotMaskArrayIndex, maps());
ASSERT_THAT(ret, IsReturn(load, load, if_true));
EXPECT_THAT(load, IsLoadField(AccessBuilder::ForHeapNumberValue(),
......@@ -282,10 +279,9 @@ TEST_F(EffectControlLinearizerTest, CloneBranch) {
schedule.AddNode(mblock, merge);
schedule.AddNode(mblock, graph()->end());
EffectControlLinearizer introducer(
jsgraph(), &schedule, zone(), source_positions(), node_origins(),
EffectControlLinearizer::kDoNotMaskArrayIndex, maps());
introducer.Run();
LinearizeEffectControl(jsgraph(), &schedule, zone(), source_positions(),
node_origins(),
MaskArrayIndexEnable::kDoNotMaskArrayIndex, maps());
Capture<Node *> branch1_capture, branch2_capture;
EXPECT_THAT(
......
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