[turbofan] Extend the type fixup to LoadField as well.
For LoadElimination we must not replace LoadField nodes with other nodes whose types are not a subtype of the original LoadField type, as that breaks the verifier. We already fixed that earlier for store to load forwarding, but the fix didn't cover LoadField forwarding. This actually still generates the correct code even w/o the fix, but since recently fails due to stronger checking in representation selection. So this makes clusterfuzz happy again. R=mvstanton@chromium.org BUG=chromium:607899 LOG=n Review-Url: https://codereview.chromium.org/1934973002 Cr-Commit-Position: refs/heads/master@{#35930}
This commit is contained in:
parent
4aa02441da
commit
c0e65ea85d
@ -34,8 +34,9 @@ Reduction LoadElimination::ReduceLoadField(Node* node) {
|
||||
effect = NodeProperties::GetEffectInput(effect)) {
|
||||
switch (effect->opcode()) {
|
||||
case IrOpcode::kLoadField: {
|
||||
FieldAccess const effect_access = FieldAccessOf(effect->op());
|
||||
if (object == NodeProperties::GetValueInput(effect, 0) &&
|
||||
access == FieldAccessOf(effect->op())) {
|
||||
access == effect_access && effect_access.type->Is(access.type)) {
|
||||
Node* const value = effect;
|
||||
ReplaceWithValue(node, value);
|
||||
return Replace(value);
|
||||
|
Loading…
Reference in New Issue
Block a user