[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