Sha256: 50202e0a7b98e9f79eb84dbb6b1cfbcb3e6f5d30ba0127b6df977d12ee430334
Contents?: true
Size: 1.28 KB
Versions: 4
Compression:
Stored size: 1.28 KB
Contents
;; Prelude definitions specific to the mid-end. ;;;;; eclass and enode access ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Extract any node(s) for the given eclass ID. (decl multi inst_data (Type InstructionData) Value) (extern extractor inst_data inst_data_etor) ;; Construct a pure node, returning a new (or deduplicated ;; already-existing) eclass ID. (decl make_inst (Type InstructionData) Value) (extern constructor make_inst make_inst_ctor) ;; Constructors for value arrays. (decl value_array_2_ctor (Value Value) ValueArray2) (extern constructor value_array_2_ctor value_array_2_ctor) (decl value_array_3_ctor (Value Value Value) ValueArray3) (extern constructor value_array_3_ctor value_array_3_ctor) ;;;;; optimization toplevel ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; The main matcher rule invoked by the toplevel driver. (decl multi simplify (Value) Value) ;; Mark a node as requiring remat when used in a different block. (decl remat (Value) Value) (extern constructor remat remat) ;; Mark a node as subsuming whatever else it's rewritten from -- this ;; is definitely preferable, not just a possible option. Useful for, ;; e.g., constant propagation where we arrive at a definite "final ;; answer". (decl subsume (Value) Value) (extern constructor subsume subsume)
Version data entries
4 entries across 4 versions & 1 rubygems