LLVM  8.0.1
ARCInfo.h
Go to the documentation of this file.
1 //===- ARCInfo.h - Additional ARC Info --------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains small standalone helper functions and enum definitions for
11 // the ARC target useful for the compiler back-end and the MC libraries.
12 // As such, it deliberately does not include references to LLVM core
13 // code gen types, passes, etc..
14 //
15 //===----------------------------------------------------------------------===//
16 
17 #ifndef LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
18 #define LLVM_LIB_TARGET_ARC_MCTARGETDESC_ARCINFO_H
19 
20 namespace llvm {
21 
22 // Enums corresponding to ARC condition codes
23 namespace ARCCC {
24 
25 enum CondCode {
26  AL = 0x0,
27  EQ = 0x1,
28  NE = 0x2,
29  P = 0x3,
30  N = 0x4,
31  LO = 0x5,
32  HS = 0x6,
33  VS = 0x7,
34  VC = 0x8,
35  GT = 0x9,
36  GE = 0xa,
37  LT = 0xb,
38  LE = 0xc,
39  HI = 0xd,
40  LS = 0xe,
41  PNZ = 0xf,
42  Z = 0x11, // Low 4-bits = EQ
43  NZ = 0x12 // Low 4-bits = NE
44 };
45 
46 enum BRCondCode {
47  BREQ = 0x0,
48  BRNE = 0x1,
49  BRLT = 0x2,
50  BRGE = 0x3,
51  BRLO = 0x4,
52  BRHS = 0x5
53 };
54 
55 } // end namespace ARCCC
56 
57 } // end namespace llvm
58 
59 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:24