llvm-project/llvm/lib/Passes
OCHyams 913b561c0a [Assignment Tracking][6/*] Add trackAssignments function
The Assignment Tracking debug-info feature is outlined in this RFC:

https://discourse.llvm.org/t/
rfc-assignment-tracking-a-better-way-of-specifying-variable-locations-in-ir

Add trackAssignments which adds assignment tracking metadata to a function for
a specified set of variables. The intended callers are the inliner and the
front end - those calls will be added in separate patches.

I've added a pass called declare-to-assign (AssignmentTrackingPass) that
converts dbg.declare intrinsics to dbg.assigns using trackAssignments so that
the function can be easily tested (see
llvm/test/DebugInfo/Generic/track-assignments.ll). The pass could also be used
by front ends to easily test out enabling assignment tracking.

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D132225
2022-11-08 16:52:11 +00:00
..
CMakeLists.txt [NFC] Split up PassBuilder.cpp 2021-09-15 15:30:39 -07:00
OptimizationLevel.cpp [NFC] Split up PassBuilder.cpp 2021-09-15 15:30:39 -07:00
PassBuilder.cpp [Assignment Tracking][6/*] Add trackAssignments function 2022-11-08 16:52:11 +00:00
PassBuilderBindings.cpp [Coroutines] Run coroutine passes by default 2021-07-15 14:33:40 +08:00
PassBuilderPipelines.cpp [NewPM][Pipeline] Add PipelineTuningOption to set inliner threshold 2022-11-02 10:47:51 -07:00
PassPlugin.cpp
PassRegistry.def [Assignment Tracking][6/*] Add trackAssignments function 2022-11-08 16:52:11 +00:00
StandardInstrumentations.cpp [OptBisect] Add flag to print IR when opt-bisect kicks in 2022-09-14 13:48:03 -07:00