[PATCH] D116832: [UpdateLLCTestChecks] Allow replacing register names with variables

David Greene via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 7 11:50:54 PST 2022


greened added a comment.

In D116832#3301796 <https://reviews.llvm.org/D116832#3301796>, @RKSimon wrote:

> I'm still struggling to understand real use cases here - you spoke about just wanting to match specific instructions (nontemporal load/store) - but wasn't that handled by D117694 <https://reviews.llvm.org/D117694> --filter and --filter-out?
>
> I guess I'm getting worried that these scripts are experiencing feature creep for use cases that are barely a real issue.

The nontemporal case is just one example, but even with that use-case, if the checks look like this:

  ; CHECK: vmovntpd %zmm0, 20(%eax, 10, 8)

If *anything* in the test (even in code that's been filtered out), causes register allocation changes then it's likely that `%zmm0` and/or `%eax` no longer match.  However, we still want to match the offset, index and scale components, so we can't just check for `vmovntpd` and ignore the rest of the line.  That's when register scrubbing comes in handy.  We don't really care what the actual registers are, just that we emittied a `vmovntpd` store with the correct addressing mode.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116832/new/

https://reviews.llvm.org/D116832



More information about the llvm-commits mailing list