<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/lib/CodeGen/SelectionDAG, 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>2020-06-26T20:45:41+00:00</updated>
<entry>
<title>[DAGCombine] Check the uses of negated floating constant and remove the hack</title>
<updated>2020-06-26T20:45:41+00:00</updated>
<author>
<name>QingShan Zhang</name>
<email>qshanz@cn.ibm.com</email>
</author>
<published>2020-03-05T03:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=76ceebb0d96361de2b61bf8e504d306d1f2e492f'/>
<id>urn:sha1:76ceebb0d96361de2b61bf8e504d306d1f2e492f</id>
<content type='text'>
PowerPC hits an assertion due to somewhat the same reason as https://reviews.llvm.org/D70975.
Though there are already some hack, it still failed with some case, when the operand 0 is NOT
a const fp, it is another fma that with const fp. And that const fp is negated which result in multi-uses.

A better fix is to check the uses of the negated const fp. If there are already use of its negated
value, we will have benefit as no extra Node is added.

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

(cherry picked from commit 3906ae387f0775dfe4426e4336748269fafbd190)
</content>
</entry>
<entry>
<title>[LegalizeTypes][RISCV] Correctly sign-extend comparison for ATOMIC_CMP_XCHG</title>
<updated>2020-06-25T23:13:53+00:00</updated>
<author>
<name>Alex Bradbury</name>
<email>asb@asbradbury.org</email>
</author>
<published>2020-06-25T10:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f8e49af4f1adcf457ea32e7164a126b10357cf4f'/>
<id>urn:sha1:f8e49af4f1adcf457ea32e7164a126b10357cf4f</id>
<content type='text'>
Currently, the comparison argument used for ATOMIC_CMP_XCHG is legalised
with GetPromotedInteger, which leaves the upper bits of the value
undefind. Since this is used for comparing in an LR/SC loop with a
full-width comparison, we must sign extend it on RISC-V.

This is related to https://reviews.llvm.org/D58829, which solved the
issue for ATOMIC_CMP_SWAP_WITH_SUCCESS, but not the simpler
ATOMIC_CMP_SWAP.

