LLVM: lib/Target/XCore/XCoreISelDAGToDAG.cpp File Reference (original) (raw)

#include "[XCore.h](XCore%5F8h%5Fsource.html)"
#include "[XCoreTargetMachine.h](XCoreTargetMachine%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFrameInfo.h](MachineFrameInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFunction.h](MachineFunction%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/SelectionDAG.h](SelectionDAG%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/SelectionDAGISel.h](SelectionDAGISel%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetLowering.h](TargetLowering%5F8h%5Fsource.html)"
#include "[llvm/IR/Constants.h](Constants%5F8h%5Fsource.html)"
#include "[llvm/IR/Function.h](IR%5F2Function%5F8h%5Fsource.html)"
#include "[llvm/IR/Intrinsics.h](Intrinsics%5F8h%5Fsource.html)"
#include "llvm/IR/IntrinsicsXCore.h"
#include "[llvm/IR/LLVMContext.h](LLVMContext%5F8h%5Fsource.html)"
#include "[llvm/Support/ErrorHandling.h](llvm%5F2Support%5F2ErrorHandling%5F8h%5Fsource.html)"
#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()

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 AbstractManglingParser< Derived, Alloc >::Ops, llvm::SelectionDAG::getNode(), llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), SDValue(), and llvm::ISD::TokenFactor.