This is an archive of the discontinued LLVM Phabricator instance.

[mips] Add tests for the 'ret', 'call', and 'indirectbr' LLVM IR instruction.
ClosedPublic

Authored by dsanders on Jun 24 2014, 2:50 AM.

Details

Summary

The tests in this directory are intended to test a single IR instruction
with as few dependencies on other instructions as possible. The aim is to
be very confident that each LLVM-IR instruction is implemented correctly and
with the optimal sequence of instructions, as well as to make it easy to tell
what is tested, and make it easier to bring up new ISA revisions in the
future. This gives us a good foundation on which to test bigger things.

These particular tests will allow testing that MIPS32r6/MIPS64r6 generate
the correct return instruction for returns, calls, and indirect branches.
This will be a bit tricky since the assembly text is identical but the
instruction is actually different. On MIPS32r6/MIPS64r6 'jr $rs' has been
removed in favour of the equivalent 'jalr $zero, $rs'. 'jr $rs' remains as
an alias for 'jalr $zero, $rs'.

Diff Detail

Event Timeline

dsanders updated this revision to Diff 10776.Jun 24 2014, 2:50 AM
dsanders retitled this revision from to [mips] Add tests for the 'ret', 'call', and 'indirectbr' LLVM IR instruction..
dsanders updated this object.
dsanders edited the test plan for this revision. (Show Details)
vmedic accepted this revision.Jul 4 2014, 7:15 AM
vmedic edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jul 4 2014, 7:15 AM
dsanders closed this revision.Jul 4 2014, 8:24 AM