<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Analysis/IPA, branch master</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Analysis/IPA?h=master</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Analysis/IPA?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2013-05-01T20:59:00Z</updated>
<entry>
<title>This patch breaks up Wrap.h so that it does not have to include all of </title>
<updated>2013-05-01T20:59:00Z</updated>
<author>
<name>Filip Pizlo</name>
<email>fpizlo@apple.com</email>
</author>
<published>2013-05-01T20:59:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=40be1e85665d10f5444186f0e7106e368dd735b8'/>
<id>urn:sha1:40be1e85665d10f5444186f0e7106e368dd735b8</id>
<content type='text'>
the things, and renames it to CBindingWrapping.h.  I also moved 
CBindingWrapping.h into Support/.

This new file just contains the macros for defining different wrap/unwrap 
methods.

The calls to those macros, as well as any custom wrap/unwrap definitions 
(like for array of Values for example), are put into corresponding C++ 
headers.

Doing this required some #include surgery, since some .cpp files relied 
on the fact that including Wrap.h implicitly caused the inclusion of a 
bunch of other things.

This also now means that the C++ headers will include their corresponding 
C API headers; for example Value.h must include llvm-c/Core.h.  I think 
this is harmless, since the C API headers contain just external function 
declarations and some C types, so I don't believe there should be any 
nasty dependency issues here.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180881 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move C++ code out of the C headers and into either C++ headers</title>
<updated>2013-04-22T22:47:22Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@gmail.com</email>
</author>
<published>2013-04-22T22:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3e39731e88f2d4f597cebc74388fd6650ca4f604'/>
<id>urn:sha1:3e39731e88f2d4f597cebc74388fd6650ca4f604</id>
<content type='text'>
or the C++ files themselves. This enables people to use
just a C compiler to interoperate with LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180063 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ArrayRef ca accept one element. Simplify code a little bit, also it matches now</title>
<updated>2013-03-07T20:01:19Z</updated>
<author>
<name>Jakub Staszak</name>
<email>kubastaszak@gmail.com</email>
</author>
<published>2013-03-07T20:01:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=b6aebf1cf31232d6b5d4f5060a2ee9fcdbfc6f03'/>
<id>urn:sha1:b6aebf1cf31232d6b5d4f5060a2ee9fcdbfc6f03</id>
<content type='text'>
coding in the other places of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176641 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Begin fleshing out an interface in TTI for modelling the costs of</title>
<updated>2013-01-22T11:26:02Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-22T11:26:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=13086a658ae06046ded902229f9918b8bad505bd'/>
<id>urn:sha1:13086a658ae06046ded902229f9918b8bad505bd</id>
<content type='text'>
generic function calls and intrinsics. This is somewhat overlapping with
an existing intrinsic cost method, but that one seems targetted at
vector intrinsics. I'll merge them or separate their names and use cases
in a separate commit.

This sinks the test of 'callIsSmall' down into TTI where targets can
control it. The whole thing feels very hack-ish to me though. I've left
a FIXME comment about the fundamental design problem this presents. It
isn't yet clear to me what the users of this function *really* care
about. I'll have to do more analysis to figure that out. Putting this
here at least provides it access to proper analysis pass tools and other
such. It also allows us to more cleanly implement the baseline cost
interfaces in TTI.

With this commit, it is now theoretically possible to simplify much of
the inline cost analysis's handling of calls by calling through to this
interface. That conversion will have to happen in subsequent commits as
it requires more extensive restructuring of the inline cost analysis.

The CodeMetrics class is now really only in the business of running over
a block of code and aggregating the metrics on that block of code, with
the actual cost evaluation done entirely in terms of TTI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173148 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Sink InlineCost.cpp into IPA -- it is now officially an interprocedural</title>
<updated>2013-01-21T12:09:41Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-21T12:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=184e3ff52c7c1b279439c4a4a80c1d46a5a7293d'/>
<id>urn:sha1:184e3ff52c7c1b279439c4a4a80c1d46a5a7293d</id>
<content type='text'>
analysis. How cute that it wasn't previously. ;]

Part of this confusion stems from the flattened header file tree. Thanks
to Benjamin for pointing out the goof on IRC, and we're considering
un-flattening the headers, so speak now if that would bug you.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173033 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Update CMakeLists for CallPrinter.cpp.</title>
<updated>2013-01-11T17:34:05Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-01-11T17:34:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=74c1be27a42c2f83e5be23062ea1e6f9ebf18d20'/>
<id>urn:sha1:74c1be27a42c2f83e5be23062ea1e6f9ebf18d20</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172222 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Added -view-callgraph module pass.</title>
<updated>2013-01-11T17:28:14Z</updated>
<author>
<name>Andrew Trick</name>
<email>atrick@apple.com</email>
</author>
<published>2013-01-11T17:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a125cacf7d154d0e5cad47f011e619e45517c839'/>
<id>urn:sha1:a125cacf7d154d0e5cad47f011e619e45517c839</id>
<content type='text'>
-dot-callgraph similarly follows a standard module pass pattern.

Patch by Speziale Ettore!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172220 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move CallGraphSCCPass.h into the Analysis tree; that's where the</title>
<updated>2013-01-07T15:26:48Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-07T15:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3251e81d793a293b78f4914be6093b405c24fc2a'/>
<id>urn:sha1:3251e81d793a293b78f4914be6093b405c24fc2a</id>
<content type='text'>
implementation lives already.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171746 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move all of the header files which are involved in modelling the LLVM IR</title>
<updated>2013-01-02T11:36:10Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2013-01-02T11:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=0b8c9a80f20772c3793201ab5b251d3520b9cea3'/>
<id>urn:sha1:0b8c9a80f20772c3793201ab5b251d3520b9cea3</id>
<content type='text'>
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Use the new script to sort the includes of every file under lib.</title>
<updated>2012-12-03T16:50:05Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-12-03T16:50:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d04a8d4b33ff316ca4cf961e06c9e312eff8e64f'/>
<id>urn:sha1:d04a8d4b33ff316ca4cf961e06c9e312eff8e64f</id>
<content type='text'>
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

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