Teach the MBlaze disassembler to disassemble special purpose registers.
[oota-llvm.git] / lib / Target / MBlaze / MBlazeIntrinsicInfo.h
1 //===- MBlazeIntrinsicInfo.h - MBlaze Intrinsic Information -----*- 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 the MBlaze implementation of TargetIntrinsicInfo.
11 //
12 //===----------------------------------------------------------------------===//
13 #ifndef MBLAZEINTRINSICS_H
14 #define MBLAZEINTRINSICS_H
15
16 #include "llvm/Target/TargetIntrinsicInfo.h"
17
18 namespace llvm {
19
20   class MBlazeIntrinsicInfo : public TargetIntrinsicInfo {
21   public:
22     std::string getName(unsigned IntrID, const Type **Tys = 0,
23                         unsigned numTys = 0) const;
24     unsigned lookupName(const char *Name, unsigned Len) const;
25     unsigned lookupGCCName(const char *Name) const;
26     bool isOverloaded(unsigned IID) const;
27     Function *getDeclaration(Module *M, unsigned ID, const Type **Tys = 0,
28                              unsigned numTys = 0) const;
29   };
30
31 }
32
33 #endif