<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/lib/Transforms, branch ortega-7.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=ortega-7.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=ortega-7.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2018-12-06T22:36:26+00:00</updated>
<entry>
<title>Merging r348462:</title>
<updated>2018-12-06T22:36:26+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-12-06T22:36:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b7096f761a7264c4156b6704ad5317eda1632816'/>
<id>urn:sha1:b7096f761a7264c4156b6704ad5317eda1632816</id>
<content type='text'>
------------------------------------------------------------------------
r348462 | lebedevri | 2018-12-06 00:14:24 -0800 (Thu, 06 Dec 2018) | 13 lines

[InstCombine] foldICmpWithLowBitMaskedVal(): don't miscompile -1 vector elts

I was finally able to quantify what i thought was missing in the fix,
it was vector constants. If we have a scalar (and %x, -1),
it will be instsimplified before we reach this code,
but if it is a vector, we may still have a -1 element.

Thus, we want to avoid the fold if *at least one* element is -1.
Or in other words, ignoring the undef elements, no sign bits
should be set. Thus, m_NonNegative().

A follow-up for rL348181
https://bugs.llvm.org/show_bug.cgi?id=39861
------------------------------------------------------------------------

llvm-svn: 348538
</content>
</entry>
<entry>
<title>Merging r348181:</title>
<updated>2018-12-06T21:36:42+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-12-06T21:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2ea572a8e574b89c05fa9c6461e8641802e67e2a'/>
<id>urn:sha1:2ea572a8e574b89c05fa9c6461e8641802e67e2a</id>
<content type='text'>
------------------------------------------------------------------------
r348181 | lebedevri | 2018-12-03 12:07:58 -0800 (Mon, 03 Dec 2018) | 8 lines

[InstCombine] foldICmpWithLowBitMaskedVal(): disable 2 faulty folds.

These two folds are invalid for this non-constant pattern
when the mask ends up being all-ones:
https://rise4fun.com/Alive/9au
https://rise4fun.com/Alive/UcQM

Fixes https://bugs.llvm.org/show_bug.cgi?id=39861
------------------------------------------------------------------------

llvm-svn: 348528
</content>
</entry>
<entry>
<title>Merging r343369:</title>
<updated>2018-12-06T03:14:29+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-12-06T03:14:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9bd05390b360f380d579ef812bb7fed0599893f6'/>
<id>urn:sha1:9bd05390b360f380d579ef812bb7fed0599893f6</id>
<content type='text'>
------------------------------------------------------------------------
r343369 | vitalybuka | 2018-09-28 19:17:12 -0700 (Fri, 28 Sep 2018) | 1 line

[cxx2a] Fix warning triggered by r343285
------------------------------------------------------------------------

llvm-svn: 348450
</content>
</entry>
<entry>
<title>Merging r344589:</title>
<updated>2018-11-30T17:55:00+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-11-30T17:55:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4d730d8ff36735379b88ac367fa7e77adeee48f4'/>
<id>urn:sha1:4d730d8ff36735379b88ac367fa7e77adeee48f4</id>
<content type='text'>
------------------------------------------------------------------------
r344589 | dstenb | 2018-10-16 01:06:48 -0700 (Tue, 16 Oct 2018) | 41 lines

[DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop

Summary:
Extend LCSSA so that debug values outside loops are rewritten to
use the PHI nodes that the pass creates.

This fixes PR39019. In that case, we ran LCSSA on a loop that
was later on vectorized, which left us with something like this:

  for.cond.cleanup:
    %add.lcssa = phi i32 [ %add, %for.body ], [ %34, %middle.block ]
    call void @llvm.dbg.value(metadata i32 %add,
    ret i32 %add.lcssa

  for.body:
    %add =
    [...]
    br i1 %exitcond, label %for.cond.cleanup, label %for.body

which later resulted in the debug.value becoming undef when
removing the scalar loop (and the location would have probably
been wrong for the vectorized case otherwise).

As we now may need to query the AvailableVals cache more than
once for a basic block, FindAvailableVals() in SSAUpdaterImpl is
changed so that it updates the cache for blocks that we do not
create a PHI node for, regardless of the block's number of
predecessors. The debug value in the attached IR reproducer
would not be properly rewritten without this.

Debug values residing in blocks where we have not inserted any
PHI nodes are currently left as-is by this patch. I'm not sure
what should be done with those uses.

Reviewers: mattd, aprantl, vsk, probinson

Reviewed By: mattd, aprantl

Subscribers: jmorse, gbedwell, JDevlieghere, llvm-commits

Differential Revision: https://reviews.llvm.org/D53130
------------------------------------------------------------------------

llvm-svn: 348011
</content>
</entry>
<entry>
<title>Merging r344454, r344455, r344645:</title>
<updated>2018-11-02T02:26:07+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-11-02T02:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bbaf33edcfa5aa24095bd50a128c8019dc689c47'/>
<id>urn:sha1:bbaf33edcfa5aa24095bd50a128c8019dc689c47</id>
<content type='text'>
------------------------------------------------------------------------
r344454 | xbolva00 | 2018-10-13 08:21:55 -0700 (Sat, 13 Oct 2018) | 11 lines

[InstCombine] Fixed crash with aliased functions

Summary: Fixes PR39177

Reviewers: spatel, jbuening

Reviewed By: jbuening

Subscribers: jbuening, llvm-commits

Differential Revision: https://reviews.llvm.org/D53129
------------------------------------------------------------------------

------------------------------------------------------------------------
r344455 | xbolva00 | 2018-10-13 08:26:13 -0700 (Sat, 13 Oct 2018) | 2 lines

[NFC] Fixed duplicated test file

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

------------------------------------------------------------------------
r344645 | xbolva00 | 2018-10-16 14:18:31 -0700 (Tue, 16 Oct 2018) | 9 lines

[InstCombine] Cleanup libfunc attribute inferring

Reviewers: efriedma

Reviewed By: efriedma

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D53338
------------------------------------------------------------------------

llvm-svn: 345921
</content>
</entry>
<entry>
<title>Merging r344325:</title>
<updated>2018-10-26T16:52:32+00:00</updated>
<author>
<name>Tom Stellard</name>
<email>tstellar@redhat.com</email>
</author>
<published>2018-10-26T16:52:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9e981fb6e135e1ac0a900b76c8798c1cf510248d'/>
<id>urn:sha1:9e981fb6e135e1ac0a900b76c8798c1cf510248d</id>
<content type='text'>
------------------------------------------------------------------------
r344325 | evgeny777 | 2018-10-12 00:24:02 -0700 (Fri, 12 Oct 2018) | 4 lines

[ThinLTO] Don't import GV which contains blockaddress

Differential revision: https://reviews.llvm.org/D53139

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

llvm-svn: 345401
</content>
</entry>
<entry>
<title>Merging r341416:</title>
<updated>2018-09-06T08:16:34+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2018-09-06T08:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fbe05633b7125979b81c3719f564fc1fc4af635d'/>
<id>urn:sha1:fbe05633b7125979b81c3719f564fc1fc4af635d</id>
<content type='text'>
------------------------------------------------------------------------
r341416 | annat | 2018-09-05 00:12:23 +0200 (Wed, 05 Sep 2018) | 11 lines

[LV] First order recurrence phis should not be treated as uniform

This is fix for PR38786.
First order recurrence phis were incorrectly treated as uniform,
which caused them to be vectorized as uniform instructions.

Patch by Ayal Zaks and Orivej Desh!

Reviewed by: Anna

Differential Revision: https://reviews.llvm.org/D51639
------------------------------------------------------------------------

llvm-svn: 341523
</content>
</entry>
<entry>
<title>Merging r341094:</title>
<updated>2018-08-31T15:53:05+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2018-08-31T15:53:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8efd177122b088f0bb56ab98cdcefb1025efabcd'/>
<id>urn:sha1:8efd177122b088f0bb56ab98cdcefb1025efabcd</id>
<content type='text'>
------------------------------------------------------------------------
r341094 | efriedma | 2018-08-30 20:59:24 +0200 (Thu, 30 Aug 2018) | 11 lines

[SROA] Fix alignment for uses of PHI nodes.

Splitting an alloca can decrease the alignment of GEPs into the
partition.  Normally, rewriting accounts for this, but the code was
missing for uses of PHI nodes and select instructions.

Fixes https://bugs.llvm.org/show_bug.cgi?id=38707 .

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


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

llvm-svn: 341220
</content>
</entry>
<entry>
<title>Merging r340900:</title>
<updated>2018-08-30T09:34:31+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2018-08-30T09:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=db7876c1bc506978852970d92705054e86dd5a33'/>
<id>urn:sha1:db7876c1bc506978852970d92705054e86dd5a33</id>
<content type='text'>
------------------------------------------------------------------------
r340900 | hans | 2018-08-29 08:55:27 +0200 (Wed, 29 Aug 2018) | 6 lines

LoopSink: Don't sink into blocks without an insertion point (PR38462)

In the PR, LoopSink was trying to sink into a catchswitch block, which
doesn't have a valid insertion point.

Differential Revision: https://reviews.llvm.org/D51307
------------------------------------------------------------------------

llvm-svn: 341048
</content>
</entry>
<entry>
<title>Merging r340820:</title>
<updated>2018-08-30T08:35:03+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@hanshq.net</email>
</author>
<published>2018-08-30T08:35:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8f50cb6b5a23fce193a70de4c875d2dac89736e9'/>
<id>urn:sha1:8f50cb6b5a23fce193a70de4c875d2dac89736e9</id>
<content type='text'>
------------------------------------------------------------------------
r340820 | uabelho | 2018-08-28 14:40:11 +0200 (Tue, 28 Aug 2018) | 34 lines

[CloneFunction] Constant fold terminators before checking single predecessor

Summary:
This fixes PR31105.

There is code trying to delete dead code that does so by e.g. checking if
the single predecessor of a block is the block itself.

That check fails on a block like this
 bb:
   br i1 undef, label %bb, label %bb
since that has two (identical) predecessors.

However, after the check for dead blocks there is a call to
ConstantFoldTerminator on the basic block, and that call simplifies the
block to
 bb:
   br label %bb

Therefore we now do the call to ConstantFoldTerminator before the check if
the block is dead, so it can realize that it really is.

The original behavior lead to the block not being removed, but it was
simplified as above, and then we did a call to
    Dest-&gt;replaceAllUsesWith(&amp;*I);
with old and new being equal, and an assertion triggered.

Reviewers: chandlerc, fhahn

Reviewed By: fhahn

Subscribers: eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D51280
------------------------------------------------------------------------

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