core
commit681ebc3397b5cfb606c837590ce5ca6e983a56c3
authorAaron Orenstein <aorenste@fb.com>
Thu, 19 May 2022 02:34:59 +0000 (18 19:34 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Thu, 19 May 2022 02:34:59 +0000 (18 19:34 -0700)
tree3e355eab97cfd7bc46311de5f66d7cae43f3cabd
parente77b025cca483ab486c7510841c213cb5bd75bc5
core

Summary:
This is the initial version of the IR core.  The IR core contains all the basic structure of the CFG but has no auxiliary helpers (such as printing) or passes (such as rpo sorting).

The IR is intended to eventually serve as a intermediate form between AST and bytecode which is lower-level than the AST but easier to manipulate than the bytecode.

Reviewed By: shayne-fletcher

Differential Revision: D34371878

fbshipit-source-id: de6b78e5ef395f5743834941541c150438fd9092
25 files changed:
hphp/hack/src/hackc/hhbc/emit_opcodes.rs
hphp/hack/src/hackc/hhbc/hhbc_ast.rs
hphp/hack/src/hackc/hhbc/opcodes.rs
hphp/hack/src/hackc/ir/core/block.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/class.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/coeffects.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/common.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/func.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/func_builder.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/instr.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/lib.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/literal.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/module.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/newtype.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/string_intern.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/type_const.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/types.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/core/unit.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/has_loc.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/has_locals.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/has_operands.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/lib.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/operands.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/simple_type.rs [new file with mode: 0644]
hphp/hack/src/hackc/ir/macros/util.rs [new file with mode: 0644]