blob: b2e76e285b8f8a5a90d62fd9d2cd03e86c986197 [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
Andrew Paverdd157a9b2019-10-28 13:22:19 +000013 CFGuardLongjmp.cpp
Petar Jovanovice2bfcd62018-04-24 10:32:08 +000014 CFIInstrInserter.cpp
Owen Anderson80fc0762010-10-07 18:41:20 +000015 CodeGen.cpp
Quentin Colombeta3490842014-02-22 00:07:45 +000016 CodeGenPrepare.cpp
David Goodwin83704852009-10-26 16:59:04 +000017 CriticalAntiDepBreaker.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000018 DeadMachineInstructionElim.cpp
Matthias Braunfbe85ae2016-04-28 03:07:16 +000019 DetectDeadLanes.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000020 DFAPacketizer.cpp
Duncan Sandsd6fb6502009-05-22 20:36:31 +000021 DwarfEHPrepare.cpp
Jakob Stoklund Olesenf8a63a12012-07-04 00:09:54 +000022 EarlyIfConversion.cpp
Jakob Stoklund Olesenf96ae682011-01-04 21:10:05 +000023 EdgeBundles.cpp
Marina Yatsina3d8efa42018-01-22 10:06:33 +000024 ExecutionDomainFix.cpp
Dmitri Gribenko2bf8d772019-09-10 10:39:09 +000025 ExpandMemCmp.cpp
Jakob Stoklund Olesenf152df12011-09-25 16:46:00 +000026 ExpandPostRAPseudos.cpp
Amara Emerson836b0f42017-05-10 09:42:49 +000027 ExpandReductions.cpp
Sanjoy Dasc63244d2015-06-15 18:44:08 +000028 FaultMaps.cpp
Nirav Davea7c041d2017-01-31 17:00:27 +000029 FEntryInserter.cpp
Matt Arsenault9cac4e62019-06-19 00:25:39 +000030 FinalizeISel.cpp
David Majnemer97890232015-09-17 20:45:18 +000031 FuncletLayout.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000032 GCMetadata.cpp
33 GCMetadataPrinter.cpp
Philip Reamesf27f3732015-01-15 19:29:42 +000034 GCRootLowering.cpp
Philip Reames56a03932015-01-26 18:26:35 +000035 GCStrategy.cpp
Jiangning Liu96e92c12014-06-13 22:57:59 +000036 GlobalMerge.cpp
Sam Parkerc5ef5022019-06-07 07:35:30 +000037 HardwareLoops.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000038 IfConversion.cpp
Sanjoy Das69fad072015-06-15 18:44:27 +000039 ImplicitNullChecks.cpp
Chandler Carruthc58f2162018-01-22 22:05:25 +000040 IndirectBrExpandPass.cpp
Jakob Stoklund Olesenf8889112010-06-29 23:58:39 +000041 InlineSpiller.cpp
Jakob Stoklund Olesen91cbcaf2011-04-02 06:03:35 +000042 InterferenceCache.cpp
Hao Liu1c1e0c92015-06-26 02:10:27 +000043 InterleavedAccessPass.cpp
Martin Elshuberfef30362018-11-19 14:26:10 +000044 InterleavedLoadCombinePass.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000045 IntrinsicLowering.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +000046 LatencyPriorityQueue.cpp
Adam Nemetbbb141c2017-02-14 17:21:09 +000047 LazyMachineBlockFrequencyInfo.cpp
Devang Patele1649c32011-08-10 19:04:06 +000048 LexicalScopes.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000049 LiveDebugValues.cpp
Jakob Stoklund Olesend4900a62010-11-30 02:17:10 +000050 LiveDebugVariables.cpp
Matthias Braunf8422972017-12-13 02:51:04 +000051 LiveIntervals.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000052 LiveInterval.cpp
Andrew Trick1c246052010-10-22 23:09:15 +000053 LiveIntervalUnion.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000054 LivePhysRegs.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000055 LiveRangeCalc.cpp
56 LiveRangeEdit.cpp
Dehao Chen6b737dd2017-05-31 23:25:25 +000057 LiveRangeShrink.cpp
Jakob Stoklund Olesenc26fbbf2012-06-09 02:13:10 +000058 LiveRegMatrix.cpp
Matthias Braun710a4c12017-01-20 00:16:14 +000059 LiveRegUnits.cpp
Matthias Braunef959692017-12-18 23:19:44 +000060 LiveStacks.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000061 LiveVariables.cpp
Matthias Braunbb8507e2017-10-12 22:57:28 +000062 LLVMTargetMachine.cpp
Ted Kremenekda2eba52010-08-14 01:55:09 +000063 LocalStackSlotAllocation.cpp
Marina Yatsina0bf841a2018-01-22 10:06:50 +000064 LoopTraversal.cpp
Tim Northover62ae5682016-07-20 19:09:30 +000065 LowLevelType.cpp
Chih-Hung Hsieh57886402016-01-13 23:56:37 +000066 LowerEmuTLS.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000067 MachineBasicBlock.cpp
Jakub Staszak875ebd52011-07-25 19:25:40 +000068 MachineBlockFrequencyInfo.cpp
Chandler Carruth10281422011-10-21 06:46:38 +000069 MachineBlockPlacement.cpp
Jakub Staszak12a43bd2011-06-16 20:22:37 +000070 MachineBranchProbabilityInfo.cpp
Gerolf Hoflehner5e1207e2014-08-03 21:35:39 +000071 MachineCombiner.cpp
Evan Cheng00b1a3c2012-01-07 03:02:36 +000072 MachineCopyPropagation.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000073 MachineCSE.cpp
Matt Arsenault4181ea32014-07-12 21:59:52 +000074 MachineDominanceFrontier.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000075 MachineDominators.cpp
Matthias Braune4e14ae2017-04-26 23:36:58 +000076 MachineFrameInfo.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000077 MachineFunction.cpp
Ted Kremenekdefdbdc2009-07-31 18:50:22 +000078 MachineFunctionPass.cpp
David Greene9b063df2010-04-02 23:17:14 +000079 MachineFunctionPrinterPass.cpp
NAKAMURA Takumi4c5ab7b2011-12-14 03:50:53 +000080 MachineInstrBundle.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000081 MachineInstr.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000082 MachineLICM.cpp
83 MachineLoopInfo.cpp
James Molloy90265182019-10-02 12:46:44 +000084 MachineLoopUtils.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000085 MachineModuleInfo.cpp
Xerxes Ranby230c7172009-09-16 10:18:36 +000086 MachineModuleInfoImpls.cpp
Francis Visoiu Mistrihaa739692017-11-28 17:58:43 +000087 MachineOperand.cpp
Adam Nemeta9640662017-01-25 23:20:33 +000088 MachineOptimizationRemarkEmitter.cpp
Jessica Paquette596f4832017-03-06 21:31:18 +000089 MachineOutliner.cpp
Brendon Cahoon254f8892016-07-29 16:44:44 +000090 MachinePipeliner.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +000091 MachinePostDominators.cpp
Matt Arsenault1b8d8372014-07-19 18:29:29 +000092 MachineRegionInfo.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000093 MachineRegisterInfo.cpp
Andrew Tricke77e84e2012-01-13 06:30:30 +000094 MachineScheduler.cpp
Ted Kremenek451a9652010-01-13 01:02:47 +000095 MachineSink.cpp
Hiroshi Yamauchi75f72f62019-10-28 12:35:34 -070096 MachineSizeOpts.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +000097 MachineSSAUpdater.cpp
Jakob Stoklund Olesenf9029fe2012-07-26 18:38:11 +000098 MachineTraceMetrics.cpp
Jakob Stoklund Olesen36c027a2009-05-16 00:33:53 +000099 MachineVerifier.cpp
James Molloy790a7792019-08-30 18:49:50 +0000100 ModuloSchedule.cpp
Sanjoy Dasc0441c22016-04-19 05:24:47 +0000101 PatchableFunction.cpp
Alex Lorenz345c1442015-06-15 23:52:35 +0000102 MIRPrinter.cpp
Alex Lorenz2bdb4e12015-05-27 18:02:19 +0000103 MIRPrintingPass.cpp
Florian Hahn5f746c82017-06-19 12:53:31 +0000104 MacroFusion.cpp
Bob Wilson0827e042010-02-12 01:30:21 +0000105 OptimizePHIs.cpp
Peter Collingbournec269ed52015-08-27 23:37:36 +0000106 ParallelCG.cpp
Bill Wendling88451402010-08-10 05:16:06 +0000107 PeepholeOptimizer.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000108 PHIElimination.cpp
109 PHIEliminationUtils.cpp
Tom Stellardee346802016-04-22 14:43:50 +0000110 PostRAHazardRecognizer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000111 PostRASchedulerList.cpp
Peter Collingbourne7dd8dbf2016-04-22 21:18:02 +0000112 PreISelIntrinsicLowering.cpp
Douglas Gregor90790c72009-11-04 01:32:06 +0000113 ProcessImplicitDefs.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000114 PrologEpilogInserter.cpp
115 PseudoSourceValue.cpp
Marina Yatsina0bf841a2018-01-22 10:06:50 +0000116 ReachingDefAnalysis.cpp
Jakob Stoklund Olesena818d802012-01-11 22:28:30 +0000117 RegAllocBase.cpp
Andrew Trick1c246052010-10-22 23:09:15 +0000118 RegAllocBasic.cpp
Jakob Stoklund Olesen8a070a52010-04-21 18:02:42 +0000119 RegAllocFast.cpp
Jakob Stoklund Olesenb8812a12010-12-08 03:26:16 +0000120 RegAllocGreedy.cpp
Oscar Fuentesb5abd782008-10-04 21:18:50 +0000121 RegAllocPBQP.cpp
Jakob Stoklund Olesenc58894b2011-06-02 02:19:35 +0000122 RegisterClassInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000123 RegisterCoalescer.cpp
Andrew Trick26bdff92012-04-24 18:06:49 +0000124 RegisterPressure.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000125 RegisterScavenging.cpp
Matthias Braunf9acaca2016-05-31 22:38:06 +0000126 RenameIndependentSubregs.cpp
Puyan Lotfi028061d2019-09-04 21:29:10 +0000127 MIRVRegNamerUtils.cpp
Puyan Lotfidc97ca92019-09-05 20:44:33 +0000128 MIRNamerPass.cpp
Puyan Lotfia521c4ac52017-11-02 23:37:32 +0000129 MIRCanonicalizerPass.cpp
Mehdi Aminibbacddf2016-06-10 16:19:46 +0000130 RegisterUsageInfo.cpp
131 RegUsageInfoCollector.cpp
Mehdi Amini1d396832016-06-10 18:37:21 +0000132 RegUsageInfoPropagate.cpp
Quentin Colombet374796d2016-08-27 00:18:31 +0000133 ResetMachineFunctionPass.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000134 SafeStack.cpp
Evgeniy Stepanova5da2562016-06-29 20:37:43 +0000135 SafeStackColoring.cpp
136 SafeStackLayout.cpp
Ayman Musac5490e52017-05-15 11:30:54 +0000137 ScalarizeMaskedMemIntrin.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +0000138 ScheduleDAG.cpp
Dan Gohman60cb69e2008-11-19 23:18:57 +0000139 ScheduleDAGInstrs.cpp
140 ScheduleDAGPrinter.cpp
Chris Lattner878665b2011-01-09 21:31:39 +0000141 ScoreboardHazardRecognizer.cpp
Philip Reames23cf2e22015-01-28 19:28:03 +0000142 ShadowStackGCLowering.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000143 ShrinkWrap.cpp
Benjamin Kramer436bd9f2009-08-17 18:47:11 +0000144 SjLjEHPrepare.cpp
Douglas Gregor90790c72009-11-04 01:32:06 +0000145 SlotIndexes.cpp
Jakob Stoklund Olesen8e236ea2011-01-06 01:21:53 +0000146 SpillPlacement.cpp
Jakob Stoklund Olesen36d12c62010-07-20 15:41:07 +0000147 SplitKit.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +0000148 StackColoring.cpp
Juergen Ributzkae8294752013-12-14 06:53:06 +0000149 StackMapLivenessAnalysis.cpp
Andrew Trick153ebe62013-10-31 22:11:56 +0000150 StackMaps.cpp
Benjamin Kramer390c33c2016-01-27 16:53:42 +0000151 StackProtector.cpp
152 StackSlotColoring.cpp
Tim Northover3d7a0572019-05-24 08:39:43 +0000153 SwiftErrorValueTracking.cpp
Amara Emerson829037a2019-06-08 00:05:17 +0000154 SwitchLoweringUtils.cpp
Bob Wilson2d4ff122009-11-26 00:32:21 +0000155 TailDuplication.cpp
Kyle Butt3232dbb2016-04-08 20:35:01 +0000156 TailDuplicator.cpp
Nick Lewyckyc9e935c2011-12-15 22:58:58 +0000157 TargetFrameLoweringImpl.cpp
Jakob Stoklund Olesenfcf14e82012-11-28 02:35:09 +0000158 TargetInstrInfo.cpp
Benjamin Kramer56b31bd2013-01-11 20:05:37 +0000159 TargetLoweringBase.cpp
Anton Korobeynikov1be2063a2010-02-15 22:55:13 +0000160 TargetLoweringObjectFileImpl.cpp
Nick Lewyckyc9e935c2011-12-15 22:58:58 +0000161 TargetOptionsImpl.cpp
Matthias Braun31d19d42016-05-10 03:21:59 +0000162 TargetPassConfig.cpp
Jakob Stoklund Olesenfcf14e82012-11-28 02:35:09 +0000163 TargetRegisterInfo.cpp
Andrew Trickd2a19da2012-09-14 20:26:46 +0000164 TargetSchedule.cpp
Matthias Braun7f423442016-11-22 22:09:03 +0000165 TargetSubtargetInfo.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000166 TwoAddressInstructionPass.cpp
167 UnreachableBlockElim.cpp
Craig Topper2fa14362018-03-29 17:21:10 +0000168 ValueTypes.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000169 VirtRegMap.cpp
Heejin Ahn99d60e02018-05-31 22:02:34 +0000170 WasmEHPrepare.cpp
Reid Kleckner1185fce2015-01-29 00:41:44 +0000171 WinEHPrepare.cpp
Dean Michael Berris52735fc2016-07-14 04:06:33 +0000172 XRayInstrumentation.cpp
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000173
174 ADDITIONAL_HEADER_DIRS
175 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen
176 ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP
Peter Collingbourne79bf1132015-08-29 22:34:34 +0000177
Eric Fiselier87c87f42017-02-10 01:59:20 +0000178 LINK_LIBS ${LLVM_PTHREAD_LIB}
Oscar Fuentes5ed96262011-02-18 22:06:14 +0000179
Chris Bieneman05c279fc2016-11-17 04:36:50 +0000180 DEPENDS
181 intrinsics_gen
182 )
NAKAMURA Takumi704de072012-06-24 13:32:01 +0000183
Oscar Fuentes5ed96262011-02-18 22:06:14 +0000184add_subdirectory(SelectionDAG)
185add_subdirectory(AsmPrinter)
Alex Lorenz2bdb4e12015-05-27 18:02:19 +0000186add_subdirectory(MIRParser)
Quentin Colombetbde158c2016-02-11 19:18:27 +0000187add_subdirectory(GlobalISel)