OSDN Git Service

[IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen...
authorCraig Topper <craig.topper@intel.com>
Thu, 29 Mar 2018 17:21:10 +0000 (17:21 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 29 Mar 2018 17:21:10 +0000 (17:21 +0000)
commitf137ed238db11440f03083b1c88b7ffc0f4af65e
tree308aed3f6f86d9390301fd32b9134c01f9d1d9d4
parent274009662fbefcb213dc29e6e278bb974164e3e5
[IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer.

Currently EVT is in the IR layer only because of Function.cpp needing a very small piece of the functionality of EVT::getEVTString(). The rest of EVT is used in codegen making CodeGen a better place for it.

The previous code converted a Type* to EVT and then called getEVTString. This was only expected to handle the primitive types from Type*. Since there only a few primitive types, we can just print them as strings directly.

Differential Revision: https://reviews.llvm.org/D45017

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328806 91177308-0d34-0410-b5e6-96231b3b80d8
62 files changed:
include/llvm/CodeGen/BasicTTIImpl.h
include/llvm/CodeGen/RuntimeLibcalls.h
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
include/llvm/CodeGen/TargetCallingConv.h
include/llvm/CodeGen/TargetLowering.h
include/llvm/CodeGen/ValueTypes.h [moved from include/llvm/IR/ValueTypes.h with 99% similarity]
lib/CodeGen/AtomicExpandPass.cpp
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGenPrepare.cpp
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/SelectionDAG/StatepointLowering.h
lib/CodeGen/TargetLoweringBase.cpp
lib/CodeGen/ValueTypes.cpp [moved from lib/IR/ValueTypes.cpp with 99% similarity]
lib/IR/CMakeLists.txt
lib/IR/Function.cpp
lib/Target/AArch64/AArch64CallLowering.cpp
lib/Target/AArch64/AArch64FastISel.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64LegalizerInfo.cpp
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
lib/Target/AMDGPU/SIISelLowering.cpp
lib/Target/ARC/ARCISelLowering.cpp
lib/Target/ARM/ARMCallLowering.cpp
lib/Target/ARM/ARMFastISel.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMLegalizerInfo.cpp
lib/Target/ARM/ARMTargetTransformInfo.cpp
lib/Target/BPF/BPFISelLowering.cpp
lib/Target/Hexagon/HexagonISelLowering.cpp
lib/Target/Hexagon/HexagonISelLowering.h
lib/Target/Hexagon/HexagonInstrInfo.h
lib/Target/Lanai/LanaiISelLowering.cpp
lib/Target/MSP430/MSP430ISelLowering.cpp
lib/Target/Mips/MipsCallLowering.h
lib/Target/Mips/MipsFastISel.cpp
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
lib/Target/Mips/MipsLegalizerInfo.cpp
lib/Target/Mips/MipsSEISelLowering.cpp
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
lib/Target/NVPTX/NVPTXISelLowering.cpp
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCISelLowering.h
lib/Target/RISCV/RISCVISelLowering.cpp
lib/Target/X86/X86CallLowering.cpp
lib/Target/X86/X86LegalizerInfo.cpp
lib/Target/XCore/XCoreISelLowering.cpp
unittests/CodeGen/ScalableVectorMVTsTest.cpp