llvm-6502/include/llvm/CodeGen
Jeffrey Yasskin 493a3d015c LiveVariables::VarInfo contains an AliveBlocks BitVector, which has as many
entries as there are basic blocks in the function.  LiveVariables::getVarInfo
creates a VarInfo struct for every register in the function, leading to
quadratic space use.  This patch changes the BitVector to a SparseBitVector,
which doesn't help the worst-case memory use but does reduce the actual use in
very long functions with short-lived variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72426 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-26 18:27:15 +00:00
..
AsmPrinter.h Move the tablegen-produced DebugLoc handling into a AsmWriter::processDebugLoc function. 2009-05-07 13:55:51 +00:00
BreakCriticalMachineEdge.h
CallingConvLower.h Clean up formatting, remove trailing whitespace, fix comment typos and 2009-04-17 20:35:10 +00:00
DAGISelHeader.h Generalize one of the SelectionDAG::ReplaceAllUsesWith overloads 2009-04-15 20:06:30 +00:00
DebugLoc.h Temporarily revert r72191. It was causing an assert during llvm-gcc 2009-05-21 00:04:55 +00:00
DwarfWriter.h Revert 71165. It did more than just revert 71158 and it introduced 2009-05-07 19:46:24 +00:00
ELFRelocation.h
FastISel.h Temporarily revert r72191. It was causing an assert during llvm-gcc 2009-05-21 00:04:55 +00:00
FileWriters.h
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
LatencyPriorityQueue.h
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Instead of passing in an unsigned value for the optimization level, use an enum, 2009-04-29 23:29:43 +00:00
LiveInterval.h Do not share a single unknown val# for all the live ranges merged into a physical sub-register live interval. When coalescer is merging in clobbered virtaul register live interval into a physical register live interval, give each virtual register val# a separate val# in the physical register live interval. Otherwise, the coalescer would have lost track of the definitions information it needs to make correct coalescing decisions. 2009-04-25 09:25:19 +00:00
LiveIntervalAnalysis.h In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
LiveStackAnalysis.h In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. 2009-05-03 18:32:42 +00:00
LiveVariables.h LiveVariables::VarInfo contains an AliveBlocks BitVector, which has as many 2009-05-26 18:27:15 +00:00
MachineBasicBlock.h
MachineCodeEmitter.h
MachineCodeInfo.h Add missing file. 2009-05-18 21:08:45 +00:00
MachineConstantPool.h
MachineDominators.h
MachineFrameInfo.h
MachineFunction.h Temporarily revert r72191. It was causing an assert during llvm-gcc 2009-05-21 00:04:55 +00:00
MachineFunctionPass.h
MachineInstr.h MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const. 2009-04-29 20:57:16 +00:00
MachineInstrBuilder.h Change MachineInstrBuilder::addReg() to take a flag instead of a list of 2009-05-13 21:33:08 +00:00
MachineJumpTableInfo.h
MachineLocation.h
MachineLoopInfo.h
MachineMemOperand.h
MachineModuleInfo.h Restore minor deletion. 2009-05-04 18:40:41 +00:00
MachineOperand.h
MachinePassRegistry.h
MachineRegisterInfo.h Move MachineRegisterInfo::setRegClass out of line. 2009-04-15 01:19:35 +00:00
MachineRelocation.h
MachORelocation.h
Passes.h Add a new codegen pass that normalizes dwarf exception handling 2009-05-22 20:36:31 +00:00
PseudoSourceValue.h
RegAllocRegistry.h
RegisterCoalescer.h
RegisterScavenging.h
RuntimeLibcalls.h Add a new codegen pass that normalizes dwarf exception handling 2009-05-22 20:36:31 +00:00
ScheduleDAG.h
ScheduleHazardRecognizer.h
SchedulerRegistry.h Instead of passing in an unsigned value for the optimization level, use an enum, 2009-04-29 23:29:43 +00:00
SelectionDAG.h Add a new step to legalization to legalize vector math operations. This 2009-05-23 12:35:30 +00:00
SelectionDAGISel.h Factor out cycle-finder code and make it generic. 2009-05-08 18:51:58 +00:00
SelectionDAGNodes.h Update comment, replace theoretically impossible check with an assert. 2009-04-29 18:13:31 +00:00
ValueTypes.h Remove the SimpleTy enumerated type field from the MVT 2009-04-19 06:23:05 +00:00
ValueTypes.td