================ @@ -22,6 +23,67 @@ namespace llvm { class LLVMContext; class raw_ostream; class DILocation; + class Function; + +#if ENABLE_DEBUGLOC_COVERAGE_TRACKING + // Used to represent different "kinds" of DebugLoc, expressing that a DebugLoc + // is either ordinary, containing a valid DILocation, or otherwise describing + // the reason why the DebugLoc does not contain a valid DILocation. + enum class DebugLocKind : uint8_t { + // DebugLoc is expected to contain a valid DILocation. + Normal, + // DebugLoc intentionally does not have a valid DILocation; may be for a + // compiler-generated instruction, or an explicitly dropped location. + LineZero, ---------------- SLTozer wrote:
Yeah, I didn't have a good name thought up for this - IntentionallyZero might be good, though even the word "Intentional" I'm not 100% on. Long run, the goal is to split this category into different subcategories as you suggested, but only at the point where there is some meaning to separating them - until then I felt it would be premature to try to assign categories, since it's not fully clear what they would be. https://github.com/llvm/llvm-project/pull/107279 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits