diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-09-30 15:35:21 +0200 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-09-30 15:35:21 +0200 |
commit | 5673d04d22334c2493efe5a2ff8108768e089be2 (patch) | |
tree | 00fc7f0de1f0e62b5857635135053ff029986e95 /scheduling/BTLtypes.ml | |
parent | 1b87b2abead3751eb0564ac36030501a9cec748c (diff) | |
download | compcert-kvx-5673d04d22334c2493efe5a2ff8108768e089be2.tar.gz compcert-kvx-5673d04d22334c2493efe5a2ff8108768e089be2.zip |
fix issue #247 by using a BTL's ghostfield
Diffstat (limited to 'scheduling/BTLtypes.ml')
-rw-r--r-- | scheduling/BTLtypes.ml | 20 |
1 files changed, 18 insertions, 2 deletions
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) + *) |