blob: 18f505d8c5928d70f799f5d823239c89727222e4 [file] [log] [blame]
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +00001set(LLVM_LINK_COMPONENTS
Stephen Hines0e2c34f2015-03-23 12:09:02 -07002 Analysis
Stephen Hines651f13c2014-04-23 16:59:28 -07003 BitReader
4 BitWriter
5 Core
6 IPO
7 IRReader
8 InstCombine
9 Instrumentation
10 Linker
11 MC
12 ObjCARCOpts
Stephen Hines6bcf27b2014-05-29 04:14:42 -070013 ProfileData
Stephen Hines651f13c2014-04-23 16:59:28 -070014 ScalarOpts
15 Support
Stephen Hines176edba2014-12-01 14:53:08 -080016 TransformUtils
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +000017 )
18
Stephen Hines176edba2014-12-01 14:53:08 -080019# In a standard Clang+LLVM build, we need to generate intrinsics before
20# building codegen. In a standalone build, LLVM is already built and we don't
21# need this dependency. Furthermore, LLVM doesn't export it so we can't have
22# this dependency.
23set(codegen_deps intrinsics_gen)
24if (CLANG_BUILT_STANDALONE)
25 set(codegen_deps)
26endif()
27
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000028add_clang_library(clangCodeGen
Daniel Dunbar9b414d32010-06-15 17:48:49 +000029 BackendUtil.cpp
John McCallfafaaef2013-03-07 21:37:12 +000030 CGAtomic.cpp
Mike Stump47837872009-02-13 15:42:50 +000031 CGBlocks.cpp
Ted Kremenekb3b73642009-07-15 21:08:41 +000032 CGBuiltin.cpp
Peter Collingbourne6c0aa5f2011-10-06 18:29:37 +000033 CGCUDANV.cpp
34 CGCUDARuntime.cpp
Anders Carlsson5b955922009-11-24 05:51:11 +000035 CGCXX.cpp
Anders Carlsson4992eaf2010-11-28 17:46:52 +000036 CGCXXABI.cpp
Stephen Hines651f13c2014-04-23 16:59:28 -070037 CGCall.cpp
38 CGClass.cpp
John McCall21a7dfc2011-01-28 20:10:46 +000039 CGCleanup.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000040 CGDebugInfo.cpp
41 CGDecl.cpp
Anders Carlsson5ec2e7c2009-12-10 00:16:00 +000042 CGDeclCXX.cpp
Anders Carlsson756b5c42009-10-30 01:42:31 +000043 CGException.cpp
Ted Kremenekb3b73642009-07-15 21:08:41 +000044 CGExpr.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000045 CGExprAgg.cpp
Stephen Hines651f13c2014-04-23 16:59:28 -070046 CGExprCXX.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000047 CGExprComplex.cpp
48 CGExprConstant.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000049 CGExprScalar.cpp
Stephen Hines6bcf27b2014-05-29 04:14:42 -070050 CGLoopInfo.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000051 CGObjC.cpp
52 CGObjCGNU.cpp
53 CGObjCMac.cpp
Anders Carlsson16625e12011-03-25 14:16:48 +000054 CGObjCRuntime.cpp
Peter Collingbourne8c25fc52011-09-19 21:14:35 +000055 CGOpenCLRuntime.cpp
Stephen Hines6bcf27b2014-05-29 04:14:42 -070056 CGOpenMPRuntime.cpp
Stephen Hines651f13c2014-04-23 16:59:28 -070057 CGRecordLayoutBuilder.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000058 CGStmt.cpp
Stephen Hines6bcf27b2014-05-29 04:14:42 -070059 CGStmtOpenMP.cpp
Anders Carlsson58b7eee2010-01-21 16:50:45 +000060 CGVTT.cpp
Stephen Hines651f13c2014-04-23 16:59:28 -070061 CGVTables.cpp
Mark Lacey8b549992013-10-30 21:53:58 +000062 CodeGenABITypes.cpp
Daniel Dunbar9b414d32010-06-15 17:48:49 +000063 CodeGenAction.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000064 CodeGenFunction.cpp
65 CodeGenModule.cpp
Stephen Hines651f13c2014-04-23 16:59:28 -070066 CodeGenPGO.cpp
Daniel Dunbar5259e7e2010-10-15 00:39:31 +000067 CodeGenTBAA.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000068 CodeGenTypes.cpp
Stephen Hines176edba2014-12-01 14:53:08 -080069 CoverageMappingGen.cpp
Charles Davis3a811f12010-05-25 19:52:27 +000070 ItaniumCXXABI.cpp
Charles Davisc3926642010-06-09 23:25:41 +000071 MicrosoftCXXABI.cpp
Oscar Fuentesd2f4e5e2008-10-26 00:56:18 +000072 ModuleBuilder.cpp
Stephen Hines176edba2014-12-01 14:53:08 -080073 SanitizerMetadata.cpp
Anton Korobeynikovf3e27bf2010-01-10 13:06:34 +000074 TargetInfo.cpp
Douglas Gregor71b1d0e2010-05-05 05:41:05 +000075
Stephen Hines651f13c2014-04-23 16:59:28 -070076 DEPENDS
Stephen Hines176edba2014-12-01 14:53:08 -080077 ${codegen_deps}
Chandler Carruthb0d86712012-06-21 01:30:21 +000078
Stephen Hines651f13c2014-04-23 16:59:28 -070079 LINK_LIBS
Chandler Carruthb0d86712012-06-21 01:30:21 +000080 clangAST
Stephen Hines176edba2014-12-01 14:53:08 -080081 clangBasic
Chandler Carruthb0d86712012-06-21 01:30:21 +000082 clangFrontend
Stephen Hines176edba2014-12-01 14:53:08 -080083 clangLex
Chandler Carruthb0d86712012-06-21 01:30:21 +000084 )