[all-commits] [llvm/llvm-project] 279051: X86: Use MOV32r0 pseudo instead of directly emitti...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Jun 29 12:10:26 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2790516418f4763b5846cd6dd7760a0986ccfa3c
      https://github.com/llvm/llvm-project/commit/2790516418f4763b5846cd6dd7760a0986ccfa3c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-06-29 (Mon, 29 Jun 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shadow-stack.ll

  Log Message:
  -----------
  X86: Use MOV32r0 pseudo instead of directly emitting xor

This was producing reg = xor undef reg, undef reg. This looks similar
to a use of a value to define itself, and I want to disallow undef
uses for SSA virtual registers. If this were to use implicit_def,
there's no guarantee the two operands end up using the same register
(I think no guarantee exists even if the two operands start out as the
same register, but this was violated when I switched this to use an
explicit implicit_def). The MOV32r0 pseudo evidently exists to handle
this case, so use it instead. This was more work than I expected for
the 64-bit case, but I didn't see any helper for materializing a
64-bit 0.


  Commit: 7c308dc80a5c6efe4dcb85dc6e20b2691da5c367
      https://github.com/llvm/llvm-project/commit/7c308dc80a5c6efe4dcb85dc6e20b2691da5c367
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-06-29 (Mon, 29 Jun 2020)

  Changed paths:
    M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll

  Log Message:
  -----------
  LowerConstantIntrinsics: Fix missing test for byval behavior


  Commit: e7a1c2a4959a8543364d9d46b32351ef45a84e18
      https://github.com/llvm/llvm-project/commit/e7a1c2a4959a8543364d9d46b32351ef45a84e18
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-06-29 (Mon, 29 Jun 2020)

  Changed paths:
    M llvm/test/CodeGen/X86/byval-callee-cleanup.ll

  Log Message:
  -----------
  X86: Upgrade a test to not rely on byval pointee type


Compare: https://github.com/llvm/llvm-project/compare/6d01a9419351...e7a1c2a4959a


More information about the All-commits mailing list