Completely eliminate the per-machine-instruction regsUsed set.
authorChris Lattner <sabre@nondot.org>
Tue, 5 Aug 2003 22:39:13 +0000 (22:39 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 5 Aug 2003 22:39:13 +0000 (22:39 +0000)
commit5e8b77e37556ee6ae2cdc49405b074b82b2a1c74
tree41e4d1885baa946e478fba7915e0e5850e03a285
parent3fd1f5bb6af4616f72f6e7920c2fc4b334277416
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
include/llvm/CodeGen/MachineInstr.h