[all-commits] [llvm/llvm-project] 606a2b: [musttail] Don't forward AL on Win64

Reid Kleckner via All-commits all-commits at lists.llvm.org
Tue Nov 19 17:26:01 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 606a2bd6218e8378728b6c1e021e64bb57084a97
      https://github.com/llvm/llvm-project/commit/606a2bd6218e8378728b6c1e021e64bb57084a97
  Author: Reid Kleckner <rnk at google.com>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/cfguard-checks.ll
    M llvm/test/CodeGen/X86/musttail-varargs.ll

  Log Message:
  -----------
  [musttail] Don't forward AL on Win64

AL is only used for varargs on SysV platforms. Don't forward it on
Windows. This allows control flow guard to set up an extra hidden
parameter in RAX, as described in PR44049.

This also has the effect of freeing up RAX for use in virtual member
pointer thunks, which may also be a nice little code size improvement on
Win64.

Fixes PR44049

Reviewers: ajpaverd, efriedma, hans

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




More information about the All-commits mailing list