[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:00:16 PDT 2018


andreadb added a comment.

> 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).


Repository:
  rL LLVM

https://reviews.llvm.org/D49393





More information about the llvm-commits mailing list