[PATCH] D34181: MachineInstr: Reason locally about some memory objects before going to AA.

Balaram Makam via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 16 13:51:31 PDT 2017


bmakam added a comment.

In https://reviews.llvm.org/D34181#782655, @efriedma wrote:

> Any idea what effect this has on performance, if any?


This patch is performance neutral on Falkor/Kryo. This addresses a FIXME that I saw in the passing and attempted to fix as it saves compile time and catch corner cases that are currently not covered.

> The changes to the AMDGPU tests need more explanation.

These lit tests were failing due to instruction scheduling changes, so I modified the tests to reflect the new code generation and made the AMDGPU tests more robust.



================
Comment at: lib/CodeGen/MachineInstr.cpp:1667
+  if (!SameVal) {
+    const PseudoSourceValue *PSVa = MMOa->getPseudoValue();
+    const PseudoSourceValue *PSVb = MMOb->getPseudoValue();
----------------
efriedma wrote:
> This looks weird.  If getPseudoValue() is non-null, getValue() is null; therefore PSVa is always null here.
getValue() will not be null here as we check for getValue() is null and return early at line 1638

```
  if (!MMOa->getValue() || !MMOb->getValue())
    return true;
```


https://reviews.llvm.org/D34181





More information about the llvm-commits mailing list