<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Analysis, branch release_25</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Analysis?h=release_25</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Analysis?h=release_25'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2009-02-04T23:14:59Z</updated>
<entry>
<title>Back out r62958 from the release branch.</title>
<updated>2009-02-04T23:14:59Z</updated>
<author>
<name>Tanya Lattner</name>
<email>tonic@nondot.org</email>
</author>
<published>2009-02-04T23:14:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=402c6d7e7eb0c431cac2a5848b7ce0fac8721828'/>
<id>urn:sha1:402c6d7e7eb0c431cac2a5848b7ce0fac8721828</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_25@63791 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Move isIdentifiedObject and isNoAliasCall into AliasAnalysis.cpp since</title>
<updated>2009-02-03T01:28:32Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-02-03T01:28:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a5f81bba4ab18d6129774d4d67495f14b6f64375'/>
<id>urn:sha1:a5f81bba4ab18d6129774d4d67495f14b6f64375</id>
<content type='text'>
they are useful to analyses other than BasicAliasAnalysis.cpp. Include
the full comment for isIdentifiedObject in the header file. Thanks to
Chris for suggeseting this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63589 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title> Each input file is encoded as a separate compile unit in LLVM debugging</title>
<updated>2009-01-30T18:20:31Z</updated>
<author>
<name>Devang Patel</name>
<email>dpatel@apple.com</email>
</author>
<published>2009-01-30T18:20:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=dd9db6688283639a0c95f8ed67beb1bd54b5fff4'/>
<id>urn:sha1:dd9db6688283639a0c95f8ed67beb1bd54b5fff4</id>
<content type='text'>
information output. However, many target specific tool chains prefer to encode
only one compile unit in an object file. In this situation, the LLVM code
generator will include  debugging information entities in the compile unit 
that is marked as main compile unit. The code generator accepts maximum one main
compile unit per module. If a module does not contain any main compile unit 
then the code generator will emit multiple compile units in the output object 
file.

[Part 1]

Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit  to mark the unit as "main" unit. By defaults all units are considered  non-main.  Update SourceLevelDebugging.html to document "main" compile unit.

Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here.

Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit.

[Part 2]

Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs.

---

This is Part 1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63400 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix a post-RA scheduling dependency bug.</title>
<updated>2009-01-30T02:49:14Z</updated>
<author>
<name>Dan Gohman</name>
<email>gohman@apple.com</email>
</author>
<published>2009-01-30T02:49:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3311a1f8f0d8a2c6d940802bbb95eba0b801a615'/>
<id>urn:sha1:3311a1f8f0d8a2c6d940802bbb95eba0b801a615</id>
<content type='text'>
If a MachineInstr doesn't have a memoperand but has an opcode that
is known to load or store, assume its memory reference may alias
*anything*, including stack slots which the compiler completely
controls.

To partially compensate for this, teach the ScheduleDAG building
code to do basic getUnderlyingValue analysis. This greatly
reduces the number of instructions that require restrictive
dependencies. This code will need to be revisited when we start
doing real alias analysis, but it should suffice for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add dump() routines to help debug debug info :)</title>
<updated>2009-01-30T01:03:10Z</updated>
<author>
<name>Devang Patel</name>
<email>dpatel@apple.com</email>
</author>
<published>2009-01-30T01:03:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=bf3f5a08eed98e723e920a06a0cde9699593aa41'/>
<id>urn:sha1:bf3f5a08eed98e723e920a06a0cde9699593aa41</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63353 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix PR3415 (infinite loop in EscapeAnalysis) by</title>
<updated>2009-01-28T11:33:59Z</updated>
<author>
<name>Duncan Sands</name>
<email>baldrick@free.fr</email>
</author>
<published>2009-01-28T11:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e02f724880ddb7ffe296cda3ffb9822761a13ce7'/>
<id>urn:sha1:e02f724880ddb7ffe296cda3ffb9822761a13ce7</id>
<content type='text'>
deleting the escape analysis pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63197 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Start generating arbitrary precision integer SCEVs. This removes the temporary</title>
<updated>2009-01-25T08:16:27Z</updated>
<author>
<name>Nick Lewycky</name>
<email>nicholas@mxc.ca</email>
</author>
<published>2009-01-25T08:16:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=237d873439ed170e0d9608920d45d11d05bb5e5f'/>
<id>urn:sha1:237d873439ed170e0d9608920d45d11d05bb5e5f</id>
<content type='text'>
code that rounded up and capped the size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62958 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Introduce two DWARF attribute extentions DW_AT_APPLE_optimized, DW_AT_APPLE_flags.</title>
<updated>2009-01-23T22:33:47Z</updated>
<author>
<name>Devang Patel</name>
<email>dpatel@apple.com</email>
</author>
<published>2009-01-23T22:33:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3b64c6bc2916bc62a99ef8a2995a426d994e1a04'/>
<id>urn:sha1:3b64c6bc2916bc62a99ef8a2995a426d994e1a04</id>
<content type='text'>
DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way.

DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by  a project, irrespective of whether the project used makefile, Xcode or something else.

llvm-gcc patch is next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62888 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>fix two more cases where we could let the NLPDI cache get unsorted.</title>
<updated>2009-01-23T07:12:16Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-01-23T07:12:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=95900f2dda0d573b927a54910386130b779a48ff'/>
<id>urn:sha1:95900f2dda0d573b927a54910386130b779a48ff</id>
<content type='text'>
With this, sqlite3 now passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62839 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Unconditionally reset 'cache' to zero, even if we don't need to resort it.</title>
<updated>2009-01-23T06:48:41Z</updated>
<author>
<name>Chris Lattner</name>
<email>sabre@nondot.org</email>
</author>
<published>2009-01-23T06:48:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=4433a09b9fbe0de4483d3d49c0462e2b9a839851'/>
<id>urn:sha1:4433a09b9fbe0de4483d3d49c0462e2b9a839851</id>
<content type='text'>
This avoids using a dangling pointer.

Reset NumSortedEntries after restoring Cache to avoid extraneous sorts.
This fixes the reduced sqlite3 testcase, but apparently not the whole app.


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