This is an archive of the discontinued LLVM Phabricator instance.

[mips][mips16] Re-work the inline assembly stubs to work with IAS. NFC.
ClosedPublic

Authored by dsanders on Oct 12 2015, 7:47 AM.

Details

Summary

Previously, we were inserting an InlineAsm statement for each line of the
inline assembly. This works for GAS but it triggers prologue/epilogue
emission when IAS is in use. This caused:

.set noreorder
.cpload $25

to be emitted as:

.set push
.set reorder
.set noreorder
.set pop
.set push
.set reorder
.cpload $25
.set pop

which led to assembler errors and caused the test to fail.

The whitespace-after-comma changes included in this patch are necessary to
match the output when IAS is in use.

Diff Detail

Repository
rL LLVM

Event Timeline

dsanders updated this revision to Diff 37110.Oct 12 2015, 7:47 AM
dsanders retitled this revision from to [mips][mips16] Re-work the inline assembly stubs to work with IAS. NFC..
dsanders updated this object.
dsanders added a reviewer: vkalintiris.
dsanders added subscribers: llvm-commits, rkotler.
vkalintiris accepted this revision.Oct 20 2015, 5:40 AM
vkalintiris edited edge metadata.

LGTM.

lib/Target/Mips/Mips16HardFloat.cpp
44–52 ↗(On Diff #37110)

clang-format reformats this bit.

This revision is now accepted and ready to land.Oct 20 2015, 5:40 AM
This revision was automatically updated to reflect the committed changes.

Thanks

lib/Target/Mips/Mips16HardFloat.cpp
44–52 ↗(On Diff #37110)

Fixed in the commit