LLVM  6.0.0svn
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  GT = 0x9,
34  GE = 0xa,
35  LT = 0xb,
36  LE = 0xc,
37  HI = 0xd,
38  LS = 0xe,
39  PNZ = 0xf,
40  Z = 0x11, // Low 4-bits = EQ
41  NZ = 0x12 // Low 4-bits = NE
42 };
43 
44 enum BRCondCode {
45  BREQ = 0x0,
46  BRNE = 0x1,
47  BRLT = 0x2,
48  BRGE = 0x3,
49  BRLO = 0x4,
50  BRHS = 0x5
51 };
52 
53 } // end namespace ARCCC
54 
55 } // end namespace llvm
56 
57 #endif
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24