llvm-6502/include/llvm/CodeGen
Chris Lattner 5e8b77e375 Completely eliminate the per-machine-instruction regsUsed set.
This substantially shrinks the size of each machine instruction, which should
make allocation faster and the cache footprint of the machine code lighter.

Here are some timings for code generation of the larger benchmarks we have.
This are timings of code generation phases of the X86 JIT, when compiled in
debug mode:

		Before	After	Diff
164.gzip:
  InstSel	0.0878	0.0722	-21.6%
  RegAlloc	0.2031	0.1757	-15.6%
  TOTAL		0.5585	0.4999	-11.7%
Ptrdist-bc:
  InstSel	0.0878	0.0722	-21.6%
  RegAlloc	0.2070	0.1933	- 7.1%
  TOTAL		0.6972	0.6464	- 7.9%
197.parser:
  InstSel	0.2148	0.2148	- 0.0%
  RegAlloc	0.4941	0.4277	-15.5%
  TOTAL		1.3749	1.2851	- 7.0%
175.vpr:
  InstSel	0.2519	0.2109	-19.4%
  RegAlloc	0.5976	0.5663	- 5.5%
  TOTAL		1.6933	1.6347	- 3.5%
254.gap:
  InstSel	1.1328	0.9921	-14.2%
  RegAlloc	2.6933	2.4804	- 8.6%
  TOTAL		7.7871	7.2499	- 7.4%


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 22:39:13 +00:00
..
FunctionLiveVarInfo.h Don't require a BB to look-up live variables, unless they may need to 2003-07-29 19:32:04 +00:00
InstrForest.h Whoops, this one was needed 2003-07-26 23:18:11 +00:00
InstrScheduling.h Remove old entrypoint 2002-10-29 17:15:01 +00:00
InstrSelection.h Merged in autoconf branch. This provides configuration via the autoconf 2003-06-30 21:59:07 +00:00
InstrSelectionSupport.h Move sparc specific code into the Sparc backend 2003-01-15 21:36:50 +00:00
LiveVariables.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
MachineBasicBlock.h Code generation phases are not allowed to modify the LLVM representation. 2003-07-26 23:30:37 +00:00
MachineCodeEmitter.h The word separate' only has one e'. 2003-07-14 17:20:40 +00:00
MachineCodeForInstruction.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
MachineConstantPool.h Add new files 2003-01-13 01:01:31 +00:00
MachineFrameInfo.h Merged in autoconf branch. This provides configuration via the autoconf 2003-06-30 21:59:07 +00:00
MachineFunction.h Move annotation to support library 2003-01-14 21:29:58 +00:00
MachineFunctionInfo.h State for frame and constant pool information pulled out of MachineFunction 2002-12-28 20:07:33 +00:00
MachineFunctionPass.h Initial check in of MachineFunctionPass.h 2002-12-28 20:03:01 +00:00
MachineInstr.h Completely eliminate the per-machine-instruction regsUsed set. 2003-08-05 22:39:13 +00:00
MachineInstrAnnot.h Values stored in CallArgsDescriptor cannot be const. 2003-07-10 19:46:15 +00:00
MachineInstrBuilder.h Remove use of enum 2003-06-03 15:41:45 +00:00
Passes.h Add new files 2003-01-13 01:01:31 +00:00
PeepholeOpts.h Peephole optimization pass on final machine code. 2002-09-20 16:33:03 +00:00
PreSelection.h New preselection pass that specializes LLVM code for a target machine, 2002-09-16 18:08:17 +00:00
RegisterAllocation.h Remove unneccesary #include 2002-10-29 16:34:12 +00:00
SparcRegInfo.h --reg alloc code added 2001-09-15 00:33:26 +00:00
SSARegMap.h Merged in autoconf branch. This provides configuration via the autoconf 2003-06-30 21:59:07 +00:00
StackSlots.h Minor cleanups 2002-10-23 01:11:51 +00:00
ValueSet.h Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h 2003-01-14 22:56:37 +00:00
ValueTypes.h Fix copy and paste-o 2003-07-29 05:15:44 +00:00