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 // Definition of integer Registry-key Values
10 // (may merge this into igc_flags.h's macro)
11 enum {
12     // EnableVISAStructurizer
13     FLAG_SCF_Disable = 0,      // UCF (goto/join)
14     FLAG_SCF_Default = 1,      // SCF as much as possible
15     FLAG_SCF_Aggressive = 2,   // May do more transformations to favor SCF, not
16                                // necesssarily better perf than FLAG_SCF_Default
17     FLAG_SCF_UCFOnly = 3,      // [debugging] Using the structurizer, but only generate
18                                // UCF (unstructured control flow, that is, goto/join/jmpi).
19                                // Note that turnning off (0) the structurizer will end up
20                                // with UCF as well, but going through different code path
21 
22     // Generic debug level
23     FLAG_LEVEL_0 = 0,          // Debugging is off
24     FLAG_LEVEL_1 = 1,          // Level 1
25     FLAG_LEVEL_2 = 2,          // Level 2 : level 1 + more
26 
27     // Function-call-handling control
28     FLAG_FCALL_DEFAULT = 0,    // default, compiler best-effort
29     FLAG_FCALL_FORCE_INLINE = 1,
30     FLAG_FCALL_FORCE_SUBROUTINE = 2,
31     FLAG_FCALL_FORCE_STACKCALL = 3,
32     FLAG_FCALL_FORCE_INDIRECTCALL = 4,
33 
34     // General flags with compiler-defined default value
35     DEFAULTABLE_FLAG_DEFAULT = 0,
36     DEFAULTABLE_FLAG_ENABLE = 1,
37     DEFAULTABLE_FLAG_DISABLE = 2,
38 
39     FLAG_LAST_Entry
40 };
41 
42