This patch is a modified form of
616289ed29225c0ddfe5699c7fdf42a0fcbe0ab4 by Jessica Clarke. It localises
the changes to LegalizeIntegerTypes and avoids adding a new virtual
method to TargetLowering to avoid changing the ABI of libLLVM.so.
</content>
</entry>
<entry>
<title>[DAGCombine] Fix splitting indexed loads in ForwardStoreValueToDirectLoad()</title>
<updated>2020-04-15T03:05:13+00:00</updated>
<author>
<name>Nemanja Ivanovic</name>
<email>nemanja.i.ibm@gmail.com</email>
</author>
<published>2020-03-27T22:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=321d929774c6fa0767e4ae5eb0881ad15e7a4664'/>
<id>urn:sha1:321d929774c6fa0767e4ae5eb0881ad15e7a4664</id>
<content type='text'>
In DAGCombiner::visitLOAD() we perform some checks before breaking up an indexed
load. However, we don't do the same checking in ForwardStoreValueToDirectLoad()
which can lead to failures later during combining
(see: https://bugs.llvm.org/show_bug.cgi?id=45301).

This patch just adds the same checks to this function as well.

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

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

(cherry picked from commit 482141134729237072cb94248381dab96ce34374)
</content>
</entry>
<entry>
<title>[CodeGen] Fix sinking local values in lpads with phis</title>
<updated>2020-04-13T20:37:15+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2020-03-28T18:03:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=47e68d864420afd42d34fd25e97522e5c149de46'/>
<id>urn:sha1:47e68d864420afd42d34fd25e97522e5c149de46</id>
<content type='text'>
There was already a test case for landingpads to handle this case, but I
had forgotten to consider PHI instructions preceding the EH_LABEL in the
landingpad.

PR45261

(cherry picked from commit e5bf5037d869c74bc2faf81fa1f58dfd827e8356)
</content>
</entry>
<entry>
<title>No longer generate calls to *_finite</title>
<updated>2020-02-28T10:52:11+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2020-02-21T14:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cd0926d087a85c5ee1222ca80980b4440214a822'/>
<id>urn:sha1:cd0926d087a85c5ee1222ca80980b4440214a822</id>
<content type='text'>
According to Joseph Myers, a libm maintainer

&gt; They were only ever an ABI (selected by use of -ffinite-math-only or
&gt; options implying it, which resulted in the headers using "asm" to redirect
&gt; calls to some libm functions), not an API. The change means that ABI has
&gt; turned into compat symbols (only available for existing binaries, not for
&gt; anything newly linked, not included in static libm at all, not included in
&gt; shared libm for future glibc ports such as RV32), so, yes, in any case
&gt; where tools generate direct calls to those functions (rather than just
&gt; following the "asm" annotations on function declarations in the headers),
&gt; they need to stop doing so.

As a consequence, we should no longer assume these symbols are available on the
target system.

Still keep the TargetLibraryInfo for constant folding.

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

(cherry picked from commit 6d15c4deab51498b70825fb6cefbbfe8f3d9bdcf)

For https://bugs.llvm.org/show_bug.cgi?id=45034
</content>
</entry>
<entry>
<title>[Codegen] Revert rL354676/rL354677 and followups - introduced PR43446 miscompile</title>
<updated>2020-02-26T14:22:28+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2020-02-25T17:08:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3abd9cd486d9c45867458f64d1294db698c39b4e'/>
<id>urn:sha1:3abd9cd486d9c45867458f64d1294db698c39b4e</id>
<content type='text'>
This reverts https://reviews.llvm.org/D58468
(rL354676, 44037d7a6377ec8e5542cced73583283334b516b),
and all and any follow-ups to that code block.

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

(cherry picked from commit d20907d1de89bf63b589fadd8c096d4895e47fba)
</content>
</entry>
<entry>
<title>[AArch64][FPenv] Update chain of int to fp conversion</title>
<updated>2020-02-18T15:46:44+00:00</updated>
<author>
<name>Diogo Sampaio</name>
<email>diogo.sampaio@arm.com</email>
</author>
<published>2020-02-15T05:05:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b5d9a7e72fafaead89f0cc8994925c90ed3169be'/>
<id>urn:sha1:b5d9a7e72fafaead89f0cc8994925c90ed3169be</id>
<content type='text'>
Summary:
When using strict fp, it is required to update the
chain when performing integer type promotion of a
operand to a integer to floating point conversion.

Reviewers: craig.topper, john.brawn

Reviewed By: craig.topper

Subscribers: kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

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

(cherry picked from commit 8bc790f9e6a6fc6d8fe8f41a7120269366fa0957)
</content>
</entry>
<entry>
<title>Revert "[DebugInfo] Remove some users of DBG_VALUEs IsIndirect field"</title>
<updated>2020-02-12T13:06:29+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse@sony.com</email>
</author>
<published>2020-02-05T17:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4eb45a05a78f7c80bbec0453bc225deebec06209'/>
<id>urn:sha1:4eb45a05a78f7c80bbec0453bc225deebec06209</id>
<content type='text'>
This reverts commit ed29dbaafa49bb8c9039a35f768244c394411fea.

I'm backing out D68945, which as the discussion for D73526 shows, doesn't
seem to handle the -O0 path through the codegen backend correctly. I'll
reland the patch when a fix is worked out, apologies for all the churn.
The two parent commits are part of this revert too.

Conflicts:
	llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
	llvm/test/DebugInfo/X86/dbg-addr-dse.ll

SelectionDAGBuilder conflict is due to a nearby change in e39e2b4a79c6
that's technically unrelated. dbg-addr-dse.ll conflicted because
41206b61e30c (legitimately) changes the order of two lines.

There are further modifications to dbg-value-func-arg.ll: it landed after
the patch being reverted, and I've converted indirection to be represented
by the isIndirect field rather than DW_OP_deref.

(cherry picked from commit 6531a78ac4b5b229bce272706593a0bc873877d7)
</content>
</entry>
<entry>
<title>Revert "[DebugInfo][DAG] Distinguish different kinds of location indirection"</title>
<updated>2020-02-12T13:06:19+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse@sony.com</email>
</author>
<published>2020-02-05T16:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=04d7337d69fa38f00179811419207a9ef5eef83e'/>
<id>urn:sha1:04d7337d69fa38f00179811419207a9ef5eef83e</id>
<content type='text'>
This reverts commit 3137fe4d23eeb8df08c03e9111465325eeafe08e.

I'm backing out D68945, which this patch is a follow up for. It'll be
re-landed when D68945 is fixed.

The changes to dbg-value-func-arg.ll occur because our handling of certain
kinds of location now mixes up indirection that happens at different points
in a DIExpression. While this is a regression, it's a return to the prior
behaviour while a better patch is sought.

(cherry picked from commit ece761427f63de96ee52bbd6be1c61b07967a917)
</content>
</entry>
<entry>
<title>[ARM][VecReduce] Force expand vector_reduce_fmin</title>
<updated>2020-02-05T12:53:24+00:00</updated>
<author>
<name>David Green</name>
<email>david.green@arm.com</email>
</author>
<published>2020-02-04T09:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8195a96595baca8c0141de2a121dcf3f8c0ea616'/>
<id>urn:sha1:8195a96595baca8c0141de2a121dcf3f8c0ea616</id>
<content type='text'>
Under MVE, we do not have any lowering for fminimum, which a
vector_reduce_fmin without NoNan will be expanded into. As with the
other recent patches, force this to expand in the pre-isel pass. Note
that Neon lowering would be OK because the scalar fminimum uses the
vector VMIN instruction, but is probably better to just rely on the
scalar operations, which is what is done here.

Also fixes what appears to be the reversal of INF vs -INF in the
vector_reduce_fmin widening code.

(cherry picked from commit 362d00e0510ee75750499e2993a782428e377215)
</content>
</entry>
</feed>
