This reduces dependencies on llvm-tblgen so much.
CodeGenTypes depends on Support at the moment.
Be careful to append deps on this, since Targets' tablegens
depend on this.
Depends on D149024
Paths
| Differential D148769
Split out `CodeGenTypes` from `CodeGen` for LLT/MVT ClosedPublic Authored by chapuni on Apr 19 2023, 5:47 PM.
Details Summary This reduces dependencies on llvm-tblgen so much. CodeGenTypes depends on Support at the moment. Depends on D149024
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 19 2023, 5:47 PM Herald added subscribers: llvm-commits, cfe-commits, • pcwang-thead and 3 others. · View Herald Transcript chapuni added a child revision: D148770: Switch `llvm/CodeGen/MachineValueType.h` to the generated one.Apr 19 2023, 5:51 PM chapuni edited parent revisions, added: D149024: Restore CodeGen/MachineValueType.h from `Support`; removed: D148767: Restore CodeGen/LowLevelType from `Support`.Apr 23 2023, 9:28 AM chapuni retitled this revision from Split out `CodeGenTypes` from `CodeGen` for LLT/MVT/VT to Split out `CodeGenTypes` from `CodeGen` for LLT/MVT.Apr 23 2023, 9:36 AM Comment Actions I feel like this should have documentation explaining the library split, but not sure where the best place to put that would be This revision is now accepted and ready to land.Apr 25 2023, 7:03 PM Comment Actions I am certain this works, though, I would like to ask the 2nd opinion to @dblaikie .
I think better it may be put in front of add_library(LLVMCodeGenTypes), at the moment. Comment Actions I wouldn't mind a follow-up commit that creates a new/separate directory (llvm/{lib,include/llvm}/CodeGenTypes) but that's probably a lot of unnecessary churn too, so I can appreciate the argument against it - if folks reckon it's better this way, that's OK too. It can just get a bit confusing when the directory/naming doesn't match the layering, etc. Might make it more likely someone regresses these boundaries by introducing new dependencies that break the layering here. This revision was landed with ongoing or failed builds.May 2 2023, 8:18 AM Closed by commit rG5d71ec6e448f: Split out `CodeGenTypes` from `CodeGen` for LLT/MVT (authored by chapuni). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions
I'd really like to see this. That's how virtually all LLVM libraries are laid out, and it removes the PARTIAL_SOURCES_INTENDED kludge.
Revision Contents
Diff 518146 clang/lib/CodeGen/CMakeLists.txt
llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
llvm/lib/CodeGen/CMakeLists.txt
llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
llvm/lib/CodeGen/MIRParser/CMakeLists.txt
llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
llvm/lib/DWARFLinker/CMakeLists.txt
llvm/lib/LTO/CMakeLists.txt
llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt
llvm/lib/Target/AArch64/CMakeLists.txt
llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
llvm/lib/Target/AMDGPU/CMakeLists.txt
llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
llvm/lib/Target/AMDGPU/MCA/CMakeLists.txt
llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
llvm/lib/Target/ARC/CMakeLists.txt
llvm/lib/Target/ARC/Disassembler/CMakeLists.txt
llvm/lib/Target/ARM/AsmParser/CMakeLists.txt
llvm/lib/Target/ARM/CMakeLists.txt
llvm/lib/Target/ARM/Disassembler/CMakeLists.txt
llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/AVR/AsmParser/CMakeLists.txt
llvm/lib/Target/AVR/CMakeLists.txt
llvm/lib/Target/AVR/Disassembler/CMakeLists.txt
llvm/lib/Target/BPF/CMakeLists.txt
llvm/lib/Target/CSKY/CMakeLists.txt
llvm/lib/Target/CSKY/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/DirectX/CMakeLists.txt
llvm/lib/Target/Hexagon/CMakeLists.txt
llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt
llvm/lib/Target/Lanai/CMakeLists.txt
llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt
llvm/lib/Target/LoongArch/CMakeLists.txt
llvm/lib/Target/M68k/AsmParser/CMakeLists.txt
llvm/lib/Target/M68k/CMakeLists.txt
llvm/lib/Target/M68k/Disassembler/CMakeLists.txt
llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt
llvm/lib/Target/MSP430/CMakeLists.txt
llvm/lib/Target/Mips/CMakeLists.txt
llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/NVPTX/CMakeLists.txt
llvm/lib/Target/PowerPC/CMakeLists.txt
llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/RISCV/CMakeLists.txt
llvm/lib/Target/RISCV/MCA/CMakeLists.txt
llvm/lib/Target/SPIRV/CMakeLists.txt
llvm/lib/Target/SPIRV/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/Sparc/CMakeLists.txt
llvm/lib/Target/SystemZ/CMakeLists.txt
llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/VE/AsmParser/CMakeLists.txt
llvm/lib/Target/VE/CMakeLists.txt
llvm/lib/Target/VE/Disassembler/CMakeLists.txt
llvm/lib/Target/VE/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt
llvm/lib/Target/WebAssembly/CMakeLists.txt
llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt
llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/WebAssembly/Utils/CMakeLists.txt
llvm/lib/Target/X86/CMakeLists.txt
llvm/lib/Target/X86/MCA/CMakeLists.txt
llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
llvm/lib/Target/XCore/CMakeLists.txt
llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
llvm/tools/dsymutil/CMakeLists.txt
llvm/tools/llc/CMakeLists.txt
llvm/tools/llvm-dwarfutil/CMakeLists.txt
llvm/tools/llvm-exegesis/CMakeLists.txt
llvm/tools/llvm-exegesis/lib/AArch64/CMakeLists.txt
llvm/tools/llvm-exegesis/lib/CMakeLists.txt
llvm/tools/llvm-exegesis/lib/Mips/CMakeLists.txt
llvm/tools/llvm-exegesis/lib/PowerPC/CMakeLists.txt
llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt
llvm/tools/llvm-reduce/CMakeLists.txt
llvm/unittests/CodeGen/CMakeLists.txt
llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
llvm/unittests/MI/CMakeLists.txt
llvm/unittests/MIR/CMakeLists.txt
llvm/unittests/Target/AArch64/CMakeLists.txt
llvm/unittests/Target/AMDGPU/CMakeLists.txt
llvm/unittests/Target/ARM/CMakeLists.txt
llvm/unittests/Target/LoongArch/CMakeLists.txt
llvm/unittests/Target/WebAssembly/CMakeLists.txt
llvm/unittests/Target/X86/CMakeLists.txt
llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
llvm/utils/TableGen/CMakeLists.txt
llvm/utils/TableGen/GlobalISel/CMakeLists.txt
utils/bazel/llvm-project-overlay/clang/BUILD.bazel
utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
|