LLVM 19.0.0git
Enumerations
llvm::codegenoptions Namespace Reference

Enumerations

enum  DebugInfoFormat { DIF_DWARF , DIF_CodeView }
 
enum  DebugInfoKind {
  NoDebugInfo , LocTrackingOnly , DebugDirectivesOnly , DebugLineTablesOnly ,
  DebugInfoConstructor , LimitedDebugInfo , FullDebugInfo , UnusedTypeInfo
}
 
enum class  DebugTemplateNamesKind { Full , Simple , Mangled }
 

Enumeration Type Documentation

◆ DebugInfoFormat

Enumerator
DIF_DWARF 
DIF_CodeView 

Definition at line 15 of file Options.h.

◆ DebugInfoKind

Enumerator
NoDebugInfo 

Don't generate debug info.

LocTrackingOnly 

Emit location information but do not generate debug info in the output.

This is useful in cases where the backend wants to track source locations for instructions without actually emitting debug info for them (e.g., when -Rpass is used).

DebugDirectivesOnly 

Emit only debug directives with the line numbers data.

DebugLineTablesOnly 

Emit only debug info necessary for generating line number tables (-gline-tables-only).

DebugInfoConstructor 

Limit generated debug info for classes to reduce size.

This emits class type info only where the constructor is emitted, if it is a class that has a constructor. FIXME: Consider combining this with LimitedDebugInfo.

LimitedDebugInfo 

Limit generated debug info to reduce size (-fno-standalone-debug).

This emits forward decls for types that could be replaced with forward decls in the source code. For dynamic C++ classes type info is only emitted into the module that contains the classe's vtable.

FullDebugInfo 

Generate complete debug info.

UnusedTypeInfo 

Generate debug info for types that may be unused in the source (-fno-eliminate-unused-debug-types).

Definition at line 20 of file Options.h.

◆ DebugTemplateNamesKind

Enumerator
Full 
Simple 
Mangled 

Definition at line 57 of file Options.h.