blob: 64001adf6a101f2f65d324a371224af86c1ae79e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
open Registers
type inst_info = {
mutable inumb : int;
mutable opt_info : bool option;
mutable visited : bool;
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;
mutable visited : bool;
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)
*)
|