<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp-clang/lib/StaticAnalyzer/Frontend, branch master</title>
<subtitle>emscripten clang</subtitle>
<id>https://git.amat.us/emscripten-fastcomp-clang/atom/lib/StaticAnalyzer/Frontend?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp-clang/atom/lib/StaticAnalyzer/Frontend?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/'/>
<updated>2013-04-16T21:10:05Z</updated>
<entry>
<title>Factor CheckerManager to be able to pass AnalyzerOptions to checkers</title>
<updated>2013-04-16T21:10:05Z</updated>
<author>
<name>Ted Kremenek</name>
<email>kremenek@apple.com</email>
</author>
<published>2013-04-16T21:10:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=8dae128d16bf98759b7a678ce3eebb613bd17109'/>
<id>urn:sha1:8dae128d16bf98759b7a678ce3eebb613bd17109</id>
<content type='text'>
during checker registration.  There are no immediate clients of this,
but this provides a way for checkers to query the options table
at startup instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179626 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Change inlining policy to inline small functions when reanalyzing ObjC methods as top level.</title>
<updated>2013-03-26T18:57:58Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-03-26T18:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=8a660eb1084294a903f6dcc00bf2fa4e3bc92cfc'/>
<id>urn:sha1:8a660eb1084294a903f6dcc00bf2fa4e3bc92cfc</id>
<content type='text'>
This allows us to better reason about(inline) small wrapper functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178063 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Fix typo.</title>
<updated>2013-02-07T23:29:20Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-02-07T23:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=1c32b81765ed63ae9e3e00e5acef7a4379bba228'/>
<id>urn:sha1:1c32b81765ed63ae9e3e00e5acef7a4379bba228</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174679 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Print Inline mode with -analyzer-display-progress.</title>
<updated>2013-02-02T00:30:02Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-02-02T00:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=a5245a51593aa45c2a5ef38a10861697d29c7789'/>
<id>urn:sha1:a5245a51593aa45c2a5ef38a10861697d29c7789</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174244 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Make shallow mode more shallow.</title>
<updated>2013-01-30T19:12:39Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-01-30T19:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=ac3a3e7a402cd349dd2b7d70cd92c5fe702ae831'/>
<id>urn:sha1:ac3a3e7a402cd349dd2b7d70cd92c5fe702ae831</id>
<content type='text'>
Redefine the shallow mode to inline all functions for which we have a
definite definition (ipa=inlining). However, only inline functions that
are up to 4 basic blocks large and cut the max exploded nodes generated
per top level function in half.

This makes shallow faster and allows us to keep inlining small
functions. For example, we would keep inlining wrapper functions and
constructors/destructors.

With the new shallow, it takes 104s to analyze sqlite3, whereas
the deep mode is 658s and previous shallow is 209s.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173958 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Re-sort #include lines using the llvm/utils/sort_includes.py script.</title>
<updated>2013-01-02T10:28:36Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-02T10:28:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=b99083e60325a28063fb588f458a871151971fdc'/>
<id>urn:sha1:b99083e60325a28063fb588f458a871151971fdc</id>
<content type='text'>
Removes a duplicate #include as well as cleaning up some sort order
regressions since I last ran the script over Clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171364 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Re-apply r170826 and make the dumping of the GallGraph</title>
<updated>2012-12-21T17:27:01Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2012-12-21T17:27:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=bd80231672a7418aa1a99d3dbbe1774205c88f74'/>
<id>urn:sha1:bd80231672a7418aa1a99d3dbbe1774205c88f74</id>
<content type='text'>
deterministic.

Commit message for r170826:

[analyzer] Traverse the Call Graph in topological order.

Modify the call graph by removing the parentless nodes. Instead all
nodes are children of root to ensure they are all reachable. Remove the
tracking of nodes that are "top level" or global. This information is
not used and can be obtained from the Decls stored inside
CallGraphNodes.

Instead of existing ordering hacks, analyze the functions in topological
order over the Call Graph.

Together with the addition of devirtualizable ObjC message sends and
blocks to the call graph, this gives around 6% performance improvement
on several large ObjC benchmarks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170906 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Revert r170826. The output of</title>
<updated>2012-12-21T01:30:23Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2012-12-21T01:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=6d42f4d8b8a176336a8c49ec3cf5f7fb6545ccfd'/>
<id>urn:sha1:6d42f4d8b8a176336a8c49ec3cf5f7fb6545ccfd</id>
<content type='text'>
./bin/clang -cc1 -internal-isystem /home/espindola/llvm/build/lib/clang/3.3/include/ -analyze -analyzer-checker=debug.DumpCallGraph /home/espindola/llvm/clang/test/Analysis/debug-CallGraph.c -fblocks

changes in each run.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170829 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Traverse the Call Graph in topological order.</title>
<updated>2012-12-21T01:19:22Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2012-12-21T01:19:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=e34e1939ad67576293b2b205b2169488cc6b3b14'/>
<id>urn:sha1:e34e1939ad67576293b2b205b2169488cc6b3b14</id>
<content type='text'>
Modify the call graph by removing the parentless nodes. Instead all
nodes are children of root to ensure they are all reachable. Remove the
tracking of nodes that are "top level" or global. This information is
not used and can be obtained from the Decls stored inside
CallGraphNodes.

Instead of existing ordering hacks, analyze the functions in topological
order over the Call Graph.

Together with the addition of devirtualizable ObjC message sends and
blocks to the call graph, this gives around 6% performance improvement
on several large ObjC benchmarks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170826 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Add blocks and ObjC messages to the call graph.</title>
<updated>2012-12-21T01:19:15Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2012-12-21T01:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=4f858dfd42c89b67200dac0afc228a0baa323691'/>
<id>urn:sha1:4f858dfd42c89b67200dac0afc228a0baa323691</id>
<content type='text'>
This paves the road for constructing a better function dependency graph.
If we analyze a function before the functions it calls and inlines,
there is more opportunity for optimization.

Note, we add call edges to the called methods that correspond to
function definitions (declarations with bodies).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170825 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
