[PATCH] D13863: Virtualize createMCAsmInfo and add MCTargetMachine subclasses.

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 19 05:52:57 PDT 2015


dsanders created this revision.
dsanders added subscribers: echristo, rengolin, llvm-commits.
dsanders added a dependency: D13860: Add createMCRelocationInfo() and createMCSymbolizer() to MCTargetMachine..
Herald added subscribers: dsanders, jyknight, dschuff, arsenm, jfb, jholewinski.

This allows each MCTargetMachine to pass different information to their
MCAsmInfo subclasses. Each target has been updated to do this.

It also removes the need for each target to register their MCAsmInfo
subclasses since registering MCTargetMachine accomplishes this.

Target-specific changes:
* Sparc: There were two create*MCAsmInfo() functions which were identical
         aside from one constant. These constructors have been merged
         together while preserving this difference.
* Mips: Areas where checking for 64-bit is incorrect have been marked with
        FIXME comments.

Depends on D13860

http://reviews.llvm.org/D13863

Files:
  include/llvm/MC/MCTargetMachine.h
  include/llvm/Support/TargetRegistry.h
  lib/MC/MCTargetMachine.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetMachine.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetMachine.h
  lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.h
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetMachine.cpp
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetMachine.h
  lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
  lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
  lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
  lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  lib/Target/ARM/MCTargetDesc/ARMMCTargetMachine.cpp
  lib/Target/ARM/MCTargetDesc/ARMMCTargetMachine.h
  lib/Target/ARM/MCTargetDesc/CMakeLists.txt
  lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
  lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
  lib/Target/BPF/MCTargetDesc/BPFMCTargetMachine.cpp
  lib/Target/BPF/MCTargetDesc/BPFMCTargetMachine.h
  lib/Target/BPF/MCTargetDesc/CMakeLists.txt
  lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt
  lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
  lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.h
  lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
  lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetMachine.cpp
  lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetMachine.h
  lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
  lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp
  lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h
  lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
  lib/Target/MSP430/MCTargetDesc/MSP430MCTargetMachine.cpp
  lib/Target/MSP430/MCTargetDesc/MSP430MCTargetMachine.h
  lib/Target/Mips/MCTargetDesc/CMakeLists.txt
  lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
  lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
  lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
  lib/Target/Mips/MCTargetDesc/MipsMCTargetMachine.cpp
  lib/Target/Mips/MCTargetDesc/MipsMCTargetMachine.h
  lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt
  lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
  lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
  lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
  lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetMachine.cpp
  lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetMachine.h
  lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
  lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
  lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
  lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
  lib/Target/PowerPC/MCTargetDesc/PPCMCTargetMachine.cpp
  lib/Target/PowerPC/MCTargetDesc/PPCMCTargetMachine.h
  lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
  lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
  lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
  lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
  lib/Target/Sparc/MCTargetDesc/SparcMCTargetMachine.cpp
  lib/Target/Sparc/MCTargetDesc/SparcMCTargetMachine.h
  lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
  lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
  lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
  lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetMachine.cpp
  lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetMachine.h
  lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.h
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetMachine.cpp
  lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetMachine.h
  lib/Target/X86/MCTargetDesc/CMakeLists.txt
  lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
  lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h
  lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
  lib/Target/X86/MCTargetDesc/X86MCTargetMachine.cpp
  lib/Target/X86/MCTargetDesc/X86MCTargetMachine.h
  lib/Target/XCore/MCTargetDesc/CMakeLists.txt
  lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp
  lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h
  lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
  lib/Target/XCore/MCTargetDesc/XCoreMCTargetMachine.cpp
  lib/Target/XCore/MCTargetDesc/XCoreMCTargetMachine.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13863.37744.patch
Type: text/x-patch
Size: 100778 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151019/951f7c28/attachment-0001.bin>


More information about the llvm-commits mailing list