llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen 84be3d5a73 Don't call destructors on MachineInstr and MachineOperand.
The series of patches leading up to this one makes llc -O0 run 8% faster.

When deallocating a MachineFunction, there is no need to visit all
MachineInstr and MachineOperand objects to deallocate them. All their
memory come from a BumpPtrAllocator that is about to be purged, and they
have empty destructors anyway.

This only applies when deallocating the MachineFunction.
DeleteMachineInstr() should still be used to recycle MI memory during
the codegen passes.

Remove the LeakDetector support for MachineInstr. I've never seen it
used before, and now it definitely doesn't work. With this patch, leaked
MachineInstrs would be much less of a problem since all of their memory
will be reclaimed by ~MachineFunction().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171599 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-05 05:05:51 +00:00
..
PBQP Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
Analysis.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AsmPrinter.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CalcSpillWeights.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
CallingConvLower.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CommandFlags.h fix comment. 2012-12-13 22:34:43 +00:00
DAGCombine.h Refactor DAGCombinerInfo. Change the different booleans that indicate if we are before or after different runs of DAGCo, with the CombineLevel enum. 2012-12-27 06:47:41 +00:00
DFAPacketizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
EdgeBundles.h Give a small negative bias to giant edge bundles. 2012-05-21 03:11:23 +00:00
FastISel.h Fall back to the selection dag isel to select tail calls. 2012-12-11 00:18:02 +00:00
FunctionLoweringInfo.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
GCMetadata.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
GCMetadataPrinter.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
GCs.h
GCStrategy.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
IntrinsicLowering.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ISDOpcodes.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
JITCodeEmitter.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LatencyPriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
LexicalScopes.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveInterval.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveIntervalAnalysis.h RegisterPressureTracker: unify virtual registers and physical regunits. 2012-12-05 21:37:47 +00:00
LiveIntervalUnion.h Make the LiveRegMatrix analysis available to targets. 2012-11-28 19:13:06 +00:00
LiveRangeEdit.h Allow LiveRangeEdit to be created with a NULL parent. 2012-05-19 05:25:46 +00:00
LiveRegMatrix.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveStackAnalysis.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
LiveVariables.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineBasicBlock.h Use bidirectional bundle flags to simplify important functions. 2012-12-18 23:21:49 +00:00
MachineBlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
MachineBranchProbabilityInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineCodeEmitter.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineCodeInfo.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineConstantPool.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
MachineDominators.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineFrameInfo.h Stack Alignment: when creating stack objects in MachineFrameInfo, make sure 2012-12-04 00:52:33 +00:00
MachineFunction.h Use ArrayRecycler for MachineInstr operand lists. 2013-01-05 05:00:09 +00:00
MachineFunctionAnalysis.h Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
MachineFunctionPass.h
MachineInstr.h Don't call destructors on MachineInstr and MachineOperand. 2013-01-05 05:05:51 +00:00
MachineInstrBuilder.h Add an MF argument to MI::copyImplicitOps(). 2012-12-20 22:54:02 +00:00
MachineInstrBundle.h Fix physical register liveness calculations: 2012-11-20 09:56:11 +00:00
MachineJumpTableInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineLoopInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineMemOperand.h Add MachineMemOperand::isUnordered(). 2012-08-29 21:08:52 +00:00
MachineModuleInfo.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MachineModuleInfoImpls.h Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree. 2012-09-26 06:36:36 +00:00
MachineOperand.h Use ArrayRecycler for MachineInstr operand lists. 2013-01-05 05:00:09 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachinePostDominators.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
MachineRegisterInfo.h Add MachineRegisterInfo::moveOperands(). 2013-01-05 04:38:12 +00:00
MachineRelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MachineScheduler.h Fix a place where the declaration didn't use LLVM_ENABLE_DUMP but the 2012-11-20 10:23:50 +00:00
MachineSSAUpdater.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
MachORelocation.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Passes.h Add targets to skip running the GC passes. 2012-12-21 02:57:04 +00:00
PseudoSourceValue.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
RegAllocPBQP.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
RegAllocRegistry.h
RegisterClassInfo.h Use MCPhysReg for RegisterClassInfo allocation orders. 2012-11-29 03:34:17 +00:00
RegisterPressure.h RegPressureTracker::dump(): Remove unnecessary argument. 2012-12-05 23:05:22 +00:00
RegisterScavenging.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ResourcePriorityQueue.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
RuntimeLibcalls.h Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
ScheduleDAG.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ScheduleDAGInstrs.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ScheduleDFS.h misched: Analysis that partitions the DAG into subtrees. 2012-11-28 05:13:28 +00:00
ScheduleHazardRecognizer.h misched: Allow disabling scoreboard hazard checking for subtargets with a 2012-06-05 03:44:32 +00:00
SchedulerRegistry.h Add a really faster pre-RA scheduler (-pre-RA-sched=linearize). It doesn't use 2012-10-17 19:39:36 +00:00
ScoreboardHazardRecognizer.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
SelectionDAG.h Refactor DAGCombinerInfo. Change the different booleans that indicate if we are before or after different runs of DAGCo, with the CombineLevel enum. 2012-12-27 06:47:41 +00:00
SelectionDAGISel.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SelectionDAGNodes.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SlotIndexes.h Provide a common half-open interval map info implementation, and just 2012-12-27 11:29:17 +00:00
TargetLoweringObjectFileImpl.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
TargetSchedule.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ValueTypes.h Added 6 more value types: v32i1, v64i1, v32i16, v32i8, v64i8, v8f64 2012-12-24 10:03:57 +00:00
ValueTypes.td Added 6 more value types: v32i1, v64i1, v32i16, v32i8, v64i8, v8f64 2012-12-24 10:03:57 +00:00
VirtRegMap.h Remove VirtRegMap::getRegAllocPref(). 2012-12-04 00:35:59 +00:00