LLVM 20.0.0git
Macros | Functions
XCoreISelDAGToDAG.cpp File Reference
#include "XCore.h"
#include "XCoreTargetMachine.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsXCore.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Support/ErrorHandling.h"
#include "XCoreGenDAGISel.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "xcore-isel"
 
#define PASS_NAME   "XCore DAG->DAG Pattern Instruction Selection"
 

Functions

static SDValue replaceInChain (SelectionDAG *CurDAG, SDValue Chain, SDValue Old, SDValue New)
 Given a chain return a new chain where any appearance of Old is replaced by New.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "xcore-isel"

Definition at line 28 of file XCoreISelDAGToDAG.cpp.

◆ PASS_NAME

#define PASS_NAME   "XCore DAG->DAG Pattern Instruction Selection"

Definition at line 29 of file XCoreISelDAGToDAG.cpp.

Function Documentation

◆ replaceInChain()

static SDValue replaceInChain ( SelectionDAG CurDAG,
SDValue  Chain,
SDValue  Old,
SDValue  New 
)
static

Given a chain return a new chain where any appearance of Old is replaced by New.

There must be at most one instruction between Old and Chain and this instruction must be a TokenFactor. Returns an empty SDValue if these conditions don't hold.

Definition at line 185 of file XCoreISelDAGToDAG.cpp.

References llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::ISD::TokenFactor.