Skip to content

Dump flags lack test coverage

Many ddump-* flags have no test coverage.

Examples (not an exhaustive list):

  • ddump-cmm-raw
  • ddump-cmm-cfg
  • ddump-cmm-cbe
  • ddump-cmm-switch
  • ddump-cmm-proc
  • ddump-cmm-sp
  • ddump-cmm-sink
  • ddump-cmm-caf
  • ddump-cmm-procmap
  • ddump-cmm-split
  • ddump-cmm-info
  • ddump-cmm-opt
  • ddump-cfg-weights
  • ddump-asm-native
  • ddump-asm-liveness
  • ddump-asm-regalloc
  • ddump-asm-conflicts
  • ddump-asm-regalloc-stages
  • ddump-asm-stats
  • ddump-c-backend
  • ddump-faststrings
  • ddump-foreign
  • ddump-call-arity
  • ddump-view-pattern-commoning
  • ddump-stg-unarised
  • ddump-stg-tags
  • falignment-sanitisation
  • fllvm-fill-undef-with-garbage
  • fproc-alignment

There are a few which have tests (ddump-cmm, ddump-core-stats, ddump-asm etc.), but I claim every flag that we list in the manual should have some coverage.

Motivation: I'm attempting to decouple code output from pretty-printing as described in #21853 (closed). This involves changing the way we pretty-print CLabels. At the moment, dumping uses a different style than code output: PprDump vs PprCode, and always prints labels using CStyle, which seems haphazard. I will be assuming that for those functions, the style doesn't matter in the end, but it feels awkward.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information