[IR] Move support for dxil::TypedPointerType to LLVM core IR.
authorJoshua Cranmer <joshua.cranmer@intel.com>
Thu, 4 Aug 2022 14:41:11 +0000 (10:41 -0400)
committerJoshua Cranmer <joshua.cranmer@intel.com>
Thu, 4 Aug 2022 14:41:11 +0000 (10:41 -0400)
commit2138c906458ed37f0f833b1c7dda1bc6c6be8236
tree5a88fe58c8c46ff1724369d1ea3ddcc6094b4bd1
parent448adfee05b737a26dda34e7ae2cd4948760fff0
[IR] Move support for dxil::TypedPointerType to LLVM core IR.

This allows the construct to be shared between different backends. However, it
still remains illegal to use TypedPointerType in LLVM IR--the type is intended
to remain an auxiliary type, not a real LLVM type. So no support is provided for
LLVM-C, nor bitcode, nor LLVM assembly (besides the bare minimum needed to make
Type->dump() work properly).

Reviewed By: beanz, nikic, aeubanks

Differential Revision: https://reviews.llvm.org/D130592
19 files changed:
llvm/include/llvm/IR/LLVMContext.h
llvm/include/llvm/IR/Type.h
llvm/include/llvm/IR/TypedPointerType.h [moved from llvm/lib/Target/DirectX/DXILPointerType.h with 66% similarity]
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/CMakeLists.txt
llvm/lib/IR/Core.cpp
llvm/lib/IR/LLVMContext.cpp
llvm/lib/IR/LLVMContextImpl.h
llvm/lib/IR/TypedPointerType.cpp [new file with mode: 0644]
llvm/lib/IR/Value.cpp
llvm/lib/Target/DirectX/CMakeLists.txt
llvm/lib/Target/DirectX/DXILPointerType.cpp [deleted file]
llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
llvm/lib/Target/DirectX/PointerTypeAnalysis.h
llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
llvm/unittests/IR/TypesTest.cpp
llvm/unittests/Target/DirectX/PointerTypeAnalysisTests.cpp