LLVM 20.0.0git
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/MC/TargetRegistry.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "XCoreGenInstrInfo.inc"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  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.
 
static unsigned GetCondBranchFromCond (XCore::CondCode CC)
 GetCondBranchFromCond - Return the Branch instruction opcode that matches the cc.
 
static XCore::CondCode GetOppositeBranchCondition (XCore::CondCode CC)
 GetOppositeBranchCondition - Return the inverse of the specified condition, e.g.
 
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 30 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 146 of file XCoreInstrInfo.cpp.

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

Referenced by llvm::M68kInstrInfo::AnalyzeBranchImpl(), llvm::M68kInstrInfo::insertBranch(), and llvm::XCoreInstrInfo::insertBranch().

◆ GetCondFromBranchOpc()

static XCore::CondCode GetCondFromBranchOpc ( unsigned  BrOpc)
static

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

Definition at line 133 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 157 of file XCoreInstrInfo.cpp.

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

◆ IsBR_JT()

static bool IsBR_JT ( unsigned  BrOpc)
inlinestatic

Definition at line 126 of file XCoreInstrInfo.cpp.

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

◆ IsBRF()

static bool IsBRF ( unsigned  BrOpc)
inlinestatic

Definition at line 115 of file XCoreInstrInfo.cpp.

Referenced by GetCondFromBranchOpc(), and IsCondBranch().

◆ IsBRT()

static bool IsBRT ( unsigned  BrOpc)
inlinestatic

Definition at line 108 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 122 of file XCoreInstrInfo.cpp.

References IsBRF(), and IsBRT().

Referenced by hasConditionalTerminator(), and llvm::XCoreInstrInfo::removeBranch().

◆ isImmMskBitp()

static bool isImmMskBitp ( unsigned  val)
static

Definition at line 415 of file XCoreInstrInfo.cpp.

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

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

◆ isImmU16()

static bool isImmU16 ( unsigned  val)
inlinestatic

Definition at line 411 of file XCoreInstrInfo.cpp.

◆ isImmU6()

static bool isImmU6 ( unsigned  val)
inlinestatic

Definition at line 407 of file XCoreInstrInfo.cpp.

◆ isZeroImm()

static bool isZeroImm ( const MachineOperand op)
static

Definition at line 53 of file XCoreInstrInfo.cpp.

References op.