blob: b79b407685aa88fe1311b5efff9dac3fe6f5ad7f [file] [log] [blame]
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00001add_llvm_library(LLVMCodeGen
David Goodwinde11f362009-10-26 19:32:42 +00002 AggressiveAntiDepBreaker.cpp
Jakob Stoklund Olesen0c67e012010-12-10 18:36:02 +00003 AllocationOrder.cpp
Ted Kremenekd52caa52010-06-15 04:08:14 +00004 Analysis.cpp
Robin Morisset59c23cd2014-08-21 21:50:01 +00005 AtomicExpandPass.cpp
Chandler Carruth664e3542013-01-07 01:37:14 +00006 BasicTargetTransformInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00007 BranchFolding.cpp
Matt Arsenault36919a42016-10-06 15:38:53 +00008 BranchRelaxation.cpp
Marina Yatsina0bf841a2018-01-22 10:06:50 +00009 BreakFalseDeps.cpp
Philip Reames31955002016-01-19 03:57:18 +000010 BuiltinGCs.cpp
Lang Hamesc73ca2b2009-12-14 07:43:25 +000011 CalcSpillWeights.cpp
Dan Gohman498e5f82010-07-07 15:15:27 +000012 CallingConvLower.cpp
Owen Anderson80fc0762010-10-07 18:41:20 +000013 CodeGen.cpp
Quentin Colombeta3490842014-02-22 00:07:45 +000014 CodeGenPrepare.cpp
David Goodwin83704852009-10-26 16:59:04 +000015 CriticalAntiDepBreaker.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000016 DeadMachineInstructionElim.cpp
Matthias Braunfbe85ae2016-04-28 03:07:16 +000017 DetectDeadLanes.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000018 DFAPacketizer.cpp
Duncan Sandsd6fb6502009-05-22 20:36:31 +000019 DwarfEHPrepare.cpp
Jakob Stoklund Olesenf8a63a12012-07-04 00:09:54 +000020 EarlyIfConversion.cpp
Jakob Stoklund Olesenf96ae682011-01-04 21:10:05 +000021 EdgeBundles.cpp
Marina Yatsina3d8efa42018-01-22 10:06:33 +000022 ExecutionDomainFix.cpp
Dan Gohmanc2b78612010-11-18 18:45:06 +000023 ExpandISelPseudos.cpp
Clement Courbet063bed92017-11-03 12:12:27 +000024 ExpandMemCmp.cpp
Jakob Stoklund Olesenf152df12011-09-25 16:46:00 +000025 ExpandPostRAPseudos.cpp
Amara Emerson836b0f42017-05-10 09:42:49 +000026 ExpandReductions.cpp
Sanjoy Dasc63244d2015-06-15 18:44:08 +000027 FaultMaps.cpp
Nirav Davea7c041d2017-01-31 17:00:27 +000028 FEntryInserter.cpp
David Majnemer97890232015-09-17 20:45:18 +000029 FuncletLayout.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000030 GCMetadata.cpp
31 GCMetadataPrinter.cpp
Philip Reamesf27f3732015-01-15 19:29:42 +000032 GCRootLowering.cpp
Philip Reames56a03932015-01-26 18:26:35 +000033 GCStrategy.cpp
Jiangning Liu96e92c12014-06-13 22:57:59 +000034 GlobalMerge.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000035 IfConversion.cpp
Sanjoy Das69fad072015-06-15 18:44:27 +000036 ImplicitNullChecks.cpp
Chandler Carruthc58f2162018-01-22 22:05:25 +000037 IndirectBrExpandPass.cpp
Jakob Stoklund Olesenf8889112010-06-29 23:58:39 +000038 InlineSpiller.cpp
Jakob Stoklund Olesen91cbcaf2011-04-02 06:03:35 +000039 InterferenceCache.cpp
Hao Liu1c1e0c92015-06-26 02:10:27 +000040 InterleavedAccessPass.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000041 IntrinsicLowering.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +000042 LatencyPriorityQueue.cpp
Adam Nemetbbb141c2017-02-14 17:21:09 +000043 LazyMachineBlockFrequencyInfo.cpp
Devang Patele1649c32011-08-10 19:04:06 +000044 LexicalScopes.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000045 LiveDebugValues.cpp
Jakob Stoklund Olesend4900a62010-11-30 02:17:10 +000046 LiveDebugVariables.cpp
Matthias Braunf8422972017-12-13 02:51:04 +000047 LiveIntervals.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000048 LiveInterval.cpp
Andrew Trick1c246052010-10-22 23:09:15 +000049 LiveIntervalUnion.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000050 LivePhysRegs.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000051 LiveRangeCalc.cpp
52 LiveRangeEdit.cpp
Dehao Chen6b737dd2017-05-31 23:25:25 +000053 LiveRangeShrink.cpp
Jakob Stoklund Olesenc26fbbf2012-06-09 02:13:10 +000054 LiveRegMatrix.cpp
Matthias Braun710a4c12017-01-20 00:16:14 +000055 LiveRegUnits.cpp
Matthias Braunef959692017-12-18 23:19:44 +000056 LiveStacks.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000057 LiveVariables.cpp
Matthias Braunbb8507e2017-10-12 22:57:28 +000058 LLVMTargetMachine.cpp
Ted Kremenekda2eba52010-08-14 01:55:09 +000059 LocalStackSlotAllocation.cpp
Marina Yatsina0bf841a2018-01-22 10:06:50 +000060 LoopTraversal.cpp
Tim Northover62ae5682016-07-20 19:09:30 +000061 LowLevelType.cpp
Chih-Hung Hsieh57886402016-01-13 23:56:37 +000062 LowerEmuTLS.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000063 MachineBasicBlock.cpp
Jakub Staszak875ebd52011-07-25 19:25:40 +000064 MachineBlockFrequencyInfo.cpp
Chandler Carruth10281422011-10-21 06:46:38 +000065 MachineBlockPlacement.cpp
Jakub Staszak12a43bd2011-06-16 20:22:37 +000066 MachineBranchProbabilityInfo.cpp
Gerolf Hoflehner5e1207e2014-08-03 21:35:39 +000067 MachineCombiner.cpp
Evan Cheng00b1a3c2012-01-07 03:02:36 +000068 MachineCopyPropagation.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000069 MachineCSE.cpp
Matt Arsenault4181ea32014-07-12 21:59:52 +000070 MachineDominanceFrontier.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000071 MachineDominators.cpp
Matthias Braune4e14ae2017-04-26 23:36:58 +000072 MachineFrameInfo.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000073 MachineFunction.cpp
Ted Kremenekdefdbdc2009-07-31 18:50:22 +000074 MachineFunctionPass.cpp
David Greene9b063df2010-04-02 23:17:14 +000075 MachineFunctionPrinterPass.cpp
NAKAMURA Takumi4c5ab7b2011-12-14 03:50:53 +000076 MachineInstrBundle.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000077 MachineInstr.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000078 MachineLICM.cpp
79 MachineLoopInfo.cpp
80 MachineModuleInfo.cpp
Xerxes Ranby230c7172009-09-16 10:18:36 +000081 MachineModuleInfoImpls.cpp
Francis Visoiu Mistrihaa739692017-11-28 17:58:43 +000082 MachineOperand.cpp
Adam Nemeta9640662017-01-25 23:20:33 +000083 MachineOptimizationRemarkEmitter.cpp
Jessica Paquette596f4832017-03-06 21:31:18 +000084 MachineOutliner.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000085 MachinePassRegistry.cpp
Brendon Cahoon254f8892016-07-29 16:44:44 +000086 MachinePipeliner.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000087 MachinePostDominators.cpp
Matt Arsenault1b8d8372014-07-19 18:29:29 +000088 MachineRegionInfo.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000089 MachineRegisterInfo.cpp
Andrew Tricke77e84e2012-01-13 06:30:30 +000090 MachineScheduler.cpp
Ted Kremenek451a9652010-01-13 01:02:47 +000091 MachineSink.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000092 MachineSSAUpdater.cpp
Jakob Stoklund Olesenf9029fe2012-07-26 18:38:11 +000093 MachineTraceMetrics.cpp
Jakob Stoklund Olesen36c027a2009-05-16 00:33:53 +000094 MachineVerifier.cpp
Sanjoy Dasc0441c22016-04-19 05:24:47 +000095 PatchableFunction.cpp
Alex Lorenz345c1442015-06-15 23:52:35 +000096 MIRPrinter.cpp
Alex Lorenz2bdb4e12015-05-27 18:02:19 +000097 MIRPrintingPass.cpp
Florian Hahn5f746c82017-06-19 12:53:31 +000098 MacroFusion.cpp
Bob Wilson0827e042010-02-12 01:30:21 +000099 OptimizePHIs.cpp
Peter Collingbournec269ed52015-08-27 23:37:36 +0000100 ParallelCG.cpp
Bill Wendling88451402010-08-10 05:16:06 +0000101 PeepholeOptimizer.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000102 PHIElimination.cpp
103 PHIEliminationUtils.cpp
Tom Stellardee346802016-04-22 14:43:50 +0000104 PostRAHazardRecognizer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000105 PostRASchedulerList.cpp
Peter Collingbourne7dd8dbf2016-04-22 21:18:02 +0000106 PreISelIntrinsicLowering.cpp
Douglas Gregor90790c72009-11-04 01:32:06 +0000107 ProcessImplicitDefs.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000108 PrologEpilogInserter.cpp
109 PseudoSourceValue.cpp
Marina Yatsina0bf841a2018-01-22 10:06:50 +0000110 ReachingDefAnalysis.cpp
Jakob Stoklund Olesena818d802012-01-11 22:28:30 +0000111 RegAllocBase.cpp
Andrew Trick1c246052010-10-22 23:09:15 +0000112 RegAllocBasic.cpp
Jakob Stoklund Olesen8a070a52010-04-21 18:02:42 +0000113 RegAllocFast.cpp
Jakob Stoklund Olesenb8812a12010-12-08 03:26:16 +0000114 RegAllocGreedy.cpp
Oscar Fuentesb5abd782008-10-04 21:18:50 +0000115 RegAllocPBQP.cpp
Jakob Stoklund Olesenc58894b2011-06-02 02:19:35 +0000116 RegisterClassInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000117 RegisterCoalescer.cpp
Andrew Trick26bdff92012-04-24 18:06:49 +0000118 RegisterPressure.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000119 RegisterScavenging.cpp
Matthias Braunf9acaca2016-05-31 22:38:06 +0000120 RenameIndependentSubregs.cpp
Puyan Lotfia521c4ac52017-11-02 23:37:32 +0000121 MIRCanonicalizerPass.cpp
Mehdi Aminibbacddf2016-06-10 16:19:46 +0000122 RegisterUsageInfo.cpp
123 RegUsageInfoCollector.cpp
Mehdi Amini1d396832016-06-10 18:37:21 +0000124 RegUsageInfoPropagate.cpp
Quentin Colombet374796d2016-08-27 00:18:31 +0000125 ResetMachineFunctionPass.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000126 SafeStack.cpp
Evgeniy Stepanova5da2562016-06-29 20:37:43 +0000127 SafeStackColoring.cpp
128 SafeStackLayout.cpp
Ayman Musac5490e52017-05-15 11:30:54 +0000129 ScalarizeMaskedMemIntrin.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +0000130 ScheduleDAG.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +0000131 ScheduleDAGInstrs.cpp
132 ScheduleDAGPrinter.cpp
Chris Lattner878665b2011-01-09 21:31:39 +0000133 ScoreboardHazardRecognizer.cpp
Philip Reames23cf2e22015-01-28 19:28:03 +0000134 ShadowStackGCLowering.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000135 ShrinkWrap.cpp
Benjamin Kramer436bd9f2009-08-17 18:47:11 +0000136 SjLjEHPrepare.cpp
Douglas Gregor90790c72009-11-04 01:32:06 +0000137 SlotIndexes.cpp
Jakob Stoklund Olesen8e236ea2011-01-06 01:21:53 +0000138 SpillPlacement.cpp
Jakob Stoklund Olesen36d12c62010-07-20 15:41:07 +0000139 SplitKit.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +0000140 StackColoring.cpp
Juergen Ributzkae8294752013-12-14 06:53:06 +0000141 StackMapLivenessAnalysis.cpp
Andrew Trick153ebe62013-10-31 22:11:56 +0000142 StackMaps.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000143 StackProtector.cpp
144 StackSlotColoring.cpp
Bob Wilson2d4ff122009-11-26 00:32:21 +0000145 TailDuplication.cpp
Kyle Butt3232dbb2016-04-08 20:35:01 +0000146 TailDuplicator.cpp
Nick Lewyckyc9e935c2011-12-15 22:58:58 +0000147 TargetFrameLoweringImpl.cpp
Jakob Stoklund Olesenfcf14e82012-11-28 02:35:09 +0000148 TargetInstrInfo.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +0000149 TargetLoweringBase.cpp
Anton Korobeynikov1be2063a2010-02-15 22:55:13 +0000150 TargetLoweringObjectFileImpl.cpp
Nick Lewyckyc9e935c2011-12-15 22:58:58 +0000151 TargetOptionsImpl.cpp
Matthias Braun31d19d42016-05-10 03:21:59 +0000152 TargetPassConfig.cpp
Jakob Stoklund Olesenfcf14e82012-11-28 02:35:09 +0000153 TargetRegisterInfo.cpp
Andrew Trickd2a19da2012-09-14 20:26:46 +0000154 TargetSchedule.cpp
Matthias Braun7f423442016-11-22 22:09:03 +0000155 TargetSubtargetInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000156 TwoAddressInstructionPass.cpp
157 UnreachableBlockElim.cpp
Craig Topper2fa14362018-03-29 17:21:10 +0000158 ValueTypes.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000159 VirtRegMap.cpp
Reid Kleckner1185fce2015-01-29 00:41:44 +0000160 WinEHPrepare.cpp
Dean Michael Berris52735fc2016-07-14 04:06:33 +0000161 XRayInstrumentation.cpp
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000162
163 ADDITIONAL_HEADER_DIRS
164 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
165 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
Peter Collingbourne79bf1132015-08-29 22:34:34 +0000166
Eric Fiselier87c87f42017-02-10 01:59:20 +0000167 LINK_LIBS ${LLVM_PTHREAD_LIB}
Oscar Fuentes5ed96262011-02-18 22:06:14 +0000168
Chris Bieneman05c279fc2016-11-17 04:36:50 +0000169 DEPENDS
170 intrinsics_gen
171 )
NAKAMURA Takumi704de072012-06-24 13:32:01 +0000172
Oscar Fuentes5ed96262011-02-18 22:06:14 +0000173add_subdirectory(SelectionDAG)
174add_subdirectory(AsmPrinter)
Alex Lorenz2bdb4e12015-05-27 18:02:19 +0000175add_subdirectory(MIRParser)
Quentin Colombetbde158c2016-02-11 19:18:27 +0000176add_subdirectory(GlobalISel)