LLVM  8.0.1
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
 This class represents lattice values for constants.
 
 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

◆ GET_INSTRINFO_CTOR_DTOR

#define GET_INSTRINFO_CTOR_DTOR

Definition at line 31 of file XCoreInstrInfo.cpp.

Function Documentation

◆ GetCondBranchFromCond()

static unsigned GetCondBranchFromCond ( XCore::CondCode  CC)
inlinestatic

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

Definition at line 147 of file XCoreInstrInfo.cpp.

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

Referenced by findUncondBrI(), getFallThroughMBB(), llvm::XCoreInstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), and llvm::X86InstrInfo::optimizeCompareInstr().

◆ GetCondFromBranchOpc()

static XCore::CondCode GetCondFromBranchOpc ( unsigned  BrOpc)
static

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

Definition at line 134 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().

◆ GetOppositeBranchCondition()

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 158 of file XCoreInstrInfo.cpp.

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

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

◆ IsBR_JT()

static bool IsBR_JT ( unsigned  BrOpc)
inlinestatic

Definition at line 127 of file XCoreInstrInfo.cpp.

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

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

◆ IsBRF()

static bool IsBRF ( unsigned  BrOpc)
inlinestatic

Definition at line 116 of file XCoreInstrInfo.cpp.

Referenced by GetCondFromBranchOpc(), and IsCondBranch().

◆ IsBRT()

static bool IsBRT ( unsigned  BrOpc)
inlinestatic

Definition at line 109 of file XCoreInstrInfo.cpp.

Referenced by GetCondFromBranchOpc(), and IsCondBranch().

◆ IsBRU()

static bool IsBRU ( unsigned  BrOpc)
inlinestatic

◆ IsCondBranch()

static bool IsCondBranch ( unsigned  BrOpc)
inlinestatic

Definition at line 123 of file XCoreInstrInfo.cpp.

References IsBRF(), and IsBRT().

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

◆ isImmMskBitp()

static bool isImmMskBitp ( unsigned  val)
static

Definition at line 419 of file XCoreInstrInfo.cpp.

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

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

◆ isImmU16()

static bool isImmU16 ( unsigned  val)
inlinestatic

Definition at line 415 of file XCoreInstrInfo.cpp.

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

◆ isImmU6()

static bool isImmU6 ( unsigned  val)
inlinestatic

Definition at line 411 of file XCoreInstrInfo.cpp.

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

◆ isZeroImm()

static bool isZeroImm ( const MachineOperand op)
static