LLVM  3.7.0
Namespaces | Macros | Enumerations | Functions
XCoreInstrInfo.cpp File Reference
#include "XCoreInstrInfo.h"
#include "XCore.h"
#include "XCoreMachineFunctionInfo.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/MC/MCContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
#include "XCoreGenInstrInfo.inc"
Include dependency graph for XCoreInstrInfo.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::XCore
 

Macros

#define GET_INSTRINFO_CTOR_DTOR
 

Enumerations

enum  llvm::XCore::CondCode { llvm::XCore::COND_TRUE, llvm::XCore::COND_FALSE, llvm::XCore::COND_INVALID }
 

Functions

static bool isZeroImm (const MachineOperand &op)
 
static bool IsBRU (unsigned BrOpc)
 
static bool IsBRT (unsigned BrOpc)
 
static bool IsBRF (unsigned BrOpc)
 
static bool IsCondBranch (unsigned BrOpc)
 
static bool IsBR_JT (unsigned BrOpc)
 
static XCore::CondCode GetCondFromBranchOpc (unsigned BrOpc)
 GetCondFromBranchOpc - Return the XCore CC that matches the correspondent Branch instruction opcode. More...
 
static unsigned GetCondBranchFromCond (XCore::CondCode CC)
 GetCondBranchFromCond - Return the Branch instruction opcode that matches the cc. More...
 
static XCore::CondCode GetOppositeBranchCondition (XCore::CondCode CC)
 GetOppositeBranchCondition - Return the inverse of the specified condition, e.g. More...
 
static bool isImmU6 (unsigned val)
 
static bool isImmU16 (unsigned val)
 
static bool isImmMskBitp (unsigned val)
 

Macro Definition Documentation

#define GET_INSTRINFO_CTOR_DTOR

Definition at line 31 of file XCoreInstrInfo.cpp.

Function Documentation

static unsigned GetCondBranchFromCond ( XCore::CondCode  CC)
inlinestatic

GetCondBranchFromCond - Return the Branch instruction opcode that matches the cc.

Definition at line 150 of file XCoreInstrInfo.cpp.

References llvm::XCore::COND_FALSE, llvm::XCore::COND_TRUE, and llvm_unreachable.

Referenced by llvm::XCoreInstrInfo::InsertBranch(), llvm::X86InstrInfo::InsertBranch(), and llvm::X86InstrInfo::optimizeCompareInstr().

static XCore::CondCode GetCondFromBranchOpc ( unsigned  BrOpc)
static

GetCondFromBranchOpc - Return the XCore CC that matches the correspondent Branch instruction opcode.

Definition at line 137 of file XCoreInstrInfo.cpp.

References llvm::XCore::COND_FALSE, llvm::XCore::COND_INVALID, llvm::XCore::COND_TRUE, IsBRF(), and IsBRT().

Referenced by llvm::XCoreInstrInfo::AnalyzeBranch().

static XCore::CondCode GetOppositeBranchCondition ( XCore::CondCode  CC)
inlinestatic

GetOppositeBranchCondition - Return the inverse of the specified condition, e.g.

turning COND_E to COND_NE.

Definition at line 161 of file XCoreInstrInfo.cpp.

References llvm::XCore::COND_FALSE, llvm::XCore::COND_TRUE, and llvm_unreachable.

Referenced by llvm::XCoreInstrInfo::ReverseBranchCondition().

static bool IsBR_JT ( unsigned  BrOpc)
inlinestatic

Definition at line 130 of file XCoreInstrInfo.cpp.

References llvm::ISD::BR_JT, and llvm::XCoreISD::BR_JT32.

Referenced by llvm::XCoreInstrInfo::AnalyzeBranch().

static bool IsBRF ( unsigned  BrOpc)
inlinestatic

Definition at line 119 of file XCoreInstrInfo.cpp.

Referenced by GetCondFromBranchOpc(), and IsCondBranch().

static bool IsBRT ( unsigned  BrOpc)
inlinestatic

Definition at line 112 of file XCoreInstrInfo.cpp.

Referenced by GetCondFromBranchOpc(), and IsCondBranch().

static bool IsBRU ( unsigned  BrOpc)
inlinestatic
static bool IsCondBranch ( unsigned  BrOpc)
inlinestatic

Definition at line 126 of file XCoreInstrInfo.cpp.

References IsBRF(), and IsBRT().

Referenced by llvm::XCoreInstrInfo::RemoveBranch().

static bool isImmMskBitp ( unsigned  val)
static

Definition at line 423 of file XCoreInstrInfo.cpp.

References llvm::isMask_32(), llvm::Log2_32(), and N.

Referenced by llvm::XCoreInstrInfo::loadImmediate().

static bool isImmU16 ( unsigned  val)
inlinestatic

Definition at line 419 of file XCoreInstrInfo.cpp.

Referenced by llvm::XCoreInstrInfo::loadImmediate().

static bool isImmU6 ( unsigned  val)
inlinestatic

Definition at line 415 of file XCoreInstrInfo.cpp.

Referenced by llvm::XCoreInstrInfo::loadImmediate().

static bool isZeroImm ( const MachineOperand op)
static