This is an archive of the discontinued LLVM Phabricator instance.

[mips] The naming convention for private labels is ABI dependant.
ClosedPublic

Authored by dsanders on May 18 2015, 2:39 AM.

Details

Summary

For N32/N64, private labels begin with '.L' but for O32 they begin with '$'.

MCAsmInfo now has an initializer function which can be used to provide information from the TargetMachine to control the assembly syntax.

Diff Detail

Event Timeline

dsanders updated this revision to Diff 25948.May 18 2015, 2:39 AM
dsanders retitled this revision from to [mips] The naming convention for private labels is ABI dependant..
dsanders updated this object.
dsanders edited the test plan for this revision. (Show Details)
dsanders added a reviewer: vkalintiris.
dsanders added subscribers: rafael, Unknown Object (MLST).
vkalintiris edited edge metadata.May 18 2015, 7:13 AM

Won't we have to update the existing tests that depend on this behaviour?
I'm getting the following failures with llvm-lit:

Failing Tests (12):

LLVM :: CodeGen/Mips/analyzebranch.ll
LLVM :: CodeGen/Mips/atomic.ll
LLVM :: CodeGen/Mips/blez_bgez.ll
LLVM :: CodeGen/Mips/blockaddr.ll
LLVM :: CodeGen/Mips/fpbr.ll
LLVM :: CodeGen/Mips/llvm-ir/ashr.ll
LLVM :: CodeGen/Mips/llvm-ir/indirectbr.ll
LLVM :: CodeGen/Mips/llvm-ir/lshr.ll
LLVM :: CodeGen/Mips/llvm-ir/select.ll
LLVM :: CodeGen/Mips/llvm-ir/shl.ll
LLVM :: CodeGen/Mips/longbranch.ll
LLVM :: CodeGen/Mips/octeon.ll

Other than that it looks good to me. Please, update the existing revision if you'd like me to review the tests' changes too.

dsanders updated this revision to Diff 26045.May 19 2015, 3:50 AM
dsanders edited edge metadata.

Now uses the ABI instead of misusing target triples. This required the addition
of an overridable initialization function in MCAsmInfo which provides the ABI
(from the TargetMachine).

Also updated tests.

dsanders updated this object.May 19 2015, 3:51 AM
dsanders updated this object.
vkalintiris accepted this revision.May 20 2015, 3:16 AM
vkalintiris edited edge metadata.
This revision is now accepted and ready to land.May 20 2015, 3:16 AM
dsanders closed this revision.May 20 2015, 6:20 AM