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