[PATCH] D22301: Don't ignore MCTargetOptions::ABIName on targets that currently do so.

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 13 05:53:37 PDT 2016


dsanders created this revision.
dsanders added subscribers: llvm-commits, rafael, echristo.
dsanders added a dependency: D21069: [mips] Require that ABI's are passed in the triple within LLVM..
Herald added a reviewer: tstellarAMD.
Herald added subscribers: jyknight, arsenm, jfb, aemerson, jholewinski.

This makes these targets consistent with ARM/PowerPC in that they
technically accept ABI information via MCTargetOptions::ABIName but they
only implement one ABI (the empty string).

AArch64 is slightly special in that it also accepts "aapcs" and "darwinpcs"
in addition to the empty string. These names are only used in Clang and
have no functional effect on the backend.

X86 is somewhat special in that it's the only target that supports multiple
ABI's but only accepts the empty string. I can define "32", "x32", and "64"
if that's desirable but it's not necessary for functionality.

No corresponding change is required to clang because targets that don't pass
-target-abi get the empty string by default and those that need to pass it
already do so.

Depends on D21069

http://reviews.llvm.org/D22301

Files:
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  lib/Target/AVR/AVRTargetMachine.cpp
  lib/Target/BPF/BPFTargetMachine.cpp
  lib/Target/Hexagon/HexagonTargetMachine.cpp
  lib/Target/Lanai/LanaiTargetMachine.cpp
  lib/Target/MSP430/MSP430TargetMachine.cpp
  lib/Target/NVPTX/NVPTXTargetMachine.cpp
  lib/Target/Sparc/SparcTargetMachine.cpp
  lib/Target/SystemZ/SystemZTargetMachine.cpp
  lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  lib/Target/X86/X86TargetMachine.cpp
  lib/Target/XCore/XCoreTargetMachine.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22301.63798.patch
Type: text/x-patch
Size: 6899 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160713/dc947104/attachment.bin>


More information about the llvm-commits mailing list