[all-commits] [llvm/llvm-project] 8f8d9f: [ObjC][ARC] Handle operand bundle "clang.arc.attac...

Akira Hatanaka via All-commits all-commits at lists.llvm.org
Mon Nov 8 18:40:27 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8f8d9f743d317ca05ed2fac241fd9abc806d4c26
      https://github.com/llvm/llvm-project/commit/8f8d9f743d317ca05ed2fac241fd9abc806d4c26
  Author: Akira Hatanaka <ahatanaka at apple.com>
  Date:   2021-11-08 (Mon, 08 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARC.h
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    A llvm/test/Transforms/ObjCARC/contract-attached-call-no-marker.ll

  Log Message:
  -----------
  [ObjC][ARC] Handle operand bundle "clang.arc.attachedcall" on targets
that don't use the inline asm marker

This patch makes the changes to the ARC middle-end passes that are
needed to handle operand bundle "clang.arc.attachedcall" on targets that
don't use the inline asm marker for the retainRV/autoreleaseRV
handshake (e.g., x86-64).

Note that anyone who wants to use the operand bundle on their target has
to teach their backend to handle the operand bundle. The x86-64 backend
already knows about the operand bundle (see
https://reviews.llvm.org/D94597).

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


  Commit: d61eb6c5d97b6fb8af206bd533db6a0810f75285
      https://github.com/llvm/llvm-project/commit/d61eb6c5d97b6fb8af206bd533db6a0810f75285
  Author: Akira Hatanaka <ahatanaka at apple.com>
  Date:   2021-11-08 (Mon, 08 Nov 2021)

  Changed paths:
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/test/CodeGenObjC/arc-blocks.m
    M clang/test/CodeGenObjC/arc-bridged-cast.m
    M clang/test/CodeGenObjC/arc-literals.m
    M clang/test/CodeGenObjC/arc-precise-lifetime.m
    M clang/test/CodeGenObjC/arc-rv-attr.m
    M clang/test/CodeGenObjC/arc-ternary-op.m
    M clang/test/CodeGenObjC/arc-unsafeclaim.m
    M clang/test/CodeGenObjC/arc.m
    M clang/test/CodeGenObjC/nsvalue-objc-boxable-mac-arc.m
    M clang/test/CodeGenObjC/os_log.m
    M clang/test/CodeGenObjCXX/arc-forwarded-lambda-call.mm
    M clang/test/CodeGenObjCXX/arc-globals.mm
    M clang/test/CodeGenObjCXX/arc-references.mm
    M clang/test/CodeGenObjCXX/arc.mm
    M clang/test/CodeGenObjCXX/literals.mm

  Log Message:
  -----------
  [ObjC][ARC] Use operand bundle "clang.arc.attachedcall" on x86-64

https://reviews.llvm.org/D92808 made clang use the operand bundle
instead of emitting retainRV/claimRV calls on arm64. This commit makes
changes to clang that are needed to use the operand bundle on x86-64.

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


Compare: https://github.com/llvm/llvm-project/compare/92c9b340be41...d61eb6c5d97b


More information about the All-commits mailing list