[PATCH] D45017: [IR][CodeGen] Remove dependency on EVT from IR/Function.cpp. Move EVT to CodeGen layer.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 28 23:36:47 PDT 2018


craig.topper created this revision.
craig.topper added a reviewer: dblaikie.
Herald added subscribers: niosHD, sabuasal, apazos, jordy.potman.lists, simoncook, johnrusso, rbar, asb, kbarton, javed.absar, mgorny, nhaehnle, nemanjai, sdardis, arsenm, jholewinski.

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.


Repository:
  rL LLVM

https://reviews.llvm.org/D45017

Files:
  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
  include/llvm/IR/ValueTypes.h
  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
  lib/IR/CMakeLists.txt
  lib/IR/Function.cpp
  lib/IR/ValueTypes.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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45017.140189.patch
Type: text/x-patch
Size: 41231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180329/387227cd/attachment.bin>


More information about the llvm-commits mailing list