[all-commits] [llvm/llvm-project] b2b6a5: [X86] Add support for -mvzeroupper and -mno-vzerou...

topperc via All-commits all-commits at lists.llvm.org
Mon Nov 4 11:04:12 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b2b6a54f847f33f821f41e3e82bf3b86e08817a0
      https://github.com/llvm/llvm-project/commit/b2b6a54f847f33f821f41e3e82bf3b86e08817a0
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2019-11-04 (Mon, 04 Nov 2019)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/x86-target-features.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Target/X86/X86VZeroUpper.cpp
    M llvm/test/CodeGen/X86/avx-vzeroupper.ll

  Log Message:
  -----------
  [X86] Add support for -mvzeroupper and -mno-vzeroupper to match gcc

-mvzeroupper will force the vzeroupper insertion pass to run on
CPUs that normally wouldn't. -mno-vzeroupper disables it on CPUs
where it normally runs.

To support this with the default feature handling in clang, we
need a vzeroupper feature flag in X86.td. Since this flag has
the opposite polarity of the fast-partial-ymm-or-zmm-write we
used to use to disable the pass, we now need to add this new
flag to every CPU except KNL/KNM and BTVER2 to keep identical
behavior.

Remove -fast-partial-ymm-or-zmm-write which is no longer used.

Differential Revision: https://reviews.llvm.org/D69786




More information about the All-commits mailing list