[PATCH] Move the DataLayout to the generic TargetMachine, making it mandatory.

Mehdi AMINI mehdi.amini at apple.com
Tue Mar 10 22:52:20 PDT 2015


Hi echristo,

I don't know why every singled backend had to redeclare its own DataLayout.
There was a virtual getDataLayout() on the common base TargetMachine, the
default implementation returned nullptr. It was not clear from this that
we could assume at call site that a DataLayout will be available with 
each Target.

Now getDataLayout() is no longer virtual and return a pointer to the
DataLayout member of the common base TargetMachine. I plan to turn it into
a reference in a future patch.

The only backend that didn't have a DataLayout previsouly was the CPPBackend. 
It now initializes the default DataLayout. This commit is NFC for all the 
other backends.

http://reviews.llvm.org/D8243

Files:
  include/llvm/Target/TargetMachine.h
  lib/CodeGen/LLVMTargetMachine.cpp
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AArch64/AArch64TargetMachine.h
  lib/Target/ARM/ARMTargetMachine.cpp
  lib/Target/ARM/ARMTargetMachine.h
  lib/Target/BPF/BPFTargetMachine.cpp
  lib/Target/BPF/BPFTargetMachine.h
  lib/Target/CppBackend/CPPTargetMachine.h
  lib/Target/Hexagon/HexagonTargetMachine.cpp
  lib/Target/Hexagon/HexagonTargetMachine.h
  lib/Target/MSP430/MSP430TargetMachine.cpp
  lib/Target/MSP430/MSP430TargetMachine.h
  lib/Target/Mips/MipsTargetMachine.cpp
  lib/Target/Mips/MipsTargetMachine.h
  lib/Target/NVPTX/NVPTXTargetMachine.cpp
  lib/Target/NVPTX/NVPTXTargetMachine.h
  lib/Target/PowerPC/PPCTargetMachine.cpp
  lib/Target/PowerPC/PPCTargetMachine.h
  lib/Target/R600/AMDGPUTargetMachine.cpp
  lib/Target/R600/AMDGPUTargetMachine.h
  lib/Target/Sparc/SparcTargetMachine.cpp
  lib/Target/Sparc/SparcTargetMachine.h
  lib/Target/SystemZ/SystemZTargetMachine.cpp
  lib/Target/SystemZ/SystemZTargetMachine.h
  lib/Target/TargetMachine.cpp
  lib/Target/X86/X86TargetMachine.cpp
  lib/Target/X86/X86TargetMachine.h
  lib/Target/XCore/XCoreTargetMachine.cpp
  lib/Target/XCore/XCoreTargetMachine.h

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8243.21679.patch
Type: text/x-patch
Size: 29984 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150311/7447d7f4/attachment.bin>


More information about the llvm-commits mailing list