[all-commits] [llvm/llvm-project] 9b704d: [Clang] Add option to disable -mconstructor-aliase...

modiking via All-commits all-commits at lists.llvm.org
Tue Nov 30 15:13:01 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9b704d31b54a61615e7d172a1ed040bff7423e9b
      https://github.com/llvm/llvm-project/commit/9b704d31b54a61615e7d172a1ed040bff7423e9b
  Author: modimo <modimo at fb.com>
  Date:   2021-11-30 (Tue, 30 Nov 2021)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/CodeGenCXX/constructor-alias.cpp

  Log Message:
  -----------
  [Clang] Add option to disable -mconstructor-aliases with -mno-constructor-aliases

We've found that when profiling, counts are only generated for the real definition of constructor aliases (C2 in mangled name). However, when compiling the C1 version is present at the callsite and leads to a lack of counts due to this aliasing. This causes us to miss out on inlining an otherwise hot constructor.

-mconstructor-aliases is AFAICT an optimization, so having a disabling flag if wanted seems valuable.

Testing:
ninja check-all

Reviewed By: wenlei

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




More information about the All-commits mailing list