<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/CodeGen/X86/statepoint-stack-usage.ll, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2018-02-27T16:59:10+00:00</updated>
<entry>
<title>Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"</title>
<updated>2018-02-27T16:59:10+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2018-02-27T16:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a2b901129099b93f20e8cdf41f520e31398c0c4d'/>
<id>urn:sha1:a2b901129099b93f20e8cdf41f520e31398c0c4d</id>
<content type='text'>
Re-enable commit r323991 now that r325931 has been committed to make
MachineOperand::isRenamable() check more conservative w.r.t. code
changes and opt-in on a per-target basis.

llvm-svn: 326208
</content>
</entry>
<entry>
<title>Revert "[MachineCopyPropagation] Extend pass to do COPY source forwarding"</title>
<updated>2018-02-17T03:05:33+00:00</updated>
<author>
<name>Quentin Colombet</name>
<email>qcolombet@apple.com</email>
</author>
<published>2018-02-17T03:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=48abac82b808315d387185bb2e44688add679073'/>
<id>urn:sha1:48abac82b808315d387185bb2e44688add679073</id>
<content type='text'>
This reverts commit r323991.

This commit breaks target that don't model all the register constraints
in TableGen. So far the workaround was to set the
hasExtraXXXRegAllocReq, but it proves that it doesn't cover all the
cases.
For instance, when mutating an instruction (like in the lowering of
COPYs) the isRenamable flag is not properly updated. The same problem
will happen when attaching machine operand from one instruction to
another.

Geoff Berry is working on a fix in https://reviews.llvm.org/D43042.

llvm-svn: 325421
</content>
</entry>
<entry>
<title>[MachineCopyPropagation] Extend pass to do COPY source forwarding</title>
<updated>2018-02-01T18:54:01+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2018-02-01T18:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=94503c7bc3d70f51ab03c03b2067db3e973efa19'/>
<id>urn:sha1:94503c7bc3d70f51ab03c03b2067db3e973efa19</id>
<content type='text'>
Summary:
This change extends MachineCopyPropagation to do COPY source forwarding
and adds an additional run of the pass to the default pass pipeline just
after register allocation.

This version of this patch uses the newly added
MachineOperand::isRenamable bit to avoid forwarding registers is such a
way as to violate constraints that aren't captured in the
Machine IR (e.g. ABI or ISA constraints).

This change is a continuation of the work started in D30751.

Reviewers: qcolombet, javed.absar, MatzeB, jonpa, tstellar

Subscribers: tpr, mgorny, mcrosier, nhaehnle, nemanjai, jyknight, hfinkel, arsenm, inouehrs, eraman, sdardis, guyblank, fedor.sergeev, aheejin, dschuff, jfb, myatsina, llvm-commits

Differential Revision: https://reviews.llvm.org/D41835

llvm-svn: 323991
</content>
</entry>
<entry>
<title>Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding""</title>
<updated>2017-10-03T16:59:13+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2017-10-03T16:59:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fabedbad116e0d830d152532cfa83b3bffd66d68'/>
<id>urn:sha1:fabedbad116e0d830d152532cfa83b3bffd66d68</id>
<content type='text'>
This reverts commit r314729.

Another bug has been encountered in an out-of-tree target reported by Quentin.

llvm-svn: 314814
</content>
</entry>
<entry>
<title>Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"</title>
<updated>2017-10-02T22:01:37+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2017-10-02T22:01:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bfc5fb457156f7b61aea46742083a1d1ba0111bd'/>
<id>urn:sha1:bfc5fb457156f7b61aea46742083a1d1ba0111bd</id>
<content type='text'>
Issues addressed since original review:
- Avoid bug in regalloc greedy/machine verifier when forwarding to use
  in an instruction that re-defines the same virtual register.
- Fixed bug when forwarding to use in EarlyClobber instruction slot.
- Fixed incorrect forwarding to register definitions that showed up in
  explicit_uses() iterator (e.g. in INLINEASM).
- Moved removal of dead instructions found by
  LiveIntervals::shrinkToUses() outside of loop iterating over
  instructions to avoid instructions being deleted while pointed to by
  iterator.
- Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907.
- The pass no longer forwards COPYs to physical register uses, since
  doing so can break code that implicitly relies on the physical
  register number of the use.
- The pass no longer forwards COPYs to undef uses, since doing so
  can break the machine verifier by creating LiveRanges that don't
  end on a use (since the undef operand is not considered a use).

  [MachineCopyPropagation] Extend pass to do COPY source forwarding

  This change extends MachineCopyPropagation to do COPY source forwarding.

  This change also extends the MachineCopyPropagation pass to be able to
  be run during register allocation, after physical registers have been
  assigned, but before the virtual registers have been re-written, which
  allows it to remove virtual register COPY LiveIntervals that become dead
  through the forwarding of all of their uses.

