[all-commits] [llvm/llvm-project] a773db: Add a command-line flag to control the Swift exten...

Doug Gregor via All-commits all-commits at lists.llvm.org
Thu Sep 16 06:58:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a773db7d76222ccf4365979e01dd582fd2b5b3df
      https://github.com/llvm/llvm-project/commit/a773db7d76222ccf4365979e01dd582fd2b5b3df
  Author: Doug Gregor <dgregor at apple.com>
  Date:   2021-09-16 (Thu, 16 Sep 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/swift-dynamic-async-frame.ll
    M llvm/test/CodeGen/X86/swift-dynamic-async-frame.ll

  Log Message:
  -----------
  Add a command-line flag to control the Swift extended async  frame info.

Introduce a new command-line flag `-swift-async-fp={auto|always|never}`
that controls how code generation sets the Swift extended async frame
info bit. There are three possibilities:

* `auto`: which determines how to set the bit based on deployment target, either
statically or dynamically via `swift_async_extendedFramePointerFlags`.
* `always`: the default, always set the bit statically, regardless of deployment
target.
* `never`: never set the bit, regardless of deployment target.

Patch by Doug Gregor <dgregor at apple.com>

Reviewed By: doug.gregor

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




More information about the All-commits mailing list