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

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 18 04:11:35 PDT 2018


lebedev.ri added a comment.

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?


Repository:
  rL LLVM

https://reviews.llvm.org/D49393





More information about the llvm-commits mailing list