This is an archive of the discontinued LLVM Phabricator instance.

[mips] Don't derive the default ABI from the CPU in the backend.
ClosedPublic

Authored by dsanders on Jun 17 2016, 5:32 AM.

Details

Summary

The backend has no reason to behave like a driver and should generally do
as it's told (and error out if it can't) instead of trying to figure out
what the API user meant. The default ABI is still derived from the arch
component as a concession to backwards compatibility.

API-users that previously passed an explicit CPU and a triple that was
inconsistent with the CPU (e.g. mips-linux-gnu and mips64r2) may get a
different ABI to what they got before. However, it's expected that there
are no such users on the basis that CodeGen has been asserting that the
triple is consistent with the selected ABI for several releases. API-users
that were consistent or passed '' or 'generic' as the CPU will see no
difference.

Depends on D21465

Diff Detail

Event Timeline

dsanders updated this revision to Diff 61080.Jun 17 2016, 5:32 AM
dsanders retitled this revision from to [mips] Don't derive the default ABI from the CPU in the backend..
dsanders updated this object.
dsanders added a reviewer: sdardis.
dsanders added a subscriber: llvm-commits.
rafael accepted this revision.Jun 17 2016, 7:18 AM
rafael added a reviewer: rafael.
rafael added a subscriber: rafael.

LGTM using -target-abi= or if the other review gets accepted too.

This revision is now accepted and ready to land.Jun 17 2016, 7:18 AM
dsanders updated this revision to Diff 61666.Jun 23 2016, 5:30 AM
dsanders edited edge metadata.

Extract this patch from the series it was a part of by changing -mabi to
-target-abi. It's now possible to commit this patch without committing the
dependencies first.

dsanders closed this revision.Jun 23 2016, 5:49 AM