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 Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
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 Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
FastISel.h Temporarily revert r72191. It was causing an assert during llvm-gcc 2009-05-21 00:04:55 +00:00
FileWriters.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
GCMetadata.h
GCMetadataPrinter.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
GCs.h
GCStrategy.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
IntrinsicLowering.h
LatencyPriorityQueue.h Fix some register-alias-related bugs in the post-RA scheduler liveness 2008-12-16 03:25:46 +00:00
LinkAllAsmWriterComponents.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
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 Reapply 68073, with fixes. EH Landing-pad basic blocks are not 2009-03-31 18:39:13 +00:00
MachineCodeEmitter.h Add support to the JIT for true non-lazy operation. When a call to a function 2009-02-18 08:31:02 +00:00
MachineCodeInfo.h Add missing file. 2009-05-18 21:08:45 +00:00
MachineConstantPool.h Use CHAR_BIT instead of hard-coding 8 in several places where it 2009-04-01 18:45:54 +00:00
MachineDominators.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
MachineFrameInfo.h Fix a bunch of Doxygen syntax issues. Escape special characters, 2009-03-03 02:55:14 +00:00
MachineFunction.h Temporarily revert r72191. It was causing an assert during llvm-gcc 2009-05-21 00:04:55 +00:00
MachineFunctionPass.h Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
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 Move MachineJumpTableInfo::ReplaceMBBInJumpTables out of line. 2009-04-15 01:18:49 +00:00
MachineLocation.h
MachineLoopInfo.h Eliminate several more unnecessary intptr_t casts. 2009-02-18 05:09:16 +00:00
MachineMemOperand.h
MachineModuleInfo.h Restore minor deletion. 2009-05-04 18:40:41 +00:00
MachineOperand.h Give RemoveRegOperandFromRegInfo a comment and move the 2009-04-15 01:17:37 +00:00
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 Fix a bunch of Doxygen syntax issues. Escape special characters, 2009-03-03 02:55:14 +00:00
RegisterScavenging.h Don't pass BitVectors by value, pass them by reference. 2009-02-06 09:16:15 +00:00
RuntimeLibcalls.h Add a new codegen pass that normalizes dwarf exception handling 2009-05-22 20:36:31 +00:00
ScheduleDAG.h Add a new bit to SUnit to record whether a node has implicit physreg 2009-03-23 16:10:52 +00:00
ScheduleHazardRecognizer.h Initial hazard recognizer support in post-pass scheduling. This includes 2009-01-16 01:33:36 +00:00
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 Added support for vector widening. 2008-12-18 20:03:17 +00:00