Skip to content
  • David Blaikie's avatar
    Remove support for versioned debug info. · dc69ebb1
    David Blaikie authored
    Versioned debug info support has been a burden to maintain & also compromised
    current debug info verification by causing test cases testing old debug info to
    remain rather than being updated to the latest. It also makes it hard to add or
    change the metadata schema by requiring various backwards-compatibility in the
    DI* hierarchy.
    
    So it's being removed in preparation for new changes to the schema to tidy up
    old/unnecessary fields and add new fields needed for new debug info (well, new
    to LLVM at least).
    
    The more surprising part of this is the changes to DI*::Verify - this became
    necessary due to the changes to AsmWriter. AsmWriter was relying on the version
    test to decide which bits of metadata were actually debug info when printing
    the comment annotations. Without the version information the tag numbers were
    too common & it would print debug info on random metadata that happened to
    start with an integer that matched a tag number. Instead this change makes the
    Verify functions more precise (just adding "number of operands" checks - not
    type checking those operands yet) & relies on that to decide which metadata is
    debug info metadata.
    
    llvm-svn: 176838
    dc69ebb1
Loading