LLVM API Documentation

Thumb2RegisterInfo.h
Go to the documentation of this file.
00001 //===- Thumb2RegisterInfo.h - Thumb-2 Register Information Impl -*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file contains the Thumb-2 implementation of the TargetRegisterInfo
00011 // class.
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #ifndef LLVM_LIB_TARGET_ARM_THUMB2REGISTERINFO_H
00016 #define LLVM_LIB_TARGET_ARM_THUMB2REGISTERINFO_H
00017 
00018 #include "ARMBaseRegisterInfo.h"
00019 
00020 namespace llvm {
00021 
00022 class ARMSubtarget;
00023 
00024 struct Thumb2RegisterInfo : public ARMBaseRegisterInfo {
00025 public:
00026   Thumb2RegisterInfo(const ARMSubtarget &STI);
00027 
00028   /// emitLoadConstPool - Emits a load from constpool to materialize the
00029   /// specified immediate.
00030   void
00031   emitLoadConstPool(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
00032                     DebugLoc dl, unsigned DestReg, unsigned SubIdx, int Val,
00033                     ARMCC::CondCodes Pred = ARMCC::AL, unsigned PredReg = 0,
00034                     unsigned MIFlags = MachineInstr::NoFlags) const override;
00035 };
00036 }
00037 
00038 #endif