<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/lib/Target/Mips/MipsISelLowering.cpp, 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-08-01T17:47:48+00:00</updated>
<entry>
<title>Add a quick hack so clang does not use mul type instructions on mips.</title>
<updated>2020-08-01T17:47:48+00:00</updated>
<author>
<name>Evan Lojewski</name>
<email>github@meklort.com</email>
</author>
<published>2019-05-06T01:24:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e87058e93695dd203fdff5dfc9579d8420766d1e'/>
<id>urn:sha1:e87058e93695dd203fdff5dfc9579d8420766d1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[MIPS] Don't emit R_(MICRO)MIPS_JALR relocations against data symbols</title>
<updated>2020-01-13T14:14:03+00:00</updated>
<author>
<name>Alex Richardson</name>
<email>Alexander.Richardson@cl.cam.ac.uk</email>
</author>
<published>2020-01-13T13:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8e8ccf4712cf58562a91c197da3efd4f9963ce0d'/>
<id>urn:sha1:8e8ccf4712cf58562a91c197da3efd4f9963ce0d</id>
<content type='text'>
The R_(MICRO)MIPS_JALR optimization only works when used against functions.
Using the relocation against a data symbol (e.g. function pointer) will
cause some linkers that don't ignore the hint in this case (e.g. LLD prior
to commit 5bab291b7b) to generate a relative branch to the data symbol
which crashes at run time. Before this patch, LLVM was erroneously emitting
these relocations against local-dynamic TLS function pointers and global
function pointers with internal visibility.

Reviewers: atanasyan, jrtc27, vstefanovic
Reviewed By: atanasyan
Differential Revision: https://reviews.llvm.org/D72571
</content>
</entry>
<entry>
<title>CodeGen: Use LLT instead of EVT in getRegisterByName</title>
<updated>2020-01-09T22:37:52+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2019-12-28T14:18:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=255cc5a7603fef251192daab2a3336acbcd9aa1c'/>
<id>urn:sha1:255cc5a7603fef251192daab2a3336acbcd9aa1c</id>
<content type='text'>
Only PPC seems to be using it, and only checks some simple cases and
doesn't distinguish between FP. Just switch to using LLT to simplify
use from GlobalISel.
</content>
</entry>
<entry>
<title>[NFC] Use EVT instead of bool for getSetCCInverse()</title>
<updated>2019-12-13T12:22:03+00:00</updated>
<author>
<name>Alex Richardson</name>
<email>Alexander.Richardson@cl.cam.ac.uk</email>
</author>
<published>2019-12-13T11:28:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=be15dfa88fb1ed94d12f374797f98ede6808f809'/>
<id>urn:sha1:be15dfa88fb1ed94d12f374797f98ede6808f809</id>
<content type='text'>
Summary:
The use of a boolean isInteger flag (generally initialized using
VT.isInteger()) caused errors in our out-of-tree CHERI backend
(https://github.com/CTSRD-CHERI/llvm-project).

In our backend, pointers use a separate ValueType (iFATPTR) and therefore
.isInteger() returns false. This meant that getSetCCInverse() was using the
floating-point variant and generated incorrect code for us:
`(void *)0x12033091e &lt; (void *)0xffffffffffffffff` would return false.

Committing this change will significantly reduce our merge conflicts
for each upstream merge.

Reviewers: spatel, bogner

Reviewed By: bogner

Subscribers: wuzish, arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jrtc27, atanasyan, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70917
</content>
</entry>
<entry>
<title>[Mips] Add support for min/max/umin/umax atomics</title>
<updated>2019-12-12T10:32:37+00:00</updated>
<author>
<name>Mirko Brkusanin</name>
<email>Mirko.Brkusanin@rt-rk.com</email>
</author>
<published>2019-12-12T10:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d7357c52a40a136f25c1cf5ae31a699d51885e49'/>
<id>urn:sha1:d7357c52a40a136f25c1cf5ae31a699d51885e49</id>
<content type='text'>
In order to properly implement these atomic we need one register more than other
binary atomics. It is used for storing result from comparing values in addition
to the one that is used for actual result of operation.

https://reviews.llvm.org/D71028
</content>
</entry>
<entry>
<title>[SVE][CodeGen] Scalable vector MVT size queries</title>
<updated>2019-11-18T12:30:59+00:00</updated>
<author>
<name>Graham Hunter</name>
<email>graham.hunter@arm.com</email>
</author>
<published>2019-08-14T10:48:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3f08ad611aa26db2e719705b8fb60f4661d97b98'/>
<id>urn:sha1:3f08ad611aa26db2e719705b8fb60f4661d97b98</id>
<content type='text'>
* Implements scalable size queries for MVTs, split out from D53137.

* Contains a fix for FindMemType to avoid using scalable vector type
  to contain non-scalable types.

* Explicit casts for several places where implicit integer sign
  changes or promotion from 32 to 64 bits caused problems.

* CodeGenDAGPatterns will treat scalable and non-scalable vector types
  as different.

Reviewers: greened, cameron.mcinally, sdesmalen, rovka

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D66871
</content>
</entry>
<entry>
<title>[mips] Reduce number of nested `if` statements. NFC</title>
<updated>2019-11-13T19:57:55+00:00</updated>
<author>
<name>Simon Atanasyan</name>
<email>simon@atanasyan.com</email>
</author>
<published>2019-11-12T12:35:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=63bbbcde9f623fd54c80e9768dc25b77bccf5f7d'/>
<id>urn:sha1:63bbbcde9f623fd54c80e9768dc25b77bccf5f7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[mips] Fix `getRegForInlineAsmConstraint` to do not crash on empty Constraint</title>
<updated>2019-11-05T21:50:39+00:00</updated>
<author>
<name>Simon Atanasyan</name>
<email>simon@atanasyan.com</email>
</author>
<published>2019-11-05T21:12:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=37f4955c9baba9f981100b3137cb9486c0d75ce8'/>
<id>urn:sha1:37f4955c9baba9f981100b3137cb9486c0d75ce8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[mips] Split long lines in the code. NFC</title>
<updated>2019-11-02T21:50:52+00:00</updated>
<author>
<name>Simon Atanasyan</name>
<email>simon@atanasyan.com</email>
</author>
<published>2019-11-02T13:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0bd82a96cc853529eab3dfebf3bb640221b6025b'/>
<id>urn:sha1:0bd82a96cc853529eab3dfebf3bb640221b6025b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>TLI: Remove DAG argument from getRegisterByName</title>
<updated>2019-10-01T01:44:39+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2019-10-01T01:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f24ac13aaae63d92317dac839ce57857a7b444dc'/>
<id>urn:sha1:f24ac13aaae63d92317dac839ce57857a7b444dc</id>
<content type='text'>
Replace with the MachineFunction. X86 is the only user, and only uses
it for the function. This removes one obstacle from using this in
GlobalISel. The other is the more tolerable EVT argument.

The X86 use of the function seems questionable to me. It checks hasFP,
before frame lowering.

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