<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/lib/CodeGen/SelectionDAG, branch meklort-10.0.0</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.0'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-02-28T10:52:11+00:00</updated>
<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>
<entry>
<title>[DAGCombine] Replace `getIntPtrConstant()` with `getVectorIdxTy()`.</title>
<updated>2020-01-14T22:03:05+00:00</updated>
<author>
<name>Michael Liao</name>
<email>michael.hliao@gmail.com</email>
</author>
<published>2020-01-14T21:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8d07f8d98c48ee0a9dca450aaf4e1cabc621ff68'/>
<id>urn:sha1:8d07f8d98c48ee0a9dca450aaf4e1cabc621ff68</id>
<content type='text'>
- Prefer `getVectorIdxTy()` as the index operand type for
  `EXTRACT_SUBVECTOR` as targets expect different types by overloading
  `getVectorIdxTy()`.
</content>
</entry>
<entry>
<title>[LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP</title>
<updated>2020-01-14T21:15:29+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@intel.com</email>
</author>
<published>2020-01-14T20:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9ee90ea55c1656b75e40f595dc351fbf667f5b79'/>
<id>urn:sha1:9ee90ea55c1656b75e40f595dc351fbf667f5b79</id>
<content type='text'>
This code is untested in tree because the "APFloat::semanticsPrecision(sem) &gt;= SrcVT.getSizeInBits() - 1" check is false for most combinations for int and fp types except maybe i32 and f64. For that you would need i32 to be an illegal type, but f64 to be legal and have custom handling for legalizing the split sint_to_fp. The precision check itself was added in 2010 to fix a double rounding issue in the algorithm that would occur if the sint_to_fp was not able to do the conversion without rounding.

Differential Revision: https://reviews.llvm.org/D72728
</content>
</entry>
<entry>
<title>[FPEnv] Fix chain handling regression after 04a8696</title>
<updated>2020-01-14T13:10:57+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2020-01-14T13:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=81ee484484a0be59da8f749a9b4cf56bb8d37402'/>
<id>urn:sha1:81ee484484a0be59da8f749a9b4cf56bb8d37402</id>
<content type='text'>
Code in getRoot made the assumption that every node in PendingLoads
must always itself have a dependency on the current DAG root node.

After the changes in 04a8696, it turns out that this assumption no
longer holds true, causing wrong codegen in some cases (e.g. stores
after constrained FP intrinsics might get deleted).

To fix this, we now need to make sure that the TokenFactor created
by getRoot always includes the previous root, if there is no implicit
dependency already present.

The original getControlRoot code already has exactly this check,
so this patch simply reuses that code now for getRoot as well.
This fixes the regression.

NFC if no constrained FP intrinsic is present.
</content>
</entry>
<entry>
<title>[SelectionDAG] ComputeKnownBits - merge getValidMinimumShiftAmountConstant() and generic ISD::SHL handling.</title>
<updated>2020-01-14T11:51:41+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-01-14T11:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c05a11108b9a9deb266c3c1758677462df61e05e'/>
<id>urn:sha1:c05a11108b9a9deb266c3c1758677462df61e05e</id>
<content type='text'>
As mentioned by @nikic on rGef5debac4302, we can merge the guaranteed bottom zero bits from the shifted value, and then, if a min shift amount is known, zero out the bottom bits as well.
</content>
</entry>
</feed>
