<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/CodeGen/MIR/Mips, 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>2019-10-22T14:25:37+00:00</updated>
<entry>
<title>[MIParser] Set RegClassOrRegBank during instruction parsing</title>
<updated>2019-10-22T14:25:37+00:00</updated>
<author>
<name>Petar Avramovic</name>
<email>Petar.Avramovic@rt-rk.com</email>
</author>
<published>2019-10-22T14:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=95290827d7d01c63ac57b2cf5204215ba4ee4b06'/>
<id>urn:sha1:95290827d7d01c63ac57b2cf5204215ba4ee4b06</id>
<content type='text'>
MachineRegisterInfo::createGenericVirtualRegister sets
RegClassOrRegBank to static_cast&lt;RegisterBank *&gt;(nullptr).
MIParser on the other hand doesn't. When we attempt to constrain
Register Class on such VReg, additional COPY is generated.
This way we avoid COPY instructions showing in test that have MIR
input while they are not present with llvm-ir input that was used
to create given MIR for a -run-pass test.

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

llvm-svn: 375502
</content>
</entry>
<entry>
<title>[MIPS GlobalISel] Select MSA vector generic and builtin add</title>
<updated>2019-10-22T13:51:57+00:00</updated>
<author>
<name>Petar Avramovic</name>
<email>Petar.Avramovic@rt-rk.com</email>
</author>
<published>2019-10-22T13:51:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e4af9de36ca60483040af381edd10e716e7b077d'/>
<id>urn:sha1:e4af9de36ca60483040af381edd10e716e7b077d</id>
<content type='text'>
Select vector G_ADD for MIPS32 with MSA. We have to set bank
for vector operands to fprb and selectImpl will do the rest.
__builtin_msa_addv_&lt;format&gt; will be transformed into G_ADD
in legalizeIntrinsic and selected in the same way.
__builtin_msa_addvi_&lt;format&gt; will be directly selected into
ADDVI_&lt;format&gt; in legalizeIntrinsic. MIR tests for it have
unnecessary additional copies. Capture current state of tests
with run-pass=legalizer with a test in test/CodeGen/MIR/Mips.

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

llvm-svn: 375501
</content>
</entry>
<entry>
<title>Followup on Proposal to move MIR physical register namespace to '$' sigil.</title>
<updated>2018-01-31T22:04:26+00:00</updated>
<author>
<name>Puyan Lotfi</name>
<email>puyan@puyan.org</email>
</author>
<published>2018-01-31T22:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=43e94b15ea0c180ebb0fd3e6b697dac4564aaf60'/>
<id>urn:sha1:43e94b15ea0c180ebb0fd3e6b697dac4564aaf60</id>
<content type='text'>
Discussed here:

http://lists.llvm.org/pipermail/llvm-dev/2018-January/120320.html

In preparation for adding support for named vregs we are changing the sigil for
physical registers in MIR to '$' from '%'. This will prevent name clashes of
named physical register with named vregs.

llvm-svn: 323922
</content>
</entry>
<entry>
<title>[MIR] Repurposing '$' sigil used by external symbols. Replacing with '&amp;'.</title>
<updated>2018-01-10T00:56:48+00:00</updated>
<author>
<name>Puyan Lotfi</name>
<email>puyan@puyan.org</email>
</author>
<published>2018-01-10T00:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fe6c9cbb2440be652b9f7697bf945323e28a9fe4'/>
<id>urn:sha1:fe6c9cbb2440be652b9f7697bf945323e28a9fe4</id>
<content type='text'>
Planning to add support for named vregs. This puts is in a conundrum since
physregs are named as well. To rectify this we need to use a sigil other than
'%' for physregs in MIR. We've settled on using '$' for physregs but first we
must repurpose it from external symbols using it, which is what this commit is
all about. We think '&amp;' will have familiar semantics for C/C++ users.

llvm-svn: 322146
</content>
</entry>
<entry>
<title>MIRParser: Use shorter cfi identifiers</title>
<updated>2016-07-26T18:20:00+00:00</updated>
<author>
<name>Matthias Braun</name>
<email>matze@braunis.de</email>
</author>
<published>2016-07-26T18:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ee0679207b50d8a10ac21edd47a1713eb9c7e47d'/>
<id>urn:sha1:ee0679207b50d8a10ac21edd47a1713eb9c7e47d</id>
<content type='text'>
In an instruction like:
	CFI_INSTRUCTION .cfi_def_cfa ...
we can drop the '.cfi_' prefix since that should be obvious by the
context:
	CFI_INSTRUCTION def_cfa ...

While being a terser and cleaner syntax this also prepares to dropping
support for identifiers starting with a dot character so we can use it
for expressions.

Differential Revision: http://reviews.llvm.org/D22388

