OSDN Git Service

[mips] Don't derive the default ABI from the CPU in the backend.
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 23 Jun 2016 12:42:53 +0000 (12:42 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 23 Jun 2016 12:42:53 +0000 (12:42 +0000)
commit43733c2252b69fce8cf2648a6f8d91ebedabb87d
treeb7368f55ba61aeb327a096dc39557d5ea9ad2c03
parentb0b7bd4d1ea8c5fb745c1878c9e9c8e652e93a00
[mips] Don't derive the default ABI from the CPU in the backend.

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.

Reviewers: sdardis, rafael

Subscribers: rafael, dsanders, sdardis, llvm-commits

Differential Revision: http://reviews.llvm.org/D21466

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273557 91177308-0d34-0410-b5e6-96231b3b80d8
33 files changed:
lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
test/CodeGen/Mips/adjust-callstack-sp.ll
test/CodeGen/Mips/compactbranches/compact-branches.ll
test/CodeGen/Mips/elf_eflags.ll
test/CodeGen/Mips/fcmp.ll
test/CodeGen/Mips/interrupt-attr-64-error.ll
test/CodeGen/Mips/llvm-ir/add.ll
test/CodeGen/Mips/llvm-ir/and.ll
test/CodeGen/Mips/llvm-ir/lh_lhu.ll
test/CodeGen/Mips/llvm-ir/mul.ll
test/CodeGen/Mips/llvm-ir/not.ll
test/CodeGen/Mips/llvm-ir/or.ll
test/CodeGen/Mips/llvm-ir/sdiv.ll
test/CodeGen/Mips/llvm-ir/srem.ll
test/CodeGen/Mips/llvm-ir/udiv.ll
test/CodeGen/Mips/llvm-ir/urem.ll
test/CodeGen/Mips/llvm-ir/xor.ll
test/CodeGen/Mips/madd-msub.ll
test/CodeGen/Mips/mips64extins.ll
test/CodeGen/Mips/mips64r6/compatibility.ll
test/CodeGen/Mips/zeroreg.ll
test/MC/Mips/elf_eflags.s
test/MC/Mips/mips64/abiflags.s
test/MC/Mips/mips64r2/abi-bad.s
test/MC/Mips/mips64r2/abiflags.s
test/MC/Mips/mips64r3/abi-bad.s
test/MC/Mips/mips64r3/abiflags.s
test/MC/Mips/mips64r5/abi-bad.s
test/MC/Mips/mips64r5/abiflags.s
test/MC/Mips/mips_abi_flags_xx.s
test/MC/Mips/nooddspreg-cmdarg.s
test/MC/Mips/nooddspreg.s