1 /*========================== begin_copyright_notice ============================
2 
3 Copyright (C) 2017-2021 Intel Corporation
4 
5 SPDX-License-Identifier: MIT
6 
7 ============================= end_copyright_notice ===========================*/
8 
9 #ifndef _DEPENDENCIES_H_
10 #define _DEPENDENCIES_H_
11 
12 #include "../G4_Opcode.h"
13 
14 class Options;
15 
16 namespace vISA {
17 
18 class G4_INST;
19 
20 enum DepType
21 {
22     NODEP = 0,
23     RAW, RAW_MEMORY,
24     WAR, WAR_MEMORY,
25     WAW, WAW_MEMORY,
26     CONTROL_FLOW_BARRIER,
27     SEND_BARRIER,
28     INDIRECT_ADDR_BARRIER,
29     MSG_BARRIER,
30     DEP_LABEL,
31     OPT_BARRIER,
32     DEPTYPE_MAX
33 };
34 
35 DepType getDepSend(G4_INST *curInst, G4_INST *liveInst, bool BTIIsRestrict);
36 
37 DepType getDepScratchSend(G4_INST *curInst, G4_INST *liveInst);
38 
39 DepType CheckBarrier(G4_INST *inst);
40 
41 DepType getDepForOpnd(Gen4_Operand_Number cur, Gen4_Operand_Number liv);
42 } // namespace vISA
43 
44 #endif
45