<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/CodeGen, branch release_31</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/CodeGen?h=release_31</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/CodeGen?h=release_31'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-05-08T07:58:10Z</updated>
<entry>
<title>New Revision: 155749</title>
<updated>2012-05-08T07:58:10Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-05-08T07:58:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=46bbc7c92be586e263a8cd8ae78f9d8d5b3178e4'/>
<id>urn:sha1:46bbc7c92be586e263a8cd8ae78f9d8d5b3178e4</id>
<content type='text'>
URL: http://llvm.org/viewvc/llvm-project?rev=155749&amp;view=rev
Log:
Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice.

This time, also fix the caller of AddGlue to properly handle
incomplete chains. AddGlue had failure modes, but shamefully hid them
from its caller. It's luck ran out.

Fixes rdar://11314175: BuildSchedUnits assert.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156376 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r155954:</title>
<updated>2012-05-01T22:51:49Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-05-01T22:51:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e77bf55ebeab4abb6fa2504506e42dc8db97f232'/>
<id>urn:sha1:e77bf55ebeab4abb6fa2504506e42dc8db97f232</id>
<content type='text'>
------------------------------------------------------------------------
r155954 | void | 2012-05-01 15:50:45 -0700 (Tue, 01 May 2012) | 3 lines

Strip the pointer casts off of allocas so that the selection DAG can find them.
PR10799

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155955 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r155902:</title>
<updated>2012-05-01T08:28:53Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-05-01T08:28:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=1fb5af610fbbf5740d8176d2d9b57fb4f95321e3'/>
<id>urn:sha1:1fb5af610fbbf5740d8176d2d9b57fb4f95321e3</id>
<content type='text'>
------------------------------------------------------------------------
r155902 | void | 2012-05-01 01:27:43 -0700 (Tue, 01 May 2012) | 7 lines

Change the PassManager from a reference to a pointer.

The TargetPassManager's default constructor wants to initialize the PassManager
to 'null'. But it's illegal to bind a null reference to a null l-value. Make the
ivar a pointer instead.
PR12468

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155903 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Merging r155668:</title>
<updated>2012-04-26T23:04:56Z</updated>
<author>
<name>Bill Wendling</name>
<email>isanbard@gmail.com</email>
</author>
<published>2012-04-26T23:04:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8d1440d0217ab3b09a407c42f7559ad641c7077f'/>
<id>urn:sha1:8d1440d0217ab3b09a407c42f7559ad641c7077f</id>
<content type='text'>
------------------------------------------------------------------------
r155668 | atrick | 2012-04-26 14:48:25 -0700 (Thu, 26 Apr 2012) | 8 lines

Fix the SD scheduler to avoid gluing the same node twice.

DAGCombine strangeness may result in multiple loads from the same
offset. They both may try to glue themselves to another load. We could
insist that the redundant loads glue themselves to each other, but the
beter fix is to bail out from bad gluing at the time we detect it.

Fixes rdar://11314175: BuildSchedUnits assert.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155672 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>This reverts a long string of commits to the Hexagon backend. These</title>
<updated>2012-04-18T21:31:19Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-04-18T21:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=37097623bbde5420f81ab8d1d056700f8f258025'/>
<id>urn:sha1:37097623bbde5420f81ab8d1d056700f8f258025</id>
<content type='text'>
commits have had several major issues pointed out in review, and those
issues are not being addressed in a timely fashion. Furthermore, this
was all committed leading up to the v3.1 branch, and we don't need piles
of code with outstanding issues in the branch.

It is possible that not all of these commits were necessary to revert to
get us back to a green state, but I'm going to let the Hexagon
maintainer sort that out. They can recommit, in order, after addressing
the feedback.

Reverted commits, with some notes:

Primary commit r154616: HexagonPacketizer
  - There are lots of review comments here. This is the primary reason
    for reverting. In particular, it introduced large amount of warnings
    due to a bad construct in tablegen.
  - Follow-up commits that should be folded back into this when
    reposting:
    - r154622: CMake fixes
    - r154660: Fix numerous build warnings in release builds.
  - Please don't resubmit this until the three commits above are
    included, and the issues in review addressed.

Primary commit r154695: Pass to replace transfer/copy ...
  - Reverted to minimize merge conflicts. I'm not aware of specific
    issues with this patch.

Primary commit r154703: New Value Jump.
  - Primarily reverted due to merge conflicts.
  - Follow-up commits that should be folded back into this when
    reposting:
    - r154703: Remove iostream usage
    - r154758: Fix CMake builds
    - r154759: Fix build warnings in release builds
  - Please incorporate these fixes and and review feedback before
    resubmitting.

Primary commit r154829: Hexagon V5 (floating point) support.
  - Primarily reverted due to merge conflicts.
  - Follow-up commits that should be folded back into this when
    reposting:
    - r154841: Remove unused variable (fixing build warnings)

There are also accompanying Clang commits that will be reverted for
consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155047 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>LiveIntervalUpdate validators weren't recorded after the calls to std::for_each.  Turns out std::for_each doesn't update the variable passed in for the functor but instead copy constructs a new one.</title>
<updated>2012-04-18T20:29:17Z</updated>
<author>
<name>Pete Cooper</name>
<email>peter_cooper@apple.com</email>
</author>
<published>2012-04-18T20:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=722b6f18536a1b23a03bfb55440f098da0a7762d'/>
<id>urn:sha1:722b6f18536a1b23a03bfb55440f098da0a7762d</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155041 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fixes a problem in instruction selection with testing whether or not the </title>
<updated>2012-04-17T22:23:10Z</updated>
<author>
<name>Joel Jones</name>
<email>joel_k_jones@apple.com</email>
</author>
<published>2012-04-17T22:23:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d16ce17711e8e6231363fe1fd47800570b75d61d'/>
<id>urn:sha1:d16ce17711e8e6231363fe1fd47800570b75d61d</id>
<content type='text'>
transformation:

(X op C1) ^ C2 --&gt; (X op C1) &amp; ~C2 iff (C1&amp;C2) == C2

should be done.  

This change has been tested:
 Using a debug+asserts build:
   on the specific test case that brought this bug to light
   make check-all
   lnt nt
   using this clang to build a release version of clang
 Using the release+asserts clang-with-clang build:
   on the specific test case that brought this bug to light
   make check-all
   lnt nt

Checking in because Evan wants it checked in.  Test case forthcoming after
scrubbing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154955 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>SlotIndexes used to store the index list in a crufty custom linked-list. I can't</title>
<updated>2012-04-17T04:15:51Z</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2012-04-17T04:15:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=613dfb219c167717576b2383ee57573f4d8f53cf'/>
<id>urn:sha1:613dfb219c167717576b2383ee57573f4d8f53cf</id>
<content type='text'>
for the life of me remember why I wrote it this way, but I can't see any good
reason for it now. This patch replaces the custom linked list with an ilist.

This change should preserve the existing numberings exactly, so no generated code
should change (if it does, file a bug!).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154904 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Make comment here more clear.</title>
<updated>2012-04-16T23:54:23Z</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@apple.com</email>
</author>
<published>2012-04-16T23:54:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=e9722e1e8ba43bff2dc8ee3ae948e31f3fb0e370'/>
<id>urn:sha1:e9722e1e8ba43bff2dc8ee3ae948e31f3fb0e370</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154878 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix updateTerminator to be resiliant to degenerate terminators where</title>
<updated>2012-04-16T22:03:00Z</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2012-04-16T22:03:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=f1a60c734c2edb97ab75e67328935538fae5bae6'/>
<id>urn:sha1:f1a60c734c2edb97ab75e67328935538fae5bae6</id>
<content type='text'>
both fallthrough and a conditional branch target the same successor.
Gracefully delete the conditional branch and introduce any unconditional
branch needed to reach the actual successor. This fixes memory
corruption in 2009-06-15-RegScavengerAssert.ll and possibly other tests.

Also, while I'm here fix a latent bug I spotted by inspection. I never
applied the same fundamental fix to this fallthrough successor finding
logic that I did to the logic used when there are no conditional
branches. As a consequence it would have selected landing pads had they
be aligned in just the right way here. I don't have a test case as
I spotted this by inspection, and the previous time I found this
required have of TableGen's source code to produce it. =/ I hate backend
bugs. ;]

Thanks to Jim Grosbach for helping me reason through this and reviewing
the fix.

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