[PATCH] D49393: [NFC][MCA] ZnVer1: Update RegisterFile to identify false dependencies on partially written registers.

Andrea Di Biagio via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 18 04:15:53 PDT 2018


andreadb added a comment.

In https://reviews.llvm.org/D49393#1166284, @lebedev.ri wrote:

> In https://reviews.llvm.org/D49393#1166251, @andreadb wrote:
>
> > > I have added a test (partial-reg-update-7.s), but something seems to be missing,
> > >  if i keep GR32 in RegisterFile<>, the test doesn't change.
> >
> > That is because on x86-64, a write to EAX implicitly zeroes the upper half or RAX. So, there is no false dependency with previous values of RAX, and - for the purpose of mca - EAX renames as RAX. See also the definition of `X86CInstrAnalysis::clearsSuperRegisters()` in the X86 Backend (X86/MCTargetDesc/X86MCTargetDesc.cpp).
>
>
> Right, thank you, so this already works as-is; Should i keep the test?


It is fine to keep the test :-)


Repository:
  rL LLVM

https://reviews.llvm.org/D49393





More information about the llvm-commits mailing list