From 5673d04d22334c2493efe5a2ff8108768e089be2 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Thu, 30 Sep 2021 15:35:21 +0200 Subject: fix issue #247 by using a BTL's ghostfield --- scheduling/BTLtypes.ml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'scheduling/BTLtypes.ml') diff --git a/scheduling/BTLtypes.ml b/scheduling/BTLtypes.ml index 12ca30e8..64001adf 100644 --- a/scheduling/BTLtypes.ml +++ b/scheduling/BTLtypes.ml @@ -2,10 +2,19 @@ open Registers type inst_info = { mutable inumb : int; - mutable pcond : bool option; + mutable opt_info : bool option; mutable visited : bool; - mutable liveins: Regset.t; + mutable liveins : Regset.t; } +(** This struct is a ghost field attached to each BTL instruction + * inumb: int field used for remembering the original numbering of CFG + * opt_info: option bool used for various tests: + * - On Bcond, stores the prediction information + * - On Bload, stores the trapping information (if Some false, the load was + * initially non-trapping, and the opposite if some true) + * visited: boolean used to mark nodes + * liveins: set of lives registers + *) type block_info = { mutable bnumb : int; @@ -13,3 +22,10 @@ type block_info = { s_output_regs : Regset.t; typing : RTLtyping.regenv; } +(** Struct attached to each BTL iblock_info type + * bnumb: int representing the block id in the BTL CFG + * visited: boolean used to mark blocks + * s_output_regs: set of output registers + * typing: field transferring RTL typing information in BTL (used in regpres + * scheduling) + *) -- cgit