|
LLVM 24.0.0git
|
#include "SystemZISelLowering.h"#include "SystemZTargetMachine.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/CodeGen/SelectionDAGISel.h"#include "llvm/IR/Module.h"#include "llvm/Support/Debug.h"#include "llvm/Support/KnownBits.h"#include "llvm/Support/raw_ostream.h"#include "SystemZGenDAGISel.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "systemz-isel" |
| #define | PASS_NAME "SystemZ DAG->DAG Pattern Instruction Selection" |
Functions | |
| static bool | selectDisp (SystemZAddressingMode::DispRange DR, int64_t Val) |
| static void | changeComponent (SystemZAddressingMode &AM, bool IsBase, SDValue Value) |
| static bool | expandAdjDynAlloc (SystemZAddressingMode &AM, bool IsBase, SDValue Value) |
| static bool | expandIndex (SystemZAddressingMode &AM, SDValue Base, SDValue Index) |
| static bool | expandDisp (SystemZAddressingMode &AM, bool IsBase, SDValue Op0, uint64_t Op1) |
| static bool | isValidDisp (SystemZAddressingMode::DispRange DR, int64_t Val) |
| static bool | shouldUseLA (SDNode *Base, int64_t Disp, SDNode *Index) |
| static void | insertDAGNode (SelectionDAG *DAG, SDNode *Pos, SDValue N) |
| static bool | maskMatters (RxSBGOperands &RxSBG, uint64_t Mask) |
| static bool | isFusableLoadOpStorePattern (StoreSDNode *StoreNode, SDValue StoredVal, SelectionDAG *CurDAG, LoadSDNode *&LoadNode, SDValue &InputChain) |
| static IPMConversion | getIPMConversion (unsigned CCValid, unsigned CCMask) |
| #define DEBUG_TYPE "systemz-isel" |
Definition at line 24 of file SystemZISelDAGToDAG.cpp.
| #define PASS_NAME "SystemZ DAG->DAG Pattern Instruction Selection" |
Definition at line 25 of file SystemZISelDAGToDAG.cpp.
Definition at line 443 of file SystemZISelDAGToDAG.cpp.
Referenced by expandAdjDynAlloc(), and expandDisp().
Definition at line 454 of file SystemZISelDAGToDAG.cpp.
References changeComponent().
Definition at line 478 of file SystemZISelDAGToDAG.cpp.
References changeComponent(), and selectDisp().
Definition at line 466 of file SystemZISelDAGToDAG.cpp.
References llvm::sampleprof::Base, and llvm::SDValue::getNode().
Definition at line 2004 of file SystemZISelDAGToDAG.cpp.
References llvm::SystemZ::CCMASK_0, llvm::SystemZ::CCMASK_1, llvm::SystemZ::CCMASK_2, llvm::SystemZ::CCMASK_3, llvm::SystemZ::IPM_CC, and llvm_unreachable.
|
static |
Definition at line 652 of file SystemZISelDAGToDAG.cpp.
References llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::SDNode::getNodeId(), llvm::SelectionDAGISel::getUninvalidatedNodeId(), llvm::SelectionDAGISel::InvalidateNodeId(), N, and llvm::SelectionDAG::RepositionNode().
Referenced by foldMaskAndShiftToExtract(), foldMaskAndShiftToScale(), foldMaskedShiftToBEXTR(), and foldMaskedShiftToScaledMask().
|
static |
Definition at line 1355 of file SystemZISelDAGToDAG.cpp.
References llvm::cast(), llvm::LoadSDNode::getBasePtr(), llvm::StoreSDNode::getBasePtr(), llvm::MemSDNode::getChain(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getNumOperands(), llvm::LoadSDNode::getOffset(), llvm::StoreSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::SDNode::getOperand(), llvm::SDValue::getOperand(), llvm::SDValue::getResNo(), llvm::SDNode::hasNUsesOfValue(), llvm::SDNode::hasPredecessorHelper(), llvm::MemSDNode::isNonTemporal(), llvm::ISD::isNormalLoad(), llvm::ISD::isNormalStore(), llvm::Load, llvm::SDNode::ops(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::ISD::TokenFactor.
|
static |
Definition at line 537 of file SystemZISelDAGToDAG.cpp.
References assert(), llvm::isUInt(), llvm_unreachable, and selectDisp().
Definition at line 832 of file SystemZISelDAGToDAG.cpp.
|
static |
Definition at line 425 of file SystemZISelDAGToDAG.cpp.
References llvm::isInt(), llvm::isUInt(), and llvm_unreachable.
Referenced by expandDisp(), and isValidDisp().
Definition at line 557 of file SystemZISelDAGToDAG.cpp.
References llvm::sampleprof::Base, llvm::ISD::FrameIndex, llvm::isInt(), llvm::isUInt(), llvm::ISD::SIGN_EXTEND, and llvm::ISD::SIGN_EXTEND_INREG.