Move the DataLayout to the generic TargetMachine, making it mandatory.
Summary: 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. Test Plan: clang+llvm ninja check-all Reviewers: echristo Subscribers: jfb, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8243 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231987
Showing
- llvm/include/llvm/Target/TargetMachine.h 11 additions, 8 deletionsllvm/include/llvm/Target/TargetMachine.h
- llvm/lib/CodeGen/LLVMTargetMachine.cpp 5 additions, 4 deletionsllvm/lib/CodeGen/LLVMTargetMachine.cpp
- llvm/lib/Target/AArch64/AArch64TargetMachine.cpp 17 additions, 9 deletionsllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
- llvm/lib/Target/AArch64/AArch64TargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/AArch64/AArch64TargetMachine.h
- llvm/lib/Target/ARM/ARMTargetMachine.cpp 8 additions, 6 deletionsllvm/lib/Target/ARM/ARMTargetMachine.cpp
- llvm/lib/Target/ARM/ARMTargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/ARM/ARMTargetMachine.h
- llvm/lib/Target/BPF/BPFTargetMachine.cpp 2 additions, 2 deletionsllvm/lib/Target/BPF/BPFTargetMachine.cpp
- llvm/lib/Target/BPF/BPFTargetMachine.h 0 additions, 1 deletionllvm/lib/Target/BPF/BPFTargetMachine.h
- llvm/lib/Target/CppBackend/CPPTargetMachine.h 5 additions, 5 deletionsllvm/lib/Target/CppBackend/CPPTargetMachine.h
- llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp 3 additions, 2 deletionsllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
- llvm/lib/Target/Hexagon/HexagonTargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/Hexagon/HexagonTargetMachine.h
- llvm/lib/Target/MSP430/MSP430TargetMachine.cpp 3 additions, 2 deletionsllvm/lib/Target/MSP430/MSP430TargetMachine.cpp
- llvm/lib/Target/MSP430/MSP430TargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/MSP430/MSP430TargetMachine.h
- llvm/lib/Target/Mips/MipsTargetMachine.cpp 8 additions, 4 deletionsllvm/lib/Target/Mips/MipsTargetMachine.cpp
- llvm/lib/Target/Mips/MipsTargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/Mips/MipsTargetMachine.h
- llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp 4 additions, 3 deletionsllvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
- llvm/lib/Target/NVPTX/NVPTXTargetMachine.h 0 additions, 2 deletionsllvm/lib/Target/NVPTX/NVPTXTargetMachine.h
- llvm/lib/Target/PowerPC/PPCTargetMachine.cpp 3 additions, 3 deletionsllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
- llvm/lib/Target/PowerPC/PPCTargetMachine.h 0 additions, 3 deletionsllvm/lib/Target/PowerPC/PPCTargetMachine.h
- llvm/lib/Target/R600/AMDGPUTargetMachine.cpp 4 additions, 4 deletionsllvm/lib/Target/R600/AMDGPUTargetMachine.cpp
Loading
Please register or sign in to comment