LLVM 20.0.0git
LiveDebugValues.h
Go to the documentation of this file.
1//===- LiveDebugValues.cpp - Tracking Debug Value MIs ---------*- C++ -*---===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIB_CODEGEN_LIVEDEBUGVALUES_LIVEDEBUGVALUES_H
10#define LLVM_LIB_CODEGEN_LIVEDEBUGVALUES_LIVEDEBUGVALUES_H
11
12namespace llvm {
13class MachineDominatorTree;
14class MachineFunction;
15class TargetPassConfig;
16class Triple;
17
18// Inline namespace for types / symbols shared between different
19// LiveDebugValues implementations.
20inline namespace SharedLiveDebugValues {
21
22// Expose a base class for LiveDebugValues interfaces to inherit from. This
23// allows the generic LiveDebugValues pass handles to call into the
24// implementation.
25class LDVImpl {
26public:
28 TargetPassConfig *TPC, unsigned InputBBLimit,
29 unsigned InputDbgValLimit) = 0;
30 virtual ~LDVImpl() = default;
31};
32
33} // namespace SharedLiveDebugValues
34
35// Factory functions for LiveDebugValues implementations.
38
39extern bool debuginfoShouldUseDebugInstrRef(const Triple &T);
40
41} // namespace llvm
42
43#endif // LLVM_LIB_CODEGEN_LIVEDEBUGVALUES_LIVEDEBUGVALUES_H
static cl::opt< unsigned > InputBBLimit("livedebugvalues-input-bb-limit", cl::desc("Maximum input basic blocks before DBG_VALUE limit applies"), cl::init(10000), cl::Hidden)
DominatorTree Class - Concrete subclass of DominatorTreeBase that is used to compute a normal dominat...
virtual bool ExtendRanges(MachineFunction &MF, MachineDominatorTree *DomTree, TargetPassConfig *TPC, unsigned InputBBLimit, unsigned InputDbgValLimit)=0
Target-Independent Code Generator Pass Configuration Options.
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
LDVImpl * makeInstrRefBasedLiveDebugValues()
LDVImpl * makeVarLocBasedLiveDebugValues()
bool debuginfoShouldUseDebugInstrRef(const Triple &T)