/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/lib/Target/Lanai/LanaiCondCode.h
Line | Count | Source (jump to first uncovered line) |
1 | | // The encoding used for conditional codes used in BR instructions |
2 | | |
3 | | #ifndef LLVM_LIB_TARGET_LANAI_LANAICONDCODE_H |
4 | | #define LLVM_LIB_TARGET_LANAI_LANAICONDCODE_H |
5 | | |
6 | | #include "llvm/ADT/StringSwitch.h" |
7 | | |
8 | | namespace llvm { |
9 | | namespace LPCC { |
10 | | enum CondCode { |
11 | | ICC_T = 0, // true |
12 | | ICC_F = 1, // false |
13 | | ICC_HI = 2, // high |
14 | | ICC_UGT = 2, // unsigned greater than |
15 | | ICC_LS = 3, // low or same |
16 | | ICC_ULE = 3, // unsigned less than or equal |
17 | | ICC_CC = 4, // carry cleared |
18 | | ICC_ULT = 4, // unsigned less than |
19 | | ICC_CS = 5, // carry set |
20 | | ICC_UGE = 5, // unsigned greater than or equal |
21 | | ICC_NE = 6, // not equal |
22 | | ICC_EQ = 7, // equal |
23 | | ICC_VC = 8, // oVerflow cleared |
24 | | ICC_VS = 9, // oVerflow set |
25 | | ICC_PL = 10, // plus |
26 | | ICC_MI = 11, // minus |
27 | | ICC_GE = 12, // greater than or equal |
28 | | ICC_LT = 13, // less than |
29 | | ICC_GT = 14, // greater than |
30 | | ICC_LE = 15, // less than or equal |
31 | | UNKNOWN |
32 | | }; |
33 | | |
34 | 202 | inline static StringRef lanaiCondCodeToString(LPCC::CondCode CC) { |
35 | 202 | switch (CC) { |
36 | 202 | case LPCC::ICC_T: |
37 | 5 | return "t"; // true |
38 | 202 | case LPCC::ICC_F: |
39 | 6 | return "f"; // false |
40 | 202 | case LPCC::ICC_NE: |
41 | 24 | return "ne"; // not equal |
42 | 202 | case LPCC::ICC_EQ: |
43 | 24 | return "eq"; // equal |
44 | 202 | case LPCC::ICC_VC: |
45 | 7 | return "vc"; // oVerflow cleared |
46 | 202 | case LPCC::ICC_VS: |
47 | 7 | return "vs"; // oVerflow set |
48 | 202 | case LPCC::ICC_PL: |
49 | 11 | return "pl"; // plus |
50 | 202 | case LPCC::ICC_MI: |
51 | 8 | return "mi"; // minus |
52 | 202 | case LPCC::ICC_GE: |
53 | 11 | return "ge"; // greater than or equal |
54 | 202 | case LPCC::ICC_LT: |
55 | 18 | return "lt"; // less than |
56 | 202 | case LPCC::ICC_GT: |
57 | 14 | return "gt"; // greater than |
58 | 202 | case LPCC::ICC_LE: |
59 | 5 | return "le"; // less than or equal |
60 | 202 | case LPCC::ICC_UGT: |
61 | 15 | return "ugt"; // high | unsigned greater than |
62 | 202 | case LPCC::ICC_ULE: |
63 | 14 | return "ule"; // low or same | unsigned less or equal |
64 | 202 | case LPCC::ICC_ULT: |
65 | 18 | return "ult"; // carry cleared | unsigned less than |
66 | 202 | case LPCC::ICC_UGE: |
67 | 15 | return "uge"; // carry set | unsigned than or equal |
68 | 202 | default: |
69 | 0 | llvm_unreachable("Invalid cond code"); |
70 | 202 | } |
71 | 202 | } Unexecuted instantiation: LanaiAsmPrinter.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) Unexecuted instantiation: LanaiInstrInfo.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) Unexecuted instantiation: LanaiISelLowering.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) Unexecuted instantiation: LanaiRegisterInfo.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) Unexecuted instantiation: LanaiAsmParser.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) LanaiInstPrinter.cpp:llvm::LPCC::lanaiCondCodeToString(llvm::LPCC::CondCode) Line | Count | Source | 34 | 202 | inline static StringRef lanaiCondCodeToString(LPCC::CondCode CC) { | 35 | 202 | switch (CC) { | 36 | 202 | case LPCC::ICC_T: | 37 | 5 | return "t"; // true | 38 | 202 | case LPCC::ICC_F: | 39 | 6 | return "f"; // false | 40 | 202 | case LPCC::ICC_NE: | 41 | 24 | return "ne"; // not equal | 42 | 202 | case LPCC::ICC_EQ: | 43 | 24 | return "eq"; // equal | 44 | 202 | case LPCC::ICC_VC: | 45 | 7 | return "vc"; // oVerflow cleared | 46 | 202 | case LPCC::ICC_VS: | 47 | 7 | return "vs"; // oVerflow set | 48 | 202 | case LPCC::ICC_PL: | 49 | 11 | return "pl"; // plus | 50 | 202 | case LPCC::ICC_MI: | 51 | 8 | return "mi"; // minus | 52 | 202 | case LPCC::ICC_GE: | 53 | 11 | return "ge"; // greater than or equal | 54 | 202 | case LPCC::ICC_LT: | 55 | 18 | return "lt"; // less than | 56 | 202 | case LPCC::ICC_GT: | 57 | 14 | return "gt"; // greater than | 58 | 202 | case LPCC::ICC_LE: | 59 | 5 | return "le"; // less than or equal | 60 | 202 | case LPCC::ICC_UGT: | 61 | 15 | return "ugt"; // high | unsigned greater than | 62 | 202 | case LPCC::ICC_ULE: | 63 | 14 | return "ule"; // low or same | unsigned less or equal | 64 | 202 | case LPCC::ICC_ULT: | 65 | 18 | return "ult"; // carry cleared | unsigned less than | 66 | 202 | case LPCC::ICC_UGE: | 67 | 15 | return "uge"; // carry set | unsigned than or equal | 68 | 202 | default: | 69 | 0 | llvm_unreachable("Invalid cond code"); | 70 | 202 | } | 71 | 202 | } |
|
72 | | |
73 | 330 | inline static CondCode suffixToLanaiCondCode(StringRef S) { |
74 | 330 | return StringSwitch<CondCode>(S) |
75 | 330 | .EndsWith("f", LPCC::ICC_F) |
76 | 330 | .EndsWith("hi", LPCC::ICC_HI) |
77 | 330 | .EndsWith("ugt", LPCC::ICC_UGT) |
78 | 330 | .EndsWith("ls", LPCC::ICC_LS) |
79 | 330 | .EndsWith("ule", LPCC::ICC_ULE) |
80 | 330 | .EndsWith("cc", LPCC::ICC_CC) |
81 | 330 | .EndsWith("ult", LPCC::ICC_ULT) |
82 | 330 | .EndsWith("cs", LPCC::ICC_CS) |
83 | 330 | .EndsWith("uge", LPCC::ICC_UGE) |
84 | 330 | .EndsWith("ne", LPCC::ICC_NE) |
85 | 330 | .EndsWith("eq", LPCC::ICC_EQ) |
86 | 330 | .EndsWith("vc", LPCC::ICC_VC) |
87 | 330 | .EndsWith("vs", LPCC::ICC_VS) |
88 | 330 | .EndsWith("pl", LPCC::ICC_PL) |
89 | 330 | .EndsWith("mi", LPCC::ICC_MI) |
90 | 330 | .EndsWith("ge", LPCC::ICC_GE) |
91 | 330 | .EndsWith("lt", LPCC::ICC_LT) |
92 | 330 | .EndsWith("gt", LPCC::ICC_GT) |
93 | 330 | .EndsWith("le", LPCC::ICC_LE) |
94 | 330 | .EndsWith("t", LPCC::ICC_T) // Has to be after others with suffix t |
95 | 330 | .Default(LPCC::UNKNOWN); |
96 | 330 | } Unexecuted instantiation: LanaiAsmPrinter.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) Unexecuted instantiation: LanaiInstrInfo.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) Unexecuted instantiation: LanaiISelLowering.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) Unexecuted instantiation: LanaiRegisterInfo.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) LanaiAsmParser.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) Line | Count | Source | 73 | 330 | inline static CondCode suffixToLanaiCondCode(StringRef S) { | 74 | 330 | return StringSwitch<CondCode>(S) | 75 | 330 | .EndsWith("f", LPCC::ICC_F) | 76 | 330 | .EndsWith("hi", LPCC::ICC_HI) | 77 | 330 | .EndsWith("ugt", LPCC::ICC_UGT) | 78 | 330 | .EndsWith("ls", LPCC::ICC_LS) | 79 | 330 | .EndsWith("ule", LPCC::ICC_ULE) | 80 | 330 | .EndsWith("cc", LPCC::ICC_CC) | 81 | 330 | .EndsWith("ult", LPCC::ICC_ULT) | 82 | 330 | .EndsWith("cs", LPCC::ICC_CS) | 83 | 330 | .EndsWith("uge", LPCC::ICC_UGE) | 84 | 330 | .EndsWith("ne", LPCC::ICC_NE) | 85 | 330 | .EndsWith("eq", LPCC::ICC_EQ) | 86 | 330 | .EndsWith("vc", LPCC::ICC_VC) | 87 | 330 | .EndsWith("vs", LPCC::ICC_VS) | 88 | 330 | .EndsWith("pl", LPCC::ICC_PL) | 89 | 330 | .EndsWith("mi", LPCC::ICC_MI) | 90 | 330 | .EndsWith("ge", LPCC::ICC_GE) | 91 | 330 | .EndsWith("lt", LPCC::ICC_LT) | 92 | 330 | .EndsWith("gt", LPCC::ICC_GT) | 93 | 330 | .EndsWith("le", LPCC::ICC_LE) | 94 | 330 | .EndsWith("t", LPCC::ICC_T) // Has to be after others with suffix t | 95 | 330 | .Default(LPCC::UNKNOWN); | 96 | 330 | } |
Unexecuted instantiation: LanaiInstPrinter.cpp:llvm::LPCC::suffixToLanaiCondCode(llvm::StringRef) |
97 | | } // namespace LPCC |
98 | | } // namespace llvm |
99 | | |
100 | | #endif // LLVM_LIB_TARGET_LANAI_LANAICONDCODE_H |