llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.09k stars 11.6k forks source link

[Assignment Tracking] Migrate from Clang feature to default LLVM pipeline #107122

Open jryans opened 2 weeks ago

jryans commented 2 weeks ago

The assignment tracking debug info feature is currently enabled by default in Clang, but it is not yet part of the default LLVM pipeline. This means downstream users of other non-Clang toolchains do not benefit from this feature (unless they manually add the pass as well).

Since there is not anything C-specific to the assignment tracking feature, it would be good to migrate this from a Clang feature over to the default LLVM pipeline so it's easier for everyone to benefit from this work.

During development of assignment tracking, some LTO performance regressions cropped up, so that may need to be investigated again as part of this effort. (See also this comment from @jmorse.)

CC @OCHyams @jmorse

llvmbot commented 2 weeks ago

@llvm/issue-subscribers-debuginfo

Author: J. Ryan Stinnett (jryans)

The [assignment tracking debug info feature](https://llvm.org/docs/AssignmentTracking.html) is currently enabled by default in Clang, but it is not yet part of the default LLVM pipeline. This means downstream users of other non-Clang toolchains do not benefit from this feature (unless they manually add the pass as well). Since there is not anything C-specific to the assignment tracking feature, it would be good to migrate this from a Clang feature over to the default LLVM pipeline so it's easier for everyone to benefit from this work. During development of assignment tracking, some LTO performance regressions cropped up, so that may need to be investigated again as part of this effort. (See also [this comment](https://github.com/llvm/llvm-project/issues/105881#issuecomment-2326066329) from @jmorse.) CC @OCHyams @jmorse