This is an archive of the discontinued LLVM Phabricator instance.

[mips] Enable IAS by default for 32-bit MIPS targets (O32).
ClosedPublic

Authored by dsanders on Apr 4 2016, 8:37 AM.

Details

Summary

The MIPS IAS can now pass 'ninja check-all' and recurse now that the immediates
are all range checked properly.

Unfortunately we can't enable it by default for 64-bit targets yet since the N32
ABI is still very buggy and this also means we can't enable it for N64 either
because we can't distinguish between N32 and N64 in the relevant code.

The test changes reflect the formatting preferences of IAS as well as the way
that macro expansion occurs before the assembly text is emitted.

Depends on D18755, D18753

Diff Detail

Event Timeline

dsanders updated this revision to Diff 52561.Apr 4 2016, 8:37 AM
dsanders retitled this revision from to [mips] Enable IAS by default for 32-bit MIPS targets (O32)..
dsanders updated this object.
dsanders added a reviewer: vkalintiris.
dsanders added a subscriber: llvm-commits.
vkalintiris accepted this revision.Apr 7 2016, 2:55 AM
vkalintiris edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Apr 7 2016, 2:55 AM

Thanks. Unfortunately, I'm going to have to hold off on committing this for a bit longer. I've found an interaction between IAS and inline assembly that causes -save-temps to change the behaviour of the code. We expand assembly macros before writing assembly text which causes expansions to happen twice when using -save-temps.

dsanders closed this revision.May 27 2016, 3:37 AM

It seems this didn't autoclose when I committed it.