Enhance the fix of PR17631
authorMichael Liao <michael.liao@intel.com>
Tue, 3 Dec 2013 09:17:32 +0000 (09:17 +0000)
committerMichael Liao <michael.liao@intel.com>
Tue, 3 Dec 2013 09:17:32 +0000 (09:17 +0000)
commit239ffb30b0cefd4e5eb9b410e92bc7df51936233
treecc47edf9fe0dbe3545897a1efa899fa7db5f0274
parent07fc4841b1e438db1cfb0d24fb06556cd99aa14b
Enhance the fix of PR17631

- The fix to PR17631 fixes part of the cases where 'vzeroupper' should
  not be issued before 'call' insn. There're other cases where helper
  calls will be inserted not limited to epilog. These helper calls do
  not follow the standard calling convention and won't clobber any YMM
  registers. (So far, all call conventions will clobber any or part of
  YMM registers.)
  This patch enhances the previous fix to cover more cases 'vzerosupper' should
  not be inserted by checking if that function call won't clobber any YMM
  registers and skipping it if so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196261 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86VZeroUpper.cpp
test/CodeGen/X86/pr17631.ll