LLVM 20.0.0git
|
This file implements the lowering of LLVM calls to machine code calls for GlobalISel. More...
#include "RISCVCallLowering.h"
#include "RISCVISelLowering.h"
#include "RISCVMachineFunctionInfo.h"
#include "RISCVSubtarget.h"
#include "llvm/CodeGen/Analysis.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
Go to the source code of this file.
Functions | |
static bool | isLegalElementTypeForRVV (Type *EltTy, const RISCVSubtarget &Subtarget) |
Return true if scalable vector with ScalarTy is legal for lowering. | |
static bool | isSupportedArgumentType (Type *T, const RISCVSubtarget &Subtarget, bool IsLowerArgs=false) |
static bool | isSupportedReturnType (Type *T, const RISCVSubtarget &Subtarget, bool IsLowerRetVal=false) |
This file implements the lowering of LLVM calls to machine code calls for GlobalISel.
Definition in file RISCVCallLowering.cpp.
|
static |
Return true if scalable vector with ScalarTy is legal for lowering.
Definition at line 320 of file RISCVCallLowering.cpp.
References llvm::RISCVSubtarget::hasVInstructionsBF16Minimal(), llvm::RISCVSubtarget::hasVInstructionsF16(), llvm::RISCVSubtarget::hasVInstructionsF32(), llvm::RISCVSubtarget::hasVInstructionsF64(), llvm::RISCVSubtarget::hasVInstructionsI64(), llvm::RISCVSubtarget::is64Bit(), llvm::Type::isBFloatTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isHalfTy(), llvm::Type::isIntegerTy(), and llvm::Type::isPointerTy().
Referenced by isSupportedArgumentType(), and isSupportedReturnType().
|
static |
Definition at line 342 of file RISCVCallLowering.cpp.
References llvm::RISCVSubtarget::hasVInstructions(), and isLegalElementTypeForRVV().
|
static |
Definition at line 361 of file RISCVCallLowering.cpp.
References llvm::RISCVSubtarget::getXLen(), llvm::RISCVSubtarget::hasVInstructions(), isLegalElementTypeForRVV(), and isSupportedReturnType().