LLVM  8.0.1
Functions
XCoreISelDAGToDAG.cpp File Reference
#include "XCore.h"
#include "XCoreTargetMachine.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "XCoreGenDAGISel.inc"
Include dependency graph for XCoreISelDAGToDAG.cpp:

Go to the source code of this file.

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. More...
 

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 217 of file XCoreISelDAGToDAG.cpp.

References llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::MVT::Glue, llvm::ISD::INTRINSIC_W_CHAIN, llvm::MVT::Other, llvm::XCoreISD::PCRelativeWrapper, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::ISD::TargetBlockAddress, llvm::ISD::TokenFactor, and llvm::Intrinsic::xcore_checkevent.