LLVM 20.0.0git
|
#include "SystemZTargetMachine.h"
#include "SystemZISelLowering.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/SelectionDAGISel.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 23 of file SystemZISelDAGToDAG.cpp.
#define PASS_NAME "SystemZ DAG->DAG Pattern Instruction Selection" |
Definition at line 24 of file SystemZISelDAGToDAG.cpp.
Definition at line 429 of file SystemZISelDAGToDAG.cpp.
Referenced by expandAdjDynAlloc(), and expandDisp().
Definition at line 440 of file SystemZISelDAGToDAG.cpp.
References changeComponent().
|
static |
Definition at line 464 of file SystemZISelDAGToDAG.cpp.
References changeComponent(), and selectDisp().
Definition at line 452 of file SystemZISelDAGToDAG.cpp.
References llvm::sampleprof::Base.
Definition at line 1936 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 |
|
static |
Definition at line 1303 of file SystemZISelDAGToDAG.cpp.
References 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::SDValue::getOperand(), llvm::SDNode::getOperand(), llvm::SDValue::getResNo(), llvm::SDNode::hasNUsesOfValue(), llvm::SDNode::hasPredecessorHelper(), llvm::MemSDNode::isNonTemporal(), llvm::ISD::isNormalLoad(), llvm::ISD::isNormalStore(), llvm::SDNode::ops(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::ISD::TokenFactor.
|
static |
Definition at line 523 of file SystemZISelDAGToDAG.cpp.
References assert(), llvm_unreachable, and selectDisp().
Definition at line 791 of file SystemZISelDAGToDAG.cpp.
|
static |
Definition at line 411 of file SystemZISelDAGToDAG.cpp.
References llvm_unreachable.
Referenced by expandDisp(), and isValidDisp().
Definition at line 543 of file SystemZISelDAGToDAG.cpp.
References llvm::sampleprof::Base, llvm::ISD::FrameIndex, llvm::ISD::SIGN_EXTEND, and llvm::ISD::SIGN_EXTEND_INREG.