Chromium Code Reviews| Index: src/compiler/load-elimination.cc |
| diff --git a/src/compiler/load-elimination.cc b/src/compiler/load-elimination.cc |
| index 97b35c0b86445c950d24d2a3b9f1ae8f4ed33bc0..cc73fadfa05c61023e7afa176d5f951358f9c6fc 100644 |
| --- a/src/compiler/load-elimination.cc |
| +++ b/src/compiler/load-elimination.cc |
| @@ -19,7 +19,16 @@ namespace { |
| enum Aliasing { kNoAlias, kMayAlias, kMustAlias }; |
| +Node* Normalize(Node* node) { |
|
Benedikt Meurer
2017/03/31 12:48:36
Just do it like FinishRegion below please.
|
| + while (node->opcode() == IrOpcode::kTypeGuard) { |
| + node = node->InputAt(0); |
| + } |
| + return node; |
| +} |
| + |
| Aliasing QueryAlias(Node* a, Node* b) { |
| + a = Normalize(a); |
| + b = Normalize(b); |
| if (a == b) return kMustAlias; |
| if (!NodeProperties::GetType(a)->Maybe(NodeProperties::GetType(b))) { |
| return kNoAlias; |