llvm-6502/include/llvm
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
..
ADT Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities 2003-08-01 22:12:40 +00:00
Analysis Add a comment to the method decl 2003-08-05 18:38:16 +00:00
Assembly Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently 2002-09-19 20:49:25 +00:00
Bytecode Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG. 2003-06-11 19:44:51 +00:00
CodeGen Completely eliminate the per-machine-instruction regsUsed set. 2003-08-05 22:39:13 +00:00
Config Enable JIT when the platform supports it. 2003-07-29 19:11:58 +00:00
ExecutionEngine More cassert inclusion for GCC 3.3 2003-07-25 18:06:53 +00:00
Reoptimizer Check in header file that was missing, thus broke the build 2002-11-03 19:24:49 +00:00
Support Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities 2003-08-01 22:12:40 +00:00
System This file doesn't need this include 2003-08-01 19:16:18 +00:00
Target The NOOP instruction is no longer needed. Instead, use the 2003-08-03 18:52:15 +00:00
Transforms Added the declaration of InlineIndirectCalls 2003-08-05 16:56:59 +00:00
AbstractTypeUser.h Remove inline declarations that GCC 3.3 doesn't like without a body 2003-07-25 17:39:33 +00:00
Argument.h * Clean up some comments 2002-09-06 21:31:57 +00:00
BasicBlock.h - Add new ctor to BasicBlock to allow insertion before any BB, not just at 2002-09-26 05:03:17 +00:00
Constant.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
ConstantHandling.h Add support for ~ operator on constants 2003-07-23 17:21:17 +00:00
Constants.h Add more doxygen comments, add new ConstantInt::getRawValue method 2003-07-23 14:49:06 +00:00
DerivedTypes.h Remove redundant const qualifiers from cast<> expressions 2003-07-23 15:30:06 +00:00
Function.h Update out of date comment 2003-05-09 22:16:18 +00:00
GlobalValue.h Add new linkage types to support a real frontend 2003-04-16 20:28:45 +00:00
GlobalVariable.h Merged in autoconf branch. This provides configuration via the autoconf 2003-06-30 21:59:07 +00:00
iMemory.h Rename Instruction::hasSideEffects() -> mayWriteToMemory() 2003-02-24 20:48:32 +00:00
InstrTypes.h - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to 2002-10-13 19:39:16 +00:00
Instruction.def Add new VarArgInst class for the va_arg instruction 2003-05-08 02:42:50 +00:00
Instruction.h Renamed trapping instruction function to be more consistent with other functions in the file. 2003-07-31 05:08:02 +00:00
Instructions.h New helper header 2003-01-27 22:08:52 +00:00
Intrinsics.h Add alpha intrinsics, contributed by Rahul Joshi 2003-07-28 21:18:21 +00:00
iOperators.h * Eliminate GenericBinaryInst class 2002-09-10 15:34:41 +00:00
iOther.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
iPHINode.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
iTerminators.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
Linker.h Update header after moving file 2002-05-07 18:34:57 +00:00
Module.h Lined things up in a more aesthetically pleasing way. 2003-07-28 19:17:53 +00:00
Pass.h #include <cassert> as necessary... 2003-07-25 17:58:41 +00:00
PassAnalysisSupport.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
PassManager.h The plural of `Pass' is Passes, not Pass's. 2003-05-20 18:39:06 +00:00
PassSupport.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
SlotCalculator.h Use opaque decl instead of #include 2002-04-09 18:35:38 +00:00
SymbolTable.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
SymbolTableListTraits.h *** empty log message *** 2002-06-25 16:12:52 +00:00
Type.def Void and Label values cannot be acted on directly so they have zero size 2002-05-06 15:10:15 +00:00
Type.h s/convertable/convertible/g 2003-05-20 18:45:36 +00:00
User.h Remove a ton of extraneous #includes 2003-06-22 03:08:05 +00:00
Value.h Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'. 2003-06-18 19:22:36 +00:00