# $NetBSD: Makefile,v 1.34 2018/07/17 18:55:27 joerg Exp $
LIB= LLVMCodeGen
.include <bsd.init.mk>
.PATH: ${LLVM_SRCDIR}/lib/CodeGen
SRCS+= AggressiveAntiDepBreaker.cpp \
AllocationOrder.cpp \
Analysis.cpp \
AtomicExpandPass.cpp \
BasicTargetTransformInfo.cpp \
BranchFolding.cpp \
BranchRelaxation.cpp \
BreakFalseDeps.cpp \
BuiltinGCs.cpp \
CalcSpillWeights.cpp \
CallingConvLower.cpp \
CFIInstrInserter.cpp \
CodeGen.cpp \
CodeGenPrepare.cpp \
CriticalAntiDepBreaker.cpp \
DeadMachineInstructionElim.cpp \
DetectDeadLanes.cpp \
DFAPacketizer.cpp \
DwarfEHPrepare.cpp \
EarlyIfConversion.cpp \
EdgeBundles.cpp \
ExecutionDomainFix.cpp \
ExpandISelPseudos.cpp \
ExpandMemCmp.cpp \
ExpandPostRAPseudos.cpp \
ExpandReductions.cpp \
FaultMaps.cpp \
FEntryInserter.cpp \
FuncletLayout.cpp \
GCMetadata.cpp \
GCMetadataPrinter.cpp \
GCRootLowering.cpp \
GCStrategy.cpp \
GlobalMerge.cpp \
IfConversion.cpp \
ImplicitNullChecks.cpp \
IndirectBrExpandPass.cpp \
InlineSpiller.cpp \
InterferenceCache.cpp \
InterleavedAccessPass.cpp \
IntrinsicLowering.cpp \
LatencyPriorityQueue.cpp \
LazyMachineBlockFrequencyInfo.cpp \
LexicalScopes.cpp \
LiveDebugValues.cpp \
LiveDebugVariables.cpp \
LiveInterval.cpp \
LiveIntervals.cpp \
LiveIntervalUnion.cpp \
LivePhysRegs.cpp \
LiveRangeCalc.cpp \
LiveRangeEdit.cpp \
LiveRangeShrink.cpp \
LiveRegMatrix.cpp \
LiveRegUnits.cpp \
LiveStacks.cpp \
LiveVariables.cpp \
LLVMTargetMachine.cpp \
LocalStackSlotAllocation.cpp \
LoopTraversal.cpp \
LowerEmuTLS.cpp \
LowLevelType.cpp \
MachineBasicBlock.cpp \
MachineBlockFrequencyInfo.cpp \
MachineBlockPlacement.cpp \
MachineBranchProbabilityInfo.cpp \
MachineCombiner.cpp \
MachineCopyPropagation.cpp \
MachineCSE.cpp \
MachineDominanceFrontier.cpp \
MachineDominators.cpp \
MachineFrameInfo.cpp \
MachineFunction.cpp \
MachineFunctionPass.cpp \
MachineFunctionPrinterPass.cpp \
MachineInstrBundle.cpp \
MachineInstr.cpp \
MachineLICM.cpp \
MachineLoopInfo.cpp \
MachineModuleInfo.cpp \
MachineModuleInfoImpls.cpp \
MachineOperand.cpp \
MachineOptimizationRemarkEmitter.cpp \
MachineOutliner.cpp \
MachinePassRegistry.cpp \
MachinePipeliner.cpp \
MachinePostDominators.cpp \
MachineRegionInfo.cpp \
MachineRegisterInfo.cpp \
MachineScheduler.cpp \
MachineSink.cpp \
MachineSSAUpdater.cpp \
MachineTraceMetrics.cpp \
MachineVerifier.cpp \
MacroFusion.cpp \
MIRCanonicalizerPass.cpp \
MIRPrinter.cpp \
MIRPrintingPass.cpp \
OptimizePHIs.cpp \
ParallelCG.cpp \
PatchableFunction.cpp \
PeepholeOptimizer.cpp \
PHIElimination.cpp \
PHIEliminationUtils.cpp \
PostRAHazardRecognizer.cpp \
PostRASchedulerList.cpp \
PreISelIntrinsicLowering.cpp \
ProcessImplicitDefs.cpp \
PrologEpilogInserter.cpp \
PseudoSourceValue.cpp \
ReachingDefAnalysis.cpp \
RegAllocBase.cpp \
RegAllocBasic.cpp \
RegAllocFast.cpp \
RegAllocGreedy.cpp \
RegAllocPBQP.cpp \
RegisterClassInfo.cpp \
RegisterCoalescer.cpp \
RegisterPressure.cpp \
RegisterScavenging.cpp \
RegisterUsageInfo.cpp \
RegUsageInfoCollector.cpp \
RegUsageInfoPropagate.cpp \
RenameIndependentSubregs.cpp \
ResetMachineFunctionPass.cpp \
SafeStackColoring.cpp \
SafeStack.cpp \
SafeStackLayout.cpp \
ScalarizeMaskedMemIntrin.cpp \
ScheduleDAG.cpp \
ScheduleDAGInstrs.cpp \
ScheduleDAGPrinter.cpp \
ScoreboardHazardRecognizer.cpp \
ShadowStackGCLowering.cpp \
ShrinkWrap.cpp \
SjLjEHPrepare.cpp \
SlotIndexes.cpp \
SpillPlacement.cpp \
SplitKit.cpp \
StackColoring.cpp \
StackMapLivenessAnalysis.cpp \
StackMaps.cpp \
StackProtector.cpp \
StackSlotColoring.cpp \
TailDuplication.cpp \
TailDuplicator.cpp \
TargetFrameLoweringImpl.cpp \
TargetInstrInfo.cpp \
TargetLoweringBase.cpp \
TargetLoweringObjectFileImpl.cpp \
TargetOptionsImpl.cpp \
TargetPassConfig.cpp \
TargetRegisterInfo.cpp \
TargetSchedule.cpp \
TargetSubtargetInfo.cpp \
TwoAddressInstructionPass.cpp \
UnreachableBlockElim.cpp \
ValueTypes.cpp \
VirtRegMap.cpp \
WasmEHPrepare.cpp \
WinEHPrepare.cpp \
XRayInstrumentation.cpp
.if defined(HOSTLIB)
.include <bsd.hostlib.mk>
# Crashes some versions of GCC
CPPFLAGS.RenderMachineFunction.cpp+= -O0
.else
.include <bsd.lib.mk>
.endif