LLVM  6.0.0svn
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/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 "llvm/Target/TargetLowering.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 218 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, isPodLike< T >::value >::push_back(), llvm::ISD::TargetBlockAddress, and llvm::ISD::TokenFactor.