[cfe-dev] Adding more analysis algorithms to Clang?
longguoping at gmail.com
Fri Oct 21 22:39:24 PDT 2011
After I update from the svn, the source tree can not be compiled (so I
can not test the new code using PostOrderCFGView). I only updated Clang. Do
I still need to update llvm? Here is the error message:
error: too many arguments to function call, expected 9, have 10
'createAsmStreamer' declared here
MCStreamer *createAsmStreamer(MCContext &Ctx,
1 error generated.
2011/10/21 Ted Kremenek <kremenek at apple.com>
> Hi Guoping,
> I've added PostOrderCFGView. Can you regenerate your patch using this
> On Oct 21, 2011, at 10:25 AM, Guoping Long wrote:
> Hi, Ted
> TopologicallySortedCFG implements a post ordering of all CFG nodes. Maybe
> renaming it into POSortedCFG is better. Similarly, some algorithms may need
> something like pre-ordered CFG. I believe more analysis algorithms may need
> either of these. It may be nice to have such a class as an basic
> functionality in the infrastructure. Analysis algorithms will just *use*
> this basic functionality, rather than implement/copy-paste such classes in a
> somewhat ad-hoc way.
> 2011/10/21 Ted Kremenek <kremenek at apple.com>
>> Hi Guoping,
>> This looks great to me. My main concern is that we are
>> copy-pasting TopologicallySortedCFG and CFGBlockSet yet again. This is a
>> very bad trend. Before this patch goes in, I'd like to see that common code
>> refactored. I'll look into fixing that today.
>> On Oct 20, 2011, at 11:57 AM, Guoping Long wrote:
>> Thanks Anna. Thanks for all who help point issues in my code!
>> The FileCheck logic has been added. Now I believe the code is at least
>> in a reasonable shape. Attached is the revised patch. Please let me know if
>> there are additional issues. I shall fix them.
>> 2011/10/18 Anna Zaks <ganna at apple.com>
>>> Hi Guoping,
>>> To automate testing, you should check the expected output of the
>>> dominators analysis checker with FileCheck. Inside the test, you specify the
>>> command which should be applied on it as well as the expected output. It
>>> will get tested when you run the following from the clang build directory
>>> (see the Testing section on http://clang.llvm.org/hacking.html):
>>> $ make test
>>> or if you only want to test the tests from the analysis folder:
>>> $ TESTDIRS=Analysis make test
>>> Your test is probably going to look similar to the following example,
>>> which tests CFG builder:
>>> You can find the documentation on FileCheck here:
>>> http://llvm.org/docs/TestingGuide.html The document might be a bit
>>> outdated but it does a good job explaining the concepts.
>>> On Oct 18, 2011, at 9:08 AM, Guoping Long wrote:
>>> Hi, clang
>>> Thanks Joerg and Arash. Attached is the new patch with everything
>>> contained. Please let me know if there are any further issues. I shall
>>> continue working to improve it.
>>> 2011/10/18 Joerg Sonnenberger <joerg at britannica.bec.de>
>>>> On Mon, Oct 17, 2011 at 10:59:27PM -0700, Guoping Long wrote:
>>>> > 1 The patch file is generated by running svn diff under the
>>>> > directory. I do not know why this patch only contains information for
>>>> > existing file modifications, not including new added files
>>>> > (should be in clang/lib/Analysis/), dominators.h (should be in
>>>> > clang/include/clang/Analysis/Analyses/), domtest.c (should be in
>>>> > clang/test/Analysis)). So I included the patch in together with the
>>>> > new files as attached.
>>>> Did you run "svn add" on them first?
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev