[PATCH] D49297: expose debugify as an LLVM option in clang

Greg Bedwell via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 09:53:19 PDT 2018


gbedwell added a comment.

Thanks for working on this!  I've not reviewed the code, but I did try applying the patch and making use of it, and it seems to work perfectly so far for my use-case of being able to automatically enable automatic debugify checking over large codebases in build systems that I don't necessarily have control of :)

I built a medium sized PS4 codebase with "clang -O3 -mllvm -debugify-each" and piped stderr into a file, where I was able to generate the following stats.  Obviously there will be some level of duplication due to linkonce functions, but looking through the data, it seems that the vast majority of error lines are unique so I don't think that's a big factor skewing the results.

  $ cat err2.txt | grep FAIL | sort | uniq -c | sort
        2 CheckFunctionDebugify [MemCpy Optimization]: FAIL
        8 CheckFunctionDebugify [Tail Call Elimination]: FAIL
       17 CheckFunctionDebugify [Value Propagation]: FAIL
       23 CheckModuleDebugify [Global Variable Optimizer]: FAIL
       53 CheckFunctionDebugify [Dead Store Elimination]: FAIL
       76 CheckFunctionDebugify [Call-site splitting]: FAIL
      100 CheckFunctionDebugify [MergedLoadStoreMotion]: FAIL
      126 CheckFunctionDebugify [Constant Hoisting]: FAIL
      130 CheckFunctionDebugify [Loop Vectorization]: FAIL
      142 CheckFunctionDebugify [Reassociate expressions]: FAIL
      185 CheckModuleDebugify [Dead Argument Elimination]: FAIL
      385 CheckFunctionDebugify [SROA]: FAIL
      445 CheckFunctionDebugify [Merge disjoint stack slots]: FAIL
      555 CheckFunctionDebugify [Simplify the CFG]: FAIL
      584 CheckFunctionDebugify [Global Value Numbering]: FAIL
      727 CheckFunctionDebugify [CodeGen Prepare]: FAIL
      845 CheckFunctionDebugify [Jump Threading]: FAIL
     1761 CheckFunctionDebugify [Canonicalize natural loops]: FAIL
     2429 CheckFunctionDebugify [Combine redundant instructions]: FAIL
     8042 CheckFunctionDebugify [Loop-Closed SSA Form Pass]: FAIL

Based on this data, I'll attempt to produce a small test-case that demonstrates an LCSSA failure and raise a bug report.


Repository:
  rL LLVM

https://reviews.llvm.org/D49297





More information about the llvm-commits mailing list