AlexSm 9b567afd33 Library import 240819-0942 (#7994) 2 months ago
..
AsmPrinter 9b567afd33 Library import 240819-0942 (#7994) 2 months ago
GlobalISel 9b567afd33 Library import 240819-0942 (#7994) 2 months ago
LiveDebugValues 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRParser 9b567afd33 Library import 240819-0942 (#7994) 2 months ago
SelectionDAG 9b567afd33 Library import 240819-0942 (#7994) 2 months ago
AggressiveAntiDepBreaker.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
AggressiveAntiDepBreaker.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
AllocationOrder.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
AllocationOrder.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
Analysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
AtomicExpandPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BasicBlockSections.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BasicTargetTransformInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BranchFolding.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BranchFolding.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BranchRelaxation.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
BreakFalseDeps.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CFGuardLongjmp.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CFIInstrInserter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CalcSpillWeights.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CallingConvLower.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CodeGen.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CodeGenCommonISel.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CodeGenPassBuilder.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CodeGenPrepare.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CommandFlags.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CriticalAntiDepBreaker.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
CriticalAntiDepBreaker.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
DFAPacketizer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
DeadMachineInstructionElim.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
DetectDeadLanes.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
DwarfEHPrepare.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
EHContGuardCatchret.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
EarlyIfConversion.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
EdgeBundles.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ExecutionDomainFix.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ExpandMemCmp.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ExpandPostRAPseudos.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ExpandReductions.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ExpandVectorPredication.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
FEntryInserter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
FaultMaps.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
FinalizeISel.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
FixupStatepointCallerSaved.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
FuncletLayout.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
GCMetadata.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
GCMetadataPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
GCRootLowering.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
GlobalMerge.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
HardwareLoops.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
IfConversion.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ImplicitNullChecks.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
IndirectBrExpandPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
InlineSpiller.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
InterferenceCache.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
InterferenceCache.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
InterleavedAccessPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
InterleavedLoadCombinePass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
IntrinsicLowering.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LLVMTargetMachine.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LatencyPriorityQueue.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LazyMachineBlockFrequencyInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LexicalScopes.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveDebugVariables.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveDebugVariables.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveInterval.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveIntervalCalc.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveIntervalUnion.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveIntervals.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LivePhysRegs.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRangeCalc.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRangeEdit.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRangeShrink.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRangeUtils.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRegMatrix.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveRegUnits.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveStacks.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LiveVariables.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LocalStackSlotAllocation.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LoopTraversal.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LowLevelType.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
LowerEmuTLS.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MBFIWrapper.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRCanonicalizerPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRFSDiscriminator.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRNamerPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRPrintingPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRSampleProfile.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRVRegNamerUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRVRegNamerUtils.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MIRYamlMapping.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MLRegallocEvictAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineBasicBlock.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineBlockFrequencyInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineBlockPlacement.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineBranchProbabilityInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineCSE.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineCheckDebugify.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineCombiner.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineCopyPropagation.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineCycleAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineDebugify.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineDominanceFrontier.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineDominators.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineFrameInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineFunction.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineFunctionPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineFunctionPrinterPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineFunctionSplitter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineInstr.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineInstrBundle.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineLICM.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineLoopInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineLoopUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineModuleInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineModuleInfoImpls.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineModuleSlotTracker.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineOperand.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineOptimizationRemarkEmitter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineOutliner.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachinePassManager.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachinePipeliner.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachinePostDominators.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineRegionInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineRegisterInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineSSAContext.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineSSAUpdater.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineScheduler.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineSink.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineSizeOpts.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineStableHash.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineStripDebug.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineTraceMetrics.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MachineVerifier.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MacroFusion.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ModuloSchedule.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
MultiHazardRecognizer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
NonRelocatableStringpool.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
OptimizePHIs.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PHIElimination.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PHIEliminationUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PHIEliminationUtils.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ParallelCG.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PatchableFunction.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PeepholeOptimizer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PostRAHazardRecognizer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PostRASchedulerList.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PreISelIntrinsicLowering.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ProcessImplicitDefs.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PrologEpilogInserter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PseudoProbeInserter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
PseudoSourceValue.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RDFGraph.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RDFLiveness.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RDFRegisters.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
README.txt 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ReachingDefAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocBase.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocBase.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocBasic.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocEvictionAdvisor.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocEvictionAdvisor.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocFast.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocGreedy.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocGreedy.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocPBQP.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocScore.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegAllocScore.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegUsageInfoCollector.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegUsageInfoPropagate.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterClassInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterCoalescer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterCoalescer.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterPressure.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterScavenging.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RegisterUsageInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RemoveRedundantDebugValues.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
RenameIndependentSubregs.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ReplaceWithVeclib.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ResetMachineFunctionPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SafeStack.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SafeStackLayout.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SafeStackLayout.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ScheduleDAG.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ScheduleDAGInstrs.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ScheduleDAGPrinter.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ScoreboardHazardRecognizer.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ShadowStackGCLowering.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ShrinkWrap.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SjLjEHPrepare.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SlotIndexes.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SpillPlacement.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SpillPlacement.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SplitKit.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SplitKit.h 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
StackColoring.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
StackMapLivenessAnalysis.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
StackMaps.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
StackProtector.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
StackSlotColoring.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SwiftErrorValueTracking.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
SwitchLoweringUtils.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TailDuplication.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TailDuplicator.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetFrameLoweringImpl.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetInstrInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetLoweringBase.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetLoweringObjectFileImpl.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetOptionsImpl.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetPassConfig.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetRegisterInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetSchedule.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TargetSubtargetInfo.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TwoAddressInstructionPass.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
TypePromotion.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
UnreachableBlockElim.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
VLIWMachineScheduler.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ValueTypes.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
VirtRegMap.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
WasmEHPrepare.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
WinEHPrepare.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
XRayInstrumentation.cpp 6ffe9e5365 YQ Connector: support managed ClickHouse 1 year ago
ya.make 9b567afd33 Library import 240819-0942 (#7994) 2 months ago

README.txt

//===---------------------------------------------------------------------===//

Common register allocation / spilling problem:

mul lr, r4, lr
str lr, [sp, #+52]
ldr lr, [r1, #+32]
sxth r3, r3
ldr r4, [sp, #+52]
mla r4, r3, lr, r4

can be:

mul lr, r4, lr
mov r4, lr
str lr, [sp, #+52]
ldr lr, [r1, #+32]
sxth r3, r3
mla r4, r3, lr, r4

and then "merge" mul and mov:

mul r4, r4, lr
str r4, [sp, #+52]
ldr lr, [r1, #+32]
sxth r3, r3
mla r4, r3, lr, r4

It also increase the likelihood the store may become dead.

//===---------------------------------------------------------------------===//

bb27 ...
...
%reg1037 = ADDri %reg1039, 1
%reg1038 = ADDrs %reg1032, %reg1039, %noreg, 10
Successors according to CFG: 0x8b03bf0 (#5)

bb76 (0x8b03bf0, LLVM BB @0x8b032d0, ID#5):
Predecessors according to CFG: 0x8b0c5f0 (#3) 0x8b0a7c0 (#4)
%reg1039 = PHI %reg1070, mbb, %reg1037, mbb

Note ADDri is not a two-address instruction. However, its result %reg1037 is an
operand of the PHI node in bb76 and its operand %reg1039 is the result of the
PHI node. We should treat it as a two-address code and make sure the ADDri is
scheduled after any node that reads %reg1039.

//===---------------------------------------------------------------------===//

Use local info (i.e. register scavenger) to assign it a free register to allow
reuse:
ldr r3, [sp, #+4]
add r3, r3, #3
ldr r2, [sp, #+8]
add r2, r2, #2
ldr r1, [sp, #+4] <==
add r1, r1, #1
ldr r0, [sp, #+4]
add r0, r0, #2

//===---------------------------------------------------------------------===//

LLVM aggressively lift CSE out of loop. Sometimes this can be negative side-
effects:

R1 = X + 4
R2 = X + 7
R3 = X + 15

loop:
load [i + R1]
...
load [i + R2]
...
load [i + R3]

Suppose there is high register pressure, R1, R2, R3, can be spilled. We need
to implement proper re-materialization to handle this:

R1 = X + 4
R2 = X + 7
R3 = X + 15

loop:
R1 = X + 4 @ re-materialized
load [i + R1]
...
R2 = X + 7 @ re-materialized
load [i + R2]
...
R3 = X + 15 @ re-materialized
load [i + R3]

Furthermore, with re-association, we can enable sharing:

R1 = X + 4
R2 = X + 7
R3 = X + 15

loop:
T = i + X
load [T + 4]
...
load [T + 7]
...
load [T + 15]
//===---------------------------------------------------------------------===//

It's not always a good idea to choose rematerialization over spilling. If all
the load / store instructions would be folded then spilling is cheaper because
it won't require new live intervals / registers. See 2003-05-31-LongShifts for
an example.

//===---------------------------------------------------------------------===//

With a copying garbage collector, derived pointers must not be retained across
collector safe points; the collector could move the objects and invalidate the
derived pointer. This is bad enough in the first place, but safe points can
crop up unpredictably. Consider:

%array = load { i32, [0 x %obj] }** %array_addr
%nth_el = getelementptr { i32, [0 x %obj] }* %array, i32 0, i32 %n
%old = load %obj** %nth_el
%z = div i64 %x, %y
store %obj* %new, %obj** %nth_el

If the i64 division is lowered to a libcall, then a safe point will (must)
appear for the call site. If a collection occurs, %array and %nth_el no longer
point into the correct object.

The fix for this is to copy address calculations so that dependent pointers
are never live across safe point boundaries. But the loads cannot be copied
like this if there was an intervening store, so may be hard to get right.

Only a concurrent mutator can trigger a collection at the libcall safe point.
So single-threaded programs do not have this requirement, even with a copying
collector. Still, LLVM optimizations would probably undo a front-end's careful
work.

//===---------------------------------------------------------------------===//

The ocaml frametable structure supports liveness information. It would be good
to support it.

//===---------------------------------------------------------------------===//

The FIXME in ComputeCommonTailLength in BranchFolding.cpp needs to be
revisited. The check is there to work around a misuse of directives in inline
assembly.

//===---------------------------------------------------------------------===//

It would be good to detect collector/target compatibility instead of silently
doing the wrong thing.

//===---------------------------------------------------------------------===//

It would be really nice to be able to write patterns in .td files for copies,
which would eliminate a bunch of explicit predicates on them (e.g. no side
effects). Once this is in place, it would be even better to have tblgen
synthesize the various copy insertion/inspection methods in TargetInstrInfo.

//===---------------------------------------------------------------------===//

Stack coloring improvements:

1. Do proper LiveStacks analysis on all stack objects including those which are
not spill slots.
2. Reorder objects to fill in gaps between objects.
e.g. 4, 1, , 4, 1, 1, 1, , 4 => 4, 1, 1, 1, 1, 4, 4

//===---------------------------------------------------------------------===//

The scheduler should be able to sort nearby instructions by their address. For
example, in an expanded memset sequence it's not uncommon to see code like this:

movl $0, 4(%rdi)
movl $0, 8(%rdi)
movl $0, 12(%rdi)
movl $0, 0(%rdi)

Each of the stores is independent, and the scheduler is currently making an
arbitrary decision about the order.

//===---------------------------------------------------------------------===//

Another opportunitiy in this code is that the $0 could be moved to a register:

movl $0, 4(%rdi)
movl $0, 8(%rdi)
movl $0, 12(%rdi)
movl $0, 0(%rdi)

This would save substantial code size, especially for longer sequences like
this. It would be easy to have a rule telling isel to avoid matching MOV32mi
if the immediate has more than some fixed number of uses. It's more involved
to teach the register allocator how to do late folding to recover from
excessive register pressure.