llvm-svn: 314729
</content>
</entry>
<entry>
<title>Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding""</title>
<updated>2017-09-04T15:47:00+00:00</updated>
<author>
<name>Sam McCall</name>
<email>sam.mccall@gmail.com</email>
</author>
<published>2017-09-04T15:47:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f71bb198edbaa0758a5ff58a49ed2fad58c92796'/>
<id>urn:sha1:f71bb198edbaa0758a5ff58a49ed2fad58c92796</id>
<content type='text'>
This crashes on boringSSL on PPC (will send reduced testcase)

This reverts commit r312328.

llvm-svn: 312490
</content>
</entry>
<entry>
<title>Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"</title>
<updated>2017-09-01T14:27:20+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2017-09-01T14:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=65528f29913a541f3d250dbee2d93a3b1db68e4d'/>
<id>urn:sha1:65528f29913a541f3d250dbee2d93a3b1db68e4d</id>
<content type='text'>
Issues addressed since original review:
- Moved removal of dead instructions found by
  LiveIntervals::shrinkToUses() outside of loop iterating over
  instructions to avoid instructions being deleted while pointed to by
  iterator.
- Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907.
- The pass no longer forwards COPYs to physical register uses, since
  doing so can break code that implicitly relies on the physical
  register number of the use.
- The pass no longer forwards COPYs to undef uses, since doing so
  can break the machine verifier by creating LiveRanges that don't
  end on a use (since the undef operand is not considered a use).

  [MachineCopyPropagation] Extend pass to do COPY source forwarding

  This change extends MachineCopyPropagation to do COPY source forwarding.

  This change also extends the MachineCopyPropagation pass to be able to
  be run during register allocation, after physical registers have been
  assigned, but before the virtual registers have been re-written, which
  allows it to remove virtual register COPY LiveIntervals that become dead
  through the forwarding of all of their uses.

llvm-svn: 312328
</content>
</entry>
<entry>
<title>Revert r312154 "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding""</title>
<updated>2017-08-30T22:11:37+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2017-08-30T22:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=24775a0a6ccfeae5e091b5e9990cb910913c2963'/>
<id>urn:sha1:24775a0a6ccfeae5e091b5e9990cb910913c2963</id>
<content type='text'>
It caused PR34387: Assertion failed: (RegNo &lt; NumRegs &amp;&amp; "Attempting to access record for invalid register number!")

&gt; Issues identified by buildbots addressed since original review:
&gt; - Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907.
&gt; - The pass no longer forwards COPYs to physical register uses, since
&gt;   doing so can break code that implicitly relies on the physical
&gt;   register number of the use.
&gt; - The pass no longer forwards COPYs to undef uses, since doing so
&gt;   can break the machine verifier by creating LiveRanges that don't
&gt;   end on a use (since the undef operand is not considered a use).
&gt;
&gt;   [MachineCopyPropagation] Extend pass to do COPY source forwarding
&gt;
&gt;   This change extends MachineCopyPropagation to do COPY source forwarding.
&gt;
&gt;   This change also extends the MachineCopyPropagation pass to be able to
&gt;   be run during register allocation, after physical registers have been
&gt;   assigned, but before the virtual registers have been re-written, which
&gt;   allows it to remove virtual register COPY LiveIntervals that become dead
&gt;   through the forwarding of all of their uses.

llvm-svn: 312178
</content>
</entry>
<entry>
<title>Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"</title>
<updated>2017-08-30T18:41:07+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2017-08-30T18:41:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=feffb0c8af00b975d678a364fff19c4ffb8bfd61'/>
<id>urn:sha1:feffb0c8af00b975d678a364fff19c4ffb8bfd61</id>
<content type='text'>
Issues identified by buildbots addressed since original review:
- Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907.
- The pass no longer forwards COPYs to physical register uses, since
  doing so can break code that implicitly relies on the physical
  register number of the use.
- The pass no longer forwards COPYs to undef uses, since doing so
  can break the machine verifier by creating LiveRanges that don't
  end on a use (since the undef operand is not considered a use).

  [MachineCopyPropagation] Extend pass to do COPY source forwarding

  This change extends MachineCopyPropagation to do COPY source forwarding.

  This change also extends the MachineCopyPropagation pass to be able to
  be run during register allocation, after physical registers have been
  assigned, but before the virtual registers have been re-written, which
  allows it to remove virtual register COPY LiveIntervals that become dead
  through the forwarding of all of their uses.

llvm-svn: 312154
</content>
</entry>
<entry>
<title>Revert "[MachineCopyPropagation] Extend pass to do COPY source forwarding" round 2</title>
<updated>2017-08-18T01:43:11+00:00</updated>
<author>
<name>Geoff Berry</name>
<email>gberry@codeaurora.org</email>
</author>
<published>2017-08-18T01:43:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bd47e8a4f7553e8f1fba20591e5cf75d23e82e88'/>
<id>urn:sha1:bd47e8a4f7553e8f1fba20591e5cf75d23e82e88</id>
<content type='text'>
This reverts commit r311135.

sanitizer-x86_64-linux-android buildbot is timing out with just this
patch applied.

llvm-svn: 311142
</content>
</entry>
</feed>
