llvm-project/clang/lib/AST/CMakeLists.txt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

150 lines
3.1 KiB
CMake
Raw Normal View History

2017-06-07 04:48:45 +00:00
set(LLVM_LINK_COMPONENTS
BinaryFormat
Core
FrontendOpenMP
2017-06-07 04:48:45 +00:00
Support
[Support] Move TargetParsers to new component This is a fairly large changeset, but it can be broken into a few pieces: - `llvm/Support/*TargetParser*` are all moved from the LLVM Support component into a new LLVM Component called "TargetParser". This potentially enables using tablegen to maintain this information, as is shown in https://reviews.llvm.org/D137517. This cannot currently be done, as llvm-tblgen relies on LLVM's Support component. - This also moves two files from Support which use and depend on information in the TargetParser: - `llvm/Support/Host.{h,cpp}` which contains functions for inspecting the current Host machine for info about it, primarily to support getting the host triple, but also for `-mcpu=native` support in e.g. Clang. This is fairly tightly intertwined with the information in `X86TargetParser.h`, so keeping them in the same component makes sense. - `llvm/ADT/Triple.h` and `llvm/Support/Triple.cpp`, which contains the target triple parser and representation. This is very intertwined with the Arm target parser, because the arm architecture version appears in canonical triples on arm platforms. - I moved the relevant unittests to their own directory. And so, we end up with a single component that has all the information about the following, which to me seems like a unified component: - Triples that LLVM Knows about - Architecture names and CPUs that LLVM knows about - CPU detection logic for LLVM Given this, I have also moved `RISCVISAInfo.h` into this component, as it seems to me to be part of that same set of functionality. If you get link errors in your components after this patch, you likely need to add TargetParser into LLVM_LINK_COMPONENTS in CMake. Differential Revision: https://reviews.llvm.org/D137838
2022-12-20 10:24:02 +00:00
TargetParser
2017-06-07 04:48:45 +00:00
)
# FIXME: the entry points to the interpreter should be moved out of clangAST
# into the parser or Sema in order to allow the interpreter to be moved to
# another library which depends on clangAST.
clang_tablegen(Opcodes.inc
-gen-clang-opcodes
SOURCE ByteCode/Opcodes.td
TARGET Opcodes)
clang_tablegen(AttrDocTable.inc -gen-clang-attr-doc-table
-I ${CMAKE_CURRENT_SOURCE_DIR}/../../include/
SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/../../include/clang/Basic/Attr.td
TARGET ClangAttrDocTable)
add_clang_library(clangAST
APValue.cpp
ASTConcept.cpp
ASTConsumer.cpp
ASTContext.cpp
ASTDiagnostic.cpp
ASTDumper.cpp
ASTImporter.cpp
ASTImporterLookupTable.cpp
ASTStructuralEquivalence.cpp
ASTTypeTraits.cpp
AttrDocTable.cpp
AttrImpl.cpp
Availability.cpp
Comment.cpp
CommentBriefParser.cpp
CommentCommandTraits.cpp
CommentLexer.cpp
CommentParser.cpp
CommentSema.cpp
ComparisonCategories.cpp
ComputeDependence.cpp
CXXInheritance.cpp
DataCollection.cpp
Decl.cpp
DeclarationName.cpp
DeclBase.cpp
DeclCXX.cpp
DeclFriend.cpp
DeclGroup.cpp
DeclObjC.cpp
DeclOpenACC.cpp
DeclOpenMP.cpp
DeclPrinter.cpp
DeclTemplate.cpp
DynamicRecursiveASTVisitor.cpp
ParentMapContext.cpp
Expr.cpp
ExprClassification.cpp
ExprConcepts.cpp
ExprConstant.cpp
ExprCXX.cpp
ExprObjC.cpp
ExternalASTMerger.cpp
2011-02-28 14:32:11 +00:00
ExternalASTSource.cpp
FormatString.cpp
InheritViz.cpp
ByteCode/BitcastBuffer.cpp
ByteCode/ByteCodeEmitter.cpp
ByteCode/Compiler.cpp
ByteCode/Context.cpp
ByteCode/Descriptor.cpp
ByteCode/Disasm.cpp
ByteCode/EvalEmitter.cpp
ByteCode/Frame.cpp
ByteCode/Function.cpp
ByteCode/FunctionPointer.cpp
ByteCode/InterpBuiltin.cpp
ByteCode/InterpBuiltinBitCast.cpp
ByteCode/Floating.cpp
ByteCode/EvaluationResult.cpp
ByteCode/DynamicAllocator.cpp
ByteCode/Interp.cpp
ByteCode/InterpBlock.cpp
ByteCode/InterpFrame.cpp
ByteCode/InterpStack.cpp
ByteCode/InterpState.cpp
ByteCode/Pointer.cpp
ByteCode/PrimType.cpp
ByteCode/Program.cpp
ByteCode/Record.cpp
ByteCode/Source.cpp
ByteCode/State.cpp
ByteCode/MemberPointer.cpp
ByteCode/InterpShared.cpp
ItaniumCXXABI.cpp
ItaniumMangle.cpp
JSONNodeDumper.cpp
Mangle.cpp
MicrosoftCXXABI.cpp
MicrosoftMangle.cpp
2009-03-19 00:18:19 +00:00
NestedNameSpecifier.cpp
NSAPI.cpp
ODRDiagsEmitter.cpp
ODRHash.cpp
OpenACCClause.cpp
OpenMPClause.cpp
OSLog.cpp
ParentMap.cpp
PrintfFormatString.cpp
QualTypeNames.cpp
Randstruct.cpp
RawCommentList.cpp
RecordLayout.cpp
2009-07-19 00:40:45 +00:00
RecordLayoutBuilder.cpp
ScanfFormatString.cpp
SelectorLocationsKind.cpp
Stmt.cpp
StmtCXX.cpp
StmtIterator.cpp
StmtObjC.cpp
StmtOpenACC.cpp
StmtOpenMP.cpp
StmtPrinter.cpp
StmtProfile.cpp
StmtViz.cpp
TemplateBase.cpp
TemplateName.cpp
TextNodeDumper.cpp
Type.cpp
2009-08-19 12:02:15 +00:00
TypeLoc.cpp
TypePrinter.cpp
VTableBuilder.cpp
VTTBuilder.cpp
LINK_LIBS
clangBasic
clangLex
DEPENDS
ClangAttrDocTable
Opcodes
omp_gen
ClangDriverOptions
intrinsics_gen
# These generated headers are included transitively.
AArch64TargetParserTableGen
)