[cfe-commits] PATCH: Add statistics to the analysis based warnings and fix PR10183
Chandler Carruth
chandlerc at google.com
Wed Jul 6 05:44:09 PDT 2011
Hello,
Here are cleaned up and hopefully close to (or completely) ready for commit
patches to address PR10183.
The first patch is the big one, and it wires up stats for the analysis parts
of the compile. It's pretty minimal for now, and just covers the stuff that
was obvious and that I needed to dig into the problem with -Wuninitialized
in this PR. The second patch is then the actual fix to the PR. The fix is
essentially just swapping a stack for a queue to move from depth-first to
breadth-first. I've tried to make the enqueue relatively efficient, but its
not as efficient as the stack. We could tune this by using a proper queue
datastructure, but it already is a huge win.
Comments welcome. I've attached the patch files and uploaded the patches to
the codereview app:
http://codereview.appspot.com/4631089/
http://codereview.appspot.com/4673046/
I'm still running some more numbers, but the results look fairly good for
other inputs as well. I'm benchmarking compile times for gcc.c and for a
selection of inputs from Clang and LLVM's codebase.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110706/e4d7b250/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Build-up-statistics-about-the-work-done-for-analysis.patch
Type: application/octet-stream
Size: 15176 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110706/e4d7b250/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Make-the-worklist-in-the-uninitialized-values-checke.patch
Type: application/octet-stream
Size: 3231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110706/e4d7b250/attachment-0001.obj>
More information about the cfe-commits
mailing list