[all-commits] [llvm/llvm-project] 0aa045: [CGCall] Annotate `this` argument with alignment

Roman Lebedev via All-commits all-commits at lists.llvm.org
Wed Apr 7 01:02:49 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0aa0458f1429372038ca6a4edc7e94c96cd9a753
      https://github.com/llvm/llvm-project/commit/0aa0458f1429372038ca6a4edc7e94c96cd9a753
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-04-07 (Wed, 07 Apr 2021)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/attr-nomerge.cpp
    M clang/test/CodeGenCXX/this-nonnull.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
    M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected

  Log Message:
  -----------
  [CGCall] Annotate `this` argument with alignment

As it is being noted in D99249, lack of alignment information on `this`
has been preventing LICM from happening.

For some time now, lack of alignment attribute does *not* imply
natural alignment, but an alignment of `1`.
Also, we used to treat dereferenceable as implying alignment,
but we no longer do, so it's a bugfix.

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




More information about the All-commits mailing list