Index: src/compiler/instruction-selector.cc |
diff --git a/src/compiler/instruction-selector.cc b/src/compiler/instruction-selector.cc |
index e4fe3722e6adb3ed17c6f849ce272d9d72e1b2bd..94f5b13b758eca9fda41fa7a31f7cef589f993d8 100644 |
--- a/src/compiler/instruction-selector.cc |
+++ b/src/compiler/instruction-selector.cc |
@@ -707,6 +707,7 @@ void InstructionSelector::VisitBlock(BasicBlock* block) { |
int effect_level = 0; |
for (Node* const node : *block) { |
if (node->opcode() == IrOpcode::kStore || |
+ node->opcode() == IrOpcode::kUnalignedStore || |
node->opcode() == IrOpcode::kCheckedStore || |
node->opcode() == IrOpcode::kCall) { |
++effect_level; |
@@ -1148,6 +1149,14 @@ void InstructionSelector::VisitNode(Node* node) { |
return VisitLoadFramePointer(node); |
case IrOpcode::kLoadParentFramePointer: |
return VisitLoadParentFramePointer(node); |
+ case IrOpcode::kUnalignedLoad: { |
+ UnalignedLoadRepresentation type = |
+ UnalignedLoadRepresentationOf(node->op()); |
+ MarkAsRepresentation(type.representation(), node); |
+ return VisitUnalignedLoad(node); |
+ } |
+ case IrOpcode::kUnalignedStore: |
+ return VisitUnalignedStore(node); |
case IrOpcode::kCheckedLoad: { |
MachineRepresentation rep = |
CheckedLoadRepresentationOf(node->op()).representation(); |