LLVM 20.0.0git
|
#include "LegalizeTypes.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/CodeGen/StackMaps.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/KnownBits.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "legalize-types" |
Functions | |
static SDValue | SaturateWidenedDIVFIX (SDValue V, SDLoc &dl, unsigned SatW, bool Signed, const TargetLowering &TLI, SelectionDAG &DAG) |
static SDValue | earlyExpandDIVFIX (SDNode *N, SDValue LHS, SDValue RHS, unsigned Scale, const TargetLowering &TLI, SelectionDAG &DAG, unsigned SatW=0) |
static unsigned | getExtendForIntVecReduction (SDNode *N) |
static std::pair< ISD::CondCode, ISD::NodeType > | getExpandedMinMaxOps (int Op) |
static SDValue | fpExtendHelper (SDValue Op, SDValue &Chain, bool IsStrict, EVT VT, SDLoc DL, SelectionDAG &DAG) |
#define DEBUG_TYPE "legalize-types" |
Definition at line 31 of file LegalizeIntegerTypes.cpp.
|
static |
Definition at line 1217 of file LegalizeIntegerTypes.cpp.
References assert(), llvm::TargetLowering::expandFixedPointDiv(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getExtOrTrunc(), llvm::EVT::getIntegerVT(), llvm::EVT::getScalarSizeInBits(), llvm::EVT::getVectorElementCount(), llvm::EVT::getVectorVT(), llvm::SelectionDAG::getZExtOrTrunc(), llvm::EVT::isVector(), LHS, N, RHS, SaturateWidenedDIVFIX(), llvm::ISD::SDIVFIX, llvm::ISD::SDIVFIXSAT, Signed, and llvm::ISD::UDIVFIXSAT.
|
static |
Definition at line 3991 of file LegalizeIntegerTypes.cpp.
References DL, llvm::ISD::FP_EXTEND, llvm::SelectionDAG::getNode(), and llvm::ISD::STRICT_FP_EXTEND.
|
static |
Definition at line 3312 of file LegalizeIntegerTypes.cpp.
References llvm_unreachable, llvm::ISD::SETGT, llvm::ISD::SETLT, llvm::ISD::SETUGT, llvm::ISD::SETULT, llvm::ISD::SMAX, llvm::ISD::SMIN, llvm::ISD::UMAX, and llvm::ISD::UMIN.
Definition at line 2621 of file LegalizeIntegerTypes.cpp.
References llvm::ISD::ANY_EXTEND, llvm_unreachable, N, llvm::ISD::SIGN_EXTEND, llvm::ISD::VECREDUCE_ADD, llvm::ISD::VECREDUCE_AND, llvm::ISD::VECREDUCE_MUL, llvm::ISD::VECREDUCE_OR, llvm::ISD::VECREDUCE_SMAX, llvm::ISD::VECREDUCE_SMIN, llvm::ISD::VECREDUCE_UMAX, llvm::ISD::VECREDUCE_UMIN, llvm::ISD::VECREDUCE_XOR, and llvm::ISD::ZERO_EXTEND.
|
static |
Definition at line 1189 of file LegalizeIntegerTypes.cpp.
References llvm::SelectionDAG::getConstant(), llvm::APInt::getHighBitsSet(), llvm::APInt::getLowBitsSet(), llvm::SelectionDAG::getNode(), llvm::EVT::getScalarSizeInBits(), Signed, llvm::ISD::SMAX, llvm::ISD::SMIN, and llvm::ISD::UMIN.
Referenced by earlyExpandDIVFIX().