add the "eq" condition code
[oota-llvm.git] / lib / Target / ARM / ARM.h
1 //===-- ARM.h - Top-level interface for ARM representation---- --*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the "Instituto Nokia de Tecnologia" and
6 // is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 //
11 // This file contains the entry points for global functions defined in the LLVM
12 // ARM back-end.
13 //
14 //===----------------------------------------------------------------------===//
15
16 #ifndef TARGET_ARM_H
17 #define TARGET_ARM_H
18
19 #include <iosfwd>
20 #include <cassert>
21
22 namespace llvm {
23   // Enums corresponding to ARM condition codes
24   namespace ARMCC {
25     enum CondCodes {
26       NE,
27       EQ
28     };
29   }
30
31   static const char *ARMCondCodeToString(ARMCC::CondCodes CC) {
32     switch (CC) {
33     default: assert(0 && "Unknown condition code");
34     case ARMCC::NE:  return "ne";
35     case ARMCC::EQ:  return "eq";
36     }
37   }
38
39   class FunctionPass;
40   class TargetMachine;
41
42   FunctionPass *createARMISelDag(TargetMachine &TM);
43   FunctionPass *createARMCodePrinterPass(std::ostream &OS, TargetMachine &TM);
44 } // end namespace llvm;
45
46 // Defines symbolic names for ARM registers.  This defines a mapping from
47 // register name to register number.
48 //
49 #include "ARMGenRegisterNames.inc"
50
51 // Defines symbolic names for the ARM instructions.
52 //
53 #include "ARMGenInstrNames.inc"
54
55
56 #endif