|
| PPCIntrinsicLibrary (fir::FirOpBuilder &builder, mlir::Location loc) |
|
| PPCIntrinsicLibrary (const PPCIntrinsicLibrary &)=delete |
|
bool | isBEVecElemOrderOnLE () |
|
bool | isNativeVecElemOrderOnLE () |
|
bool | changeVecElemOrder () |
|
template<MMAOp IntrId, MMAHandlerOp HandlerOp> |
void | genMmaIntr (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<bool isImm> |
void | genMtfsf (llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genVecAbs (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecAddAndMulSubXor (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecCmp (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecConvert (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecAnyCompare (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genVecExtract (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genVecInsert (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecMerge (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecPerm (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genVecXlGrp (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecLdCallGrp (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecLdNoCallGrp (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecLvsGrp (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecNmaddMsub (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
fir::ExtendedValue | genVecShift (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genVecSel (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<VecOp > |
void | genVecStore (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<VecOp > |
void | genVecXStore (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<VecOp vop> |
fir::ExtendedValue | genVecSplat (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genVecXlds (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
| IntrinsicLibrary (fir::FirOpBuilder &builder, mlir::Location loc, Fortran::lower::AbstractConverter *converter=nullptr) |
|
| IntrinsicLibrary (const IntrinsicLibrary &)=delete |
|
std::pair< fir::ExtendedValue, bool > | genIntrinsicCall (llvm::StringRef name, std::optional< mlir::Type > resultType, llvm::ArrayRef< fir::ExtendedValue > arg) |
|
mlir::Value | genRuntimeCall (llvm::StringRef name, mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
RuntimeCallGenerator | getRuntimeCallGenerator (llvm::StringRef name, mlir::FunctionType soughtFuncType) |
|
void | genAbort (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAbs (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genAcosd (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<void(*)(fir::FirOpBuilder &, mlir::Location loc, mlir::Value, mlir::Value) CallRuntime> |
fir::ExtendedValue | genAdjustRtCall (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAimag (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genAint (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genAll (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genAllocated (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAnint (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genAny (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAtanpi (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genCommandArgumentCount (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAsind (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genAssociated (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genAtand (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genBesselJn (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genBesselYn (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<mlir::arith::CmpIPredicate pred> |
mlir::Value | genBitwiseCompare (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | genBtest (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genCeiling (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genChar (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<mlir::arith::CmpIPredicate pred> |
fir::ExtendedValue | genCharacterCompare (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genCmplx (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genConjg (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genCount (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genCpuTime (llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genCshift (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genCAssociatedCFunPtr (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
| C_ASSOCIATED (C_FUNPTR [, C_FUNPTR])
|
|
fir::ExtendedValue | genCAssociatedCPtr (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
| C_ASSOCIATED (C_PTR [, C_PTR])
|
|
fir::ExtendedValue | genCDevLoc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genErfcScaled (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
void | genCFPointer (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genCFProcPointer (llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genCFunLoc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genCLoc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<mlir::arith::CmpIPredicate pred> |
fir::ExtendedValue | genCPtrCompare (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genCosd (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
void | genDateAndTime (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genDim (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genDotProduct (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genDprod (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genDshiftl (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genDshiftr (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genEoshift (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genExit (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genExecuteCommandLine (mlir::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genEtime (std::optional< mlir::Type >, mlir::ArrayRef< fir::ExtendedValue > args) |
|
mlir::Value | genExponent (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genExtendsTypeOf (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<Extremum , ExtremumBehavior > |
mlir::Value | genExtremum (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genFloor (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genFraction (mlir::Type resultType, mlir::ArrayRef< mlir::Value > args) |
|
void | genFree (mlir::ArrayRef< fir::ExtendedValue > args) |
|
fir::ExtendedValue | genGetCwd (std::optional< mlir::Type > resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
void | genGetCommand (mlir::ArrayRef< fir::ExtendedValue > args) |
|
mlir::Value | genGetPID (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
void | genGetCommandArgument (mlir::ArrayRef< fir::ExtendedValue > args) |
|
void | genGetEnvironmentVariable (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genGetGID (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | genGetUID (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
fir::ExtendedValue | genIall (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIand (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genIany (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIbclr (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIbits (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIbset (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genIchar (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genFindloc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIeeeClass (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeCopySign (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
void | genIeeeGetFlag (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genIeeeGetHaltingMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<bool isGet, bool isModes> |
void | genIeeeGetOrSetModesOrStatus (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genIeeeGetRoundingMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genIeeeGetUnderflowMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIeeeInt (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeIsFinite (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeIsNan (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeIsNegative (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeIsNormal (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeLogb (mlir::Type, mlir::ArrayRef< mlir::Value >) |
|
template<bool isMax, bool isNum, bool isMag> |
mlir::Value | genIeeeMaxMin (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<mlir::arith::CmpFPredicate pred> |
mlir::Value | genIeeeQuietCompare (mlir::Type resultType, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeReal (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeRem (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeRint (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<bool isFlag> |
void | genIeeeSetFlagOrHaltingMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genIeeeSetRoundingMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genIeeeSetUnderflowMode (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<mlir::arith::CmpFPredicate pred> |
mlir::Value | genIeeeSignalingCompare (mlir::Type resultType, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeSignbit (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genIeeeSupportFlag (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genIeeeSupportHalting (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIeeeSupportRounding (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<mlir::arith::CmpIPredicate pred> |
mlir::Value | genIeeeTypeCompare (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeUnordered (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeeeValue (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIeor (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genIndex (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genIor (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genIparity (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genIsContiguous (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<Fortran::runtime::io::Iostat value> |
mlir::Value | genIsIostatValue (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIsFPClass (mlir::Type, llvm::ArrayRef< mlir::Value >, int fpclass) |
|
mlir::Value | genIshft (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genIshftc (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genLbound (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genLeadz (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genLen (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genLenTrim (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genLoc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genMalloc (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<typename Shift > |
mlir::Value | genMask (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genMatmul (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genMatmulTranspose (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genMaxloc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genMaxval (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genMerge (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genMergeBits (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genMinloc (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genMinval (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genMod (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genModulo (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
void | genMoveAlloc (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genMvbits (llvm::ArrayRef< fir::ExtendedValue >) |
|
template<NearestProc > |
mlir::Value | genNearest (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genNint (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genNorm2 (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genNot (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genNull (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genPack (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genParity (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genPopcnt (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genPoppar (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genPresent (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genProduct (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genRandomInit (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genRandomNumber (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genRandomSeed (llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genReduce (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genReduceDim (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genRename (std::optional< mlir::Type >, mlir::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genRepeat (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genReshape (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genRRSpacing (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
fir::ExtendedValue | genSameTypeAs (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genScale (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genScan (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genSecond (std::optional< mlir::Type >, mlir::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genSelectedCharKind (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genSelectedIntKind (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSelectedLogicalKind (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSelectedRealKind (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSetExponent (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
fir::ExtendedValue | genShape (mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue >) |
|
template<typename Shift > |
mlir::Value | genShift (mlir::Type resultType, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genShiftA (mlir::Type resultType, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSign (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSind (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genSize (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genSizeOf (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genSpacing (mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
fir::ExtendedValue | genSpread (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genStorageSize (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genSum (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genSignalSubroutine (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genSleep (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genSyncThreads (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genSyncThreadsAnd (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSyncThreadsCount (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genSyncThreadsOr (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genSystem (std::optional< mlir::Type >, mlir::ArrayRef< fir::ExtendedValue > args) |
|
void | genSystemClock (llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genTand (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
mlir::Value | genTrailz (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
fir::ExtendedValue | genTransfer (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genTranspose (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genThreadFence (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genThreadFenceBlock (llvm::ArrayRef< fir::ExtendedValue >) |
|
void | genThreadFenceSystem (llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genTrim (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genUbound (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genUnpack (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
fir::ExtendedValue | genVerify (mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
|
mlir::Value | genConversion (mlir::Type, llvm::ArrayRef< mlir::Value >) |
|
template<typename FN , typename FD > |
fir::ExtendedValue | genExtremumloc (FN func, FD funcDim, llvm::StringRef errMsg, mlir::Type, llvm::ArrayRef< fir::ExtendedValue >) |
| Process calls to Minloc, Maxloc intrinsic functions.
|
|
template<typename FN , typename FD , typename FC > |
fir::ExtendedValue | genExtremumVal (FN func, FD funcDim, FC funcChar, llvm::StringRef errMsg, mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
| Helper for MinVal/MaxVal.
|
|
template<typename FN , typename FD > |
fir::ExtendedValue | genReduction (FN func, FD funcDim, llvm::StringRef errMsg, mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
| Process calls to Product, Sum, IAll, IAny, IParity intrinsic functions.
|
|
void | genRaiseExcept (int excepts, mlir::Value cond={}) |
|
mlir::Value | genQNan (mlir::Type resultType) |
| Generate a quiet NaN of a given floating point type.
|
|
template<typename GeneratorType > |
mlir::Value | outlineInWrapper (GeneratorType, llvm::StringRef name, mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
template<typename GeneratorType > |
fir::ExtendedValue | outlineInExtendedWrapper (GeneratorType, llvm::StringRef name, std::optional< mlir::Type > resultType, llvm::ArrayRef< fir::ExtendedValue > args) |
|
template<typename GeneratorType > |
mlir::func::FuncOp | getWrapper (GeneratorType, llvm::StringRef name, mlir::FunctionType, bool loadRefArguments=false) |
|
template<typename GeneratorType > |
fir::ExtendedValue | genElementalCall (GeneratorType, llvm::StringRef name, mlir::Type resultType, llvm::ArrayRef< fir::ExtendedValue > args, bool outline) |
| Generate calls to ElementalGenerator, handling the elemental aspects.
|
|
mlir::Value | invokeGenerator (ElementalGenerator generator, mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
| Helper to invoke code generator for the intrinsics given arguments.
|
|
mlir::Value | invokeGenerator (RuntimeCallGenerator generator, mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | invokeGenerator (ExtendedGenerator generator, mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | invokeGenerator (SubroutineGenerator generator, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | invokeGenerator (DualGenerator generator, llvm::ArrayRef< mlir::Value > args) |
|
mlir::Value | invokeGenerator (DualGenerator generator, mlir::Type resultType, llvm::ArrayRef< mlir::Value > args) |
|
mlir::SymbolRefAttr | getUnrestrictedIntrinsicSymbolRefAttr (llvm::StringRef name, mlir::FunctionType signature) |
|
fir::ExtendedValue | readAndAddCleanUp (fir::MutableBoxValue resultMutableBox, mlir::Type resultType, llvm::StringRef errMsg) |
| Helper function for generating code clean-up for result descriptors.
|
|
void | setResultMustBeFreed () |
|