| Misha Brukman | bc9ccf6 | 2005-02-04 20:25:52 +0000 | [diff] [blame^] | 1 | //===- AlphaInstrInfo.h - Alpha Instruction Information ---------*- C++ -*-===// | 
| Andrew Lenharth | 304d0f3 | 2005-01-22 23:41:55 +0000 | [diff] [blame] | 2 | //  | 
 | 3 | //                     The LLVM Compiler Infrastructure | 
 | 4 | // | 
 | 5 | // This file was developed by the LLVM research group and is distributed under | 
 | 6 | // the University of Illinois Open Source License. See LICENSE.TXT for details. | 
 | 7 | //  | 
 | 8 | //===----------------------------------------------------------------------===// | 
 | 9 | // | 
 | 10 | // This file contains the Alpha implementation of the TargetInstrInfo class. | 
 | 11 | // | 
 | 12 | //===----------------------------------------------------------------------===// | 
 | 13 |  | 
 | 14 | #ifndef ALPHAINSTRUCTIONINFO_H | 
 | 15 | #define ALPHAINSTRUCTIONINFO_H | 
 | 16 |  | 
 | 17 | #include "llvm/Target/TargetInstrInfo.h" | 
 | 18 | #include "AlphaRegisterInfo.h" | 
 | 19 |  | 
 | 20 | namespace llvm { | 
 | 21 |  | 
 | 22 | class AlphaInstrInfo : public TargetInstrInfo { | 
 | 23 |   const AlphaRegisterInfo RI; | 
 | 24 | public: | 
 | 25 |   AlphaInstrInfo(); | 
 | 26 |  | 
 | 27 |   /// getRegisterInfo - TargetInstrInfo is a superset of MRegister info.  As | 
 | 28 |   /// such, whenever a client has an instance of instruction info, it should | 
 | 29 |   /// always be able to get register info as well (through this method). | 
 | 30 |   /// | 
 | 31 |   virtual const MRegisterInfo &getRegisterInfo() const { return RI; } | 
 | 32 |  | 
 | 33 |   /// Return true if the instruction is a register to register move and | 
 | 34 |   /// leave the source and dest operands in the passed parameters. | 
 | 35 |   /// | 
 | 36 |   virtual bool isMoveInstr(const MachineInstr &MI, | 
 | 37 |                            unsigned &SrcReg, unsigned &DstReg) const; | 
 | 38 | }; | 
 | 39 |  | 
 | 40 | } | 
 | 41 |  | 
 | 42 | #endif |