|
@@ -38,11 +38,6 @@ PROCEDURE EndModule (name: ARRAY OF CHAR);
|
|
|
(* Return sequence, hoisted data, then writes the whole image to
|
|
(* Return sequence, hoisted data, then writes the whole image to
|
|
|
gen_ssa/<name>.ssa (name = program module). *)
|
|
gen_ssa/<name>.ssa (name = program module). *)
|
|
|
|
|
|
|
|
-PROCEDURE CloseModule;
|
|
|
|
|
-(* Closes the .ssa without emitting a function (units whose
|
|
|
|
|
- lowering waits for step 4: definitions, implementations,
|
|
|
|
|
- and any unit containing nested modules). *)
|
|
|
|
|
-
|
|
|
|
|
PROCEDURE DelayBegin;
|
|
PROCEDURE DelayBegin;
|
|
|
PROCEDURE DelayEnd;
|
|
PROCEDURE DelayEnd;
|
|
|
PROCEDURE DelayFlush;
|
|
PROCEDURE DelayFlush;
|
|
@@ -285,8 +280,7 @@ PROCEDURE Fold2 (kind: INTEGER; a, b: ARRAY OF CHAR; VAR r: QVal): BOOLEAN;
|
|
|
decimal literals: kind 0=+ 1=- 2=* 3=DIV 4=MOD. r gets the result
|
|
decimal literals: kind 0=+ 1=- 2=* 3=DIV 4=MOD. r gets the result
|
|
|
and TRUE is returned; otherwise r is untouched and FALSE. *)
|
|
and TRUE is returned; otherwise r is untouched and FALSE. *)
|
|
|
|
|
|
|
|
-PROCEDURE Remark (s: ARRAY OF CHAR);
|
|
|
|
|
-(* Emits a "# s" comment line. *)
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
(* ---------------- arrays (step 3.1: length-prefixed layout) ---------------- *)
|
|
(* ---------------- arrays (step 3.1: length-prefixed layout) ---------------- *)
|
|
|
(* Every array value: LONGCARD count + packed elements. Indexes and
|
|
(* Every array value: LONGCARD count + packed elements. Indexes and
|
|
@@ -491,13 +485,6 @@ PROCEDURE FwdDesignator (): INTEGER;
|
|
|
(%t =l copy 0). Returns its id (0 when full). *)
|
|
(%t =l copy 0). Returns its id (0 when full). *)
|
|
|
PROCEDURE FwdAddrOper (id: INTEGER; VAR q: QVal);
|
|
PROCEDURE FwdAddrOper (id: INTEGER; VAR q: QVal);
|
|
|
(* The address operand of patch site id. *)
|
|
(* The address operand of patch site id. *)
|
|
|
-PROCEDURE FwdPatch (site, id: INTEGER; name: ARRAY OF CHAR;
|
|
|
|
|
- oper: CHAR; global: BOOLEAN);
|
|
|
|
|
-(* Fills in a patch site: the getaddr's source and the load/store
|
|
|
|
|
- operand (oper = the QBE class letter d/l/w for the final load). *)
|
|
|
|
|
-PROCEDURE FwdElemPatch (id: INTEGER; oper: CHAR);
|
|
|
|
|
-(* Re-classes patch site id after it was indexed (the designator is now
|
|
|
|
|
- an element address rather than an array). *)
|
|
|
|
|
PROCEDURE HApp (s: ARRAY OF CHAR);
|
|
PROCEDURE HApp (s: ARRAY OF CHAR);
|
|
|
PROCEDURE UpAddrOf (flat: INTEGER; levels: CARDINAL; VAR q: QVal);
|
|
PROCEDURE UpAddrOf (flat: INTEGER; levels: CARDINAL; VAR q: QVal);
|
|
|
PROCEDURE Revive;
|
|
PROCEDURE Revive;
|