llvm-6502/lib/CodeGen
Chris Lattner bd564bfc63 Start eliminating temporary vectors used to create DAG nodes. Instead, pass
in the start of an array and a count of operands where applicable.  In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap.  In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.

I updated a lot of code calling getNode that takes a vector, but ran out of
time.  The rest of the code should be updated, and these methods should be
removed.

We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.

It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29566 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 02:23:42 +00:00
..
SelectionDAG Start eliminating temporary vectors used to create DAG nodes. Instead, pass 2006-08-08 02:23:42 +00:00
AsmPrinter.cpp Instead of blindly looking past constantexpr casts, actually constant 2006-07-29 01:57:19 +00:00
BranchFolding.cpp Remove trailing whitespace 2005-04-21 22:36:52 +00:00
DwarfWriter.cpp Fixed a bug handling void function types. 2006-07-13 15:27:42 +00:00
ELFWriter.cpp Refactor a bunch of includes so that TargetMachine.h doesn't have to include 2006-05-12 06:33:49 +00:00
IntrinsicLowering.cpp Handle new forms of llvm.dbg intrinsics. 2006-03-23 18:06:46 +00:00
LiveInterval.cpp Fix LiveInterval::getOverlapingRanges to take things in the right order 2005-10-21 06:41:30 +00:00
LiveIntervalAnalysis.cpp Eliminate data relocations by using NULL instead of global empty list. 2006-07-21 21:15:20 +00:00
LiveVariables.cpp Eliminate data relocations by using NULL instead of global empty list. 2006-07-21 21:15:20 +00:00
MachineBasicBlock.cpp Refactor a bunch of includes so that TargetMachine.h doesn't have to include 2006-05-12 06:33:49 +00:00
MachineDebugInfo.cpp Fixed a bug handling void function types. 2006-07-13 15:27:42 +00:00
MachineFunction.cpp Add an out-of-line virtual function to home class. 2006-07-14 23:08:47 +00:00
MachineInstr.cpp Instructions with variable operands (variable_ops) can have a number required 2006-06-15 07:22:16 +00:00
MachinePassRegistry.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
Makefile Fix linking on Alpha 2006-07-20 17:27:58 +00:00
Passes.cpp Work around a bug in gcc 3.3.5, reported by a user 2006-08-03 00:16:56 +00:00
PHIElimination.cpp Reduce number of exported symbols 2006-07-20 17:28:38 +00:00
PhysRegTracker.h Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr 2004-02-23 06:10:13 +00:00
PrologEpilogInserter.cpp Shave another 27K off libllvmgcc.dylib with visibility hidden 2006-06-28 22:17:39 +00:00
RegAllocLinearScan.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
RegAllocLocal.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
RegAllocSimple.cpp Final polish on machine pass registries. 2006-08-02 12:30:23 +00:00
TwoAddressInstructionPass.cpp Reduce number of exported symbols 2006-07-20 17:28:38 +00:00
UnreachableBlockElim.cpp Use hidden visibility to make symbols in an anonymous namespace get 2006-06-28 23:17:24 +00:00
VirtRegMap.cpp Eliminate data relocations by using NULL instead of global empty list. 2006-07-21 21:15:20 +00:00
VirtRegMap.h Fix a latent bug that my spiller patch last week exposed: we were leaving 2006-05-01 22:03:24 +00:00