File tree Expand file tree Collapse file tree 4 files changed +31
-0
lines changed Expand file tree Collapse file tree 4 files changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -536,6 +536,10 @@ endif()
536
536
537
537
option (LLVM_ENABLE_CRASH_DUMPS "Turn on memory dumps on crashes. Currently only implemented on Windows." OFF )
538
538
539
+ set (LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING "DISABLED" CACHE STRING
540
+ "Enhance debugify's line number coverage tracking; enabling this is abi-breaking. Can be DISABLED, COVERAGE, or COVERAGE_AND_ORIGIN." )
541
+ set_property (CACHE LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING PROPERTY STRINGS DISABLED COVERAGE COVERAGE_AND_ORIGIN )
542
+
539
543
set (WINDOWS_PREFER_FORWARD_SLASH_DEFAULT OFF )
540
544
if (MINGW )
541
545
# Cygwin doesn't identify itself as Windows, and thus gets path::Style::posix
Original file line number Diff line number Diff line change @@ -196,6 +196,18 @@ else()
196
196
message (FATAL_ERROR "Unknown value for LLVM_ABI_BREAKING_CHECKS: \" ${LLVM_ABI_BREAKING_CHECKS} \" !" )
197
197
endif ()
198
198
199
+ string (TOUPPER "${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} " uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING )
200
+
201
+ if ( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE" )
202
+ set ( ENABLE_DEBUGLOC_COVERAGE_TRACKING 1 )
203
+ elseif ( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "COVERAGE_AND_ORIGIN" )
204
+ message (FATAL_ERROR "\" COVERAGE_AND_ORIGIN\" setting for LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING currently unimplemented." )
205
+ elseif ( uppercase_LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING STREQUAL "DISABLED" OR NOT DEFINED LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING )
206
+ # The DISABLED setting is default and requires no additional defines.
207
+ else ()
208
+ message (FATAL_ERROR "Unknown value for LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING: \" ${LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING} \" !" )
209
+ endif ()
210
+
199
211
if ( LLVM_REVERSE_ITERATION )
200
212
set ( LLVM_ENABLE_REVERSE_ITERATION 1 )
201
213
endif ()
Original file line number Diff line number Diff line change @@ -480,6 +480,17 @@ enabled sub-projects. Nearly all of these variable names begin with
480
480
**LLVM_ENABLE_BINDINGS **:BOOL
481
481
If disabled, do not try to build the OCaml bindings.
482
482
483
+ **LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING **:STRING
484
+ Enhances Debugify's ability to detect line number errors by storing extra
485
+ information inside Instructions, removing false positives from Debugify's
486
+ results at the cost of performance. Allowed values are `DISABLED ` (default),
487
+ `COVERAGE `, and `COVERAGE_AND_ORIGIN `. `COVERAGE ` tracks whether and why a
488
+ line number was intentionally dropped or not generated for an instruction,
489
+ allowing Debugify to avoid reporting these as errors. `COVERAGE_AND_ORIGIN `
490
+ additionally stores a stacktrace of the point where each DebugLoc is
491
+ unintentionally dropped, allowing for much easier bug triaging at the cost of
492
+ a ~10x performance slowdown.
493
+
483
494
**LLVM_ENABLE_DIA_SDK **:BOOL
484
495
Enable building with MSVC DIA SDK for PDB debugging support. Available
485
496
only with MSVC. Defaults to ON.
Original file line number Diff line number Diff line change 19
19
/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */
20
20
#cmakedefine01 LLVM_ENABLE_CRASH_DUMPS
21
21
22
+ /* Define to 1 to enable expensive checks for debug location coverage checking,
23
+ and to 0 otherwise. */
24
+ #cmakedefine01 ENABLE_DEBUGLOC_COVERAGE_TRACKING
25
+
22
26
/* Define to 1 to prefer forward slashes on Windows, and to 0 prefer
23
27
backslashes. */
24
28
#cmakedefine01 LLVM_WINDOWS_PREFER_FORWARD_SLASH
You can’t perform that action at this time.
0 commit comments