llvm-svn: 276785
</content>
</entry>
<entry>
<title>llc: Add support for -run-pass none</title>
<updated>2016-07-16T02:24:59+00:00</updated>
<author>
<name>Matthias Braun</name>
<email>matze@braunis.de</email>
</author>
<published>2016-07-16T02:24:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=538859cca3518a981293cf773e490fcf29a153c2'/>
<id>urn:sha1:538859cca3518a981293cf773e490fcf29a153c2</id>
<content type='text'>
This does not schedule any passes besides the ones necessary to
construct and print the machine function. This is useful to test .mir
file reading and printing.

Differential Revision: http://reviews.llvm.org/D22432

llvm-svn: 275664
</content>
</entry>
<entry>
<title>[MIR] Print on the given output instead of stderr.</title>
<updated>2016-07-13T20:36:03+00:00</updated>
<author>
<name>Quentin Colombet</name>
<email>qcolombet@apple.com</email>
</author>
<published>2016-07-13T20:36:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=545e558b8209d1467ce0249ed9b5c45e6c81e8c5'/>
<id>urn:sha1:545e558b8209d1467ce0249ed9b5c45e6c81e8c5</id>
<content type='text'>
Currently the MIR framework prints all its outputs (errors and actual
representation) on stderr.

This patch fixes that by printing the regular output in the output
specified with -o.

Differential Revision: http://reviews.llvm.org/D22251

llvm-svn: 275314
</content>
</entry>
<entry>
<title>[mips][mips16] Fix machine verifier errors about incorrect register classes on load/stores.</title>
<updated>2016-06-16T10:20:59+00:00</updated>
<author>
<name>Daniel Sanders</name>
<email>daniel.sanders@imgtec.com</email>
</author>
<published>2016-06-16T10:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=de7816b0cd3ffbd9775681c408298febe4c10fe3'/>
<id>urn:sha1:de7816b0cd3ffbd9775681c408298febe4c10fe3</id>
<content type='text'>
Summary:
[ls][bh] and [ls][bh]u cannot use sp-relative addresses and must therefore
lower frameindex nodes such that there is a copy to a CPU16Regs register. This
is now done consistently using a separate addressing mode that does not
permit frameindex nodes.

As part of this I've had to remove an optimization that reduced the number of
instructions needed to work around the lack of sp-relative addresses on [ls][bh]
and [ls][bh]u. This optimization used one of the eight CPU16Regs registers as
a copy of the stack pointer and it's implementation was the root cause of many
of the register vs register class mismatches.

lw/sw can use sp-relative addresses but we ought to ensure that we use the
correct version of lw/sw internally for things like IAS. This is not currently
the case and this change does not fix this. However, this change does clean it
up sufficiently well to fix the machine verifier failures.

Also removed irrelevant functions from stchar.ll.

Reviewers: sdardis

Subscribers: dsanders, sdardis, llvm-commits

Differential Revision: http://reviews.llvm.org/D21062

llvm-svn: 272882
</content>
</entry>
<entry>
<title>When printing MIR, output to errs() rather than outs().</title>
<updated>2016-02-19T00:18:46+00:00</updated>
<author>
<name>Justin Lebar</name>
<email>jlebar@google.com</email>
</author>
<published>2016-02-19T00:18:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c75d566f566c10cf417c81051c152e77b2515eee'/>
<id>urn:sha1:c75d566f566c10cf417c81051c152e77b2515eee</id>
<content type='text'>
Summary:
Without this, this command

  $ llvm-run llc -stop-after machine-cp -o - &lt;( echo '' )

outputs an error, because we close stdout twice -- once when closing the
file opened for "-o", and again when closing outs().

Also clarify in the outs() definition that you can't ever call it if you
want to open your own raw_fd_ostream on stdout.

Reviewers: jroelofs, tstellarAMD

Subscribers: jholewinski, qcolombet, dsanders, llvm-commits

Differential Revision: http://reviews.llvm.org/D17422

llvm-svn: 261286
</content>
</entry>
<entry>
<title>[mips][mips16] MIPS16 is not a CPU/Architecture but is an ASE.</title>
<updated>2015-10-15T14:34:23+00:00</updated>
<author>
<name>Daniel Sanders</name>
<email>daniel.sanders@imgtec.com</email>
</author>
<published>2015-10-15T14:34:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8008de55515f7e1eba8992f87aa2db0eccfd78fe'/>
<id>urn:sha1:8008de55515f7e1eba8992f87aa2db0eccfd78fe</id>
<content type='text'>
Summary:
The -mcpu=mips16 option caused the Integrated Assembler to crash because
it couldn't figure out the architecture revision number to write to the
.MIPS.abiflags section. This CPU definition has been removed because, like
microMIPS, MIPS16 is an ASE to a base architecture.

Reviewers: vkalintiris

Subscribers: rkotler, llvm-commits, dsanders

Differential Revision: http://reviews.llvm.org/D13656

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