llvm/lib
Duncan P. N. Exon Smith 9b18dbfe83 Optimize metadata node fields for CHECK-ability
While gaining practical experience hand-updating CHECK lines (for moving
the new debug info hierarchy into place),  I learnt a few things about
CHECK-ability of the specialized node assembly output.

  - The first part of a `CHECK:` is to identify the "right" node (this
    is especially true if you intend to use the new `CHECK-SAME`
    feature, since the first CHECK needs to identify the node correctly
    before you can split the line).
      - If there's a `tag:`, it should go first.
      - If there's a `name:`, it should go next (followed by the
        `linkageName:`, if any).
      - If there's a `scope:`, it should follow after that.
  - When a node type supports multiple DW_TAGs, but one is implied by
    its name and is overwhelmingly more common, the `tag:` field is
    terribly uninteresting unless it's different.
      - `MDBasicType` is almost always `DW_TAG_base_type`.
      - `MDTemplateValueParameter` is almost always
        `DW_TAG_template_value_parameter`.
  - Printing `name: ""` doesn't improve CHECK-ability, and there are far
    more nodes than I realized that are commonly nameless.
  - There are a few other fields that similarly aren't very interesting
    when they're empty.

This commit updates the `AsmWriter` as suggested above (and makes
necessary changes in `LLParser` for round-tripping).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230877 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-28 23:21:38 +00:00
..
Analysis Reduce double set lookups. 2015-02-27 21:43:14 +00:00
AsmParser Optimize metadata node fields for CHECK-ability 2015-02-28 23:21:38 +00:00
Bitcode Silence three more variable set but not used warnings, NFC. 2015-02-28 15:29:17 +00:00
CodeGen DwarfAccelTable: We know how many hashes we have in the output, just reserve the precise number 2015-02-28 20:15:00 +00:00
DebugInfo [llvm-pdbdump] Better error handling. 2015-02-28 20:23:18 +00:00
ExecutionEngine Revert "Raising minimum required CMake version to 2.8.12.2." 2015-02-24 16:39:46 +00:00
Fuzzer [fuzzer] one more experimental search mode: -use_coverage_pairs=1 2015-02-20 03:02:37 +00:00
IR Optimize metadata node fields for CHECK-ability 2015-02-28 23:21:38 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker [LTO API] add lto_codegen_set_module to set the destination module. 2015-02-24 00:45:56 +00:00
LTO [LTO API] fix memory leakage introduced at r230290. 2015-02-25 21:20:53 +00:00
MC Centralize handling of the eh_begin and eh_end labels. 2015-02-27 18:18:39 +00:00
Object Object: Handle Mach-O kext bundle files 2015-02-25 22:59:20 +00:00
Option Prefer SmallVector::append/insert over push_back loops. 2015-02-17 15:29:18 +00:00
ProfileData InstrProf: Simplify the construction of BinaryCoverageReader 2015-02-26 20:06:28 +00:00
Support [raw_ostream] When printing color on Windows, use correct bg color. 2015-02-28 19:08:27 +00:00
TableGen MSVC 2013 does not ICE on this code in the same fashion that MSVC 2012 did; NFC. 2015-02-16 19:33:36 +00:00
Target [X86] Remove the blendpd/blendps/pblendw/pblendd intrinsics. They can represented by shuffle_vector instructions. 2015-02-28 19:33:17 +00:00
Transforms TRE: Just erase dead BBs and tweak the iteration loop not to increment the deleted BB iterator. 2015-02-28 16:47:27 +00:00
CMakeLists.txt Reverting r227452, which adds back the fuzzer library. Now excluding the fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. 2015-01-29 16:58:29 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile Move DebugInfo to DebugInfo/DWARF. 2015-01-30 18:07:45 +00:00