[PATCH] D21466: [mips] Don't derive the default ABI from the CPU in the backend.

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 17 05:32:05 PDT 2016


dsanders created this revision.
dsanders added a reviewer: sdardis.
dsanders added a subscriber: llvm-commits.
dsanders added a dependency: D21465: [llc+llvm-mc] Replace the hidden -target-abi option with a -mabi thats visible in --help..
Herald added subscribers: sdardis, dsanders.

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

http://reviews.llvm.org/D21466

Files:
  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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21466.61080.patch
Type: text/x-patch
Size: 30978 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160617/c2032664/attachment.bin>


More information about the llvm-commits mailing list