Remove LdHome from HHIR; use extra data for local ids
commita44b190095486e58ef8c4bc820e0b48f77ad6b5e
authorjdelong <jdelong@fb.com>
Sat, 9 Feb 2013 23:49:14 +0000 (9 15:49 -0800)
committerSara Golemon <sgolemon@fb.com>
Wed, 13 Feb 2013 14:42:43 +0000 (13 06:42 -0800)
tree601023276529cb87fc2231487e0b61e8998e4cc2
parente69e05711a8bc7f118033c9cb6dfb08f8bdf73aa
Remove LdHome from HHIR; use extra data for local ids

Removes all uses of Type::Home in the IR.  Rather than moving
the local ids into SSATmps via DefConst, beefs up IRExtraData (adding
support for CSE-able extra data and pretty printing them), so we can
use a new LocalId extra data type for all these instructions.  This
should save us a decent number of of ConstInstructions and reduce the
size of the IR, while also making accesses to local ids a little less
untyped.
14 files changed:
hphp/doc/ir.specification
hphp/runtime/vm/translator/hopt/codegen.cpp
hphp/runtime/vm/translator/hopt/codegen.h
hphp/runtime/vm/translator/hopt/dce.cpp
hphp/runtime/vm/translator/hopt/hhbctranslator.cpp
hphp/runtime/vm/translator/hopt/ir.cpp
hphp/runtime/vm/translator/hopt/ir.h
hphp/runtime/vm/translator/hopt/linearscan.cpp
hphp/runtime/vm/translator/hopt/memelim.cpp
hphp/runtime/vm/translator/hopt/test/type.cpp
hphp/runtime/vm/translator/hopt/tracebuilder.cpp
hphp/runtime/vm/translator/hopt/tracebuilder.h
hphp/runtime/vm/translator/hopt/type.cpp
hphp/runtime/vm/translator/hopt/vectortranslator.cpp