Searched refs:FMF (Results 1 - 25 of 25) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h121 Value *SimplifyFNegInst(Value *Op, FastMathFlags FMF,
133 Value *SimplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
137 Value *SimplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
141 Value *SimplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
148 Value *SimplifyFMAFMul(Value *LHS, Value *RHS, FastMathFlags FMF,
161 Value *SimplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
171 Value *SimplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
201 FastMathFlags FMF, const SimplifyQuery &Q);
247 Value *SimplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF,
257 FastMathFlags FMF, cons
[all...]
H A DIVDescriptors.h79 FastMathFlags FMF, MinMaxRecurrenceKind MK,
82 : StartValue(Start), LoopExitInstr(Exit), Kind(K), FMF(FMF),
190 FastMathFlags getFastMathFlags() { return FMF; }
233 FastMathFlags FMF; member in class:llvm::RecurrenceDescriptor
78 RecurrenceDescriptor(Value *Start, Instruction *Exit, RecurrenceKind K, FastMathFlags FMF, MinMaxRecurrenceKind MK, Instruction *UAI, Type *RT, bool Signed, SmallPtrSetImpl<Instruction *> &CI) argument
H A DTargetTransformInfo.h116 FastMathFlags FMF; member in class:llvm::IntrinsicCostAttributes
155 FastMathFlags getFlags() const { return FMF; }
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandReductions.cpp108 FastMathFlags FMF = local
116 Builder.setFastMathFlags(FMF);
125 if (!FMF.allowReassoc())
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/IR/
H A DOperator.h192 FastMathFlags FMF; local
193 FMF.setFast();
194 return FMF;
304 /// FMF is a mask of the bits to set.
305 void setFastMathFlags(FastMathFlags FMF) { argument
306 SubclassOptionalData |= FMF.Flags;
310 /// All values in FMF are transferred to this operator.
311 void copyFastMathFlags(FastMathFlags FMF) { argument
312 SubclassOptionalData = FMF.Flags;
H A DIRBuilder.h104 FastMathFlags FMF; member in class:llvm::IRBuilderBase
245 FastMathFlags getFastMathFlags() const { return FMF; }
247 FastMathFlags &getFastMathFlags() { return FMF; }
250 void clearFastMathFlags() { FMF.clear(); }
256 void setFastMathFlags(FastMathFlags NewFMF) { FMF = NewFMF; }
335 FastMathFlags FMF; member in class:llvm::IRBuilderBase::FastMathFlagGuard
343 : Builder(B), FMF(B.FMF), FPMathTag(B.DefaultFPMathTag),
352 Builder.FMF = FMF;
[all...]
H A DInstruction.h433 void setFastMathFlags(FastMathFlags FMF);
438 void copyFastMathFlags(FastMathFlags FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/AsmParser/
H A DLLParser.h212 FastMathFlags FMF; local
215 case lltok::kw_fast: FMF.setFast(); Lex.Lex(); continue;
216 case lltok::kw_nnan: FMF.setNoNaNs(); Lex.Lex(); continue;
217 case lltok::kw_ninf: FMF.setNoInfs(); Lex.Lex(); continue;
218 case lltok::kw_nsz: FMF.setNoSignedZeros(); Lex.Lex(); continue;
219 case lltok::kw_arcp: FMF.setAllowReciprocal(); Lex.Lex(); continue;
221 FMF.setAllowContract(true);
224 case lltok::kw_reassoc: FMF.setAllowReassoc(); Lex.Lex(); continue;
225 case lltok::kw_afn: FMF.setApproxFunc(); Lex.Lex(); continue;
226 default: return FMF;
[all...]
H A DLLParser.cpp5840 FastMathFlags FMF = EatFastMathFlagsIfPresent();
5844 if (FMF.any())
5845 Inst->setFastMathFlags(FMF);
5868 FastMathFlags FMF = EatFastMathFlagsIfPresent();
5872 if (FMF.any())
5873 Inst->setFastMathFlags(FMF);
5896 FastMathFlags FMF = EatFastMathFlagsIfPresent();
5900 if (FMF.any())
5901 Inst->setFastMathFlags(FMF);
5921 FastMathFlags FMF
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DInstructionSimplify.cpp3627 FastMathFlags FMF, const SimplifyQuery &Q,
3650 if (FMF.noNaNs() ||
3777 if ((FMF.noNaNs() || isKnownNeverNaN(LHS, Q.TLI)) &&
3809 FastMathFlags FMF, const SimplifyQuery &Q) {
3810 return ::SimplifyFCmpInst(Predicate, LHS, RHS, FMF, Q, RecursionLimit);
4679 static Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, argument
4692 Value *llvm::SimplifyFNegInst(Value *Op, FastMathFlags FMF, argument
4694 return ::simplifyFNegInst(Op, FMF, Q, RecursionLimit);
4711 FastMathFlags FMF = FastMathFlags()) {
4720 if (FMF
3626 SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
3808 SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q) argument
4733 SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
4780 SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
4825 SimplifyFMAFMul(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
4859 SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
4868 SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4874 SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4879 SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4884 SimplifyFMAFMul(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4889 SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned) argument
4929 SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4934 SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q, unsigned) argument
4957 SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, const SimplifyQuery &Q) argument
4979 simplifyFPUnOp(unsigned Opcode, Value *Op, const FastMathFlags &FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
4994 SimplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF, const SimplifyQuery &Q) argument
5048 SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS, const FastMathFlags &FMF, const SimplifyQuery &Q, unsigned MaxRecurse) argument
5070 SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS, FastMathFlags FMF, const SimplifyQuery &Q) argument
[all...]
H A DTargetTransformInfo.cpp64 FMF = FPMO->getFastMathFlags();
72 FMF = FPMO->getFastMathFlags();
85 FMF = FPMO->getFastMathFlags();
100 FMF = FPMO->getFastMathFlags();
111 RetTy(RTy), IID(Id), FMF(Flags) {
119 RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) {
128 II(I), RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) {
H A DIVDescriptors.cpp256 FastMathFlags FMF = FastMathFlags::getFast(); local
303 // FIXME: FMF is allowed on phi, but propagation is not handled correctly.
305 FMF &= ReduxDesc.getPatternInst()->getFastMathFlags();
451 RdxStart, ExitInstruction, Kind, FMF, ReduxDesc.getMinMaxKind(),
H A DValueTracking.cpp4671 auto FMF = FP->getFastMathFlags(); local
4672 if (FMF.noNaNs() || FMF.noInfs())
5071 static bool isKnownNonNaN(const Value *V, FastMathFlags FMF) { argument
5072 if (FMF.noNaNs())
5421 FastMathFlags FMF,
5460 if (!FMF.noSignedZeros() && !isKnownNonZero(CmpLHS) &&
5474 bool LHSSafe = isKnownNonNaN(CmpLHS, FMF);
5475 bool RHSSafe = isKnownNonNaN(CmpRHS, FMF);
5596 (!FMF
5420 matchSelectPattern(CmpInst::Predicate Pred, FastMathFlags FMF, Value *CmpLHS, Value *CmpRHS, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS, unsigned Depth) argument
5735 FastMathFlags FMF; local
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1139 FastMathFlags FMF = ICA.getFlags(); local
1166 IntrinsicCostAttributes Attrs(IID, RetTy, Types, FMF,
1200 IntrinsicCostAttributes Attrs(IID, RetTy, Args[0]->getType(), FMF, 1, I);
1254 FastMathFlags FMF = ICA.getFlags(); local
1290 IntrinsicCostAttributes ScalarAttrs(IID, ScalarRetTy, ScalarTys, FMF);
1330 if (FMF.noNaNs())
1335 if (FMF.noNaNs())
1447 IntrinsicCostAttributes Attrs(OverflowOp, OpTy, {RetTy, RetTy}, FMF,
1466 IntrinsicCostAttributes Attrs(OverflowOp, OpTy, {RetTy, RetTy}, FMF,
1647 IntrinsicCostAttributes Attrs(IID, RetTy->getScalarType(), ScalarTys, FMF);
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/IR/
H A DIRBuilder.cpp383 FastMathFlags FMF; local
384 FMF.setNoNaNs();
385 Rdx->setFastMathFlags(FMF);
394 FastMathFlags FMF; local
395 FMF.setNoNaNs();
396 Rdx->setFastMathFlags(FMF);
801 FastMathFlags UseFMF = FMF;
834 FastMathFlags UseFMF = FMF;
876 return Insert(setFPAttrs(new FCmpInst(P, LHS, RHS), FPMathTag, FMF), Name);
932 setFPAttrs(Sel, nullptr /* MDNode* */, FMF);
[all...]
H A DInstruction.cpp211 void Instruction::setFastMathFlags(FastMathFlags FMF) { argument
213 cast<FPMathOperator>(this)->setFastMathFlags(FMF);
216 void Instruction::copyFastMathFlags(FastMathFlags FMF) { argument
218 cast<FPMathOperator>(this)->copyFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Bitcode/Reader/
H A DBitcodeReader.cpp1164 FastMathFlags FMF; local
1166 FMF.setFast();
1168 FMF.setAllowReassoc();
1170 FMF.setNoNaNs();
1172 FMF.setNoInfs();
1174 FMF.setNoSignedZeros();
1176 FMF.setAllowReciprocal();
1178 FMF.setAllowContract(true);
1180 FMF.setApproxFunc();
1181 return FMF;
3951 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); local
3987 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); local
4192 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); local
4268 FastMathFlags FMF; local
4743 FastMathFlags FMF = getDecodedFastMathFlags(Record[Record.size() - 1]); local
5095 FastMathFlags FMF; local
[all...]
/freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/
H A DCodeGenFunction.cpp119 llvm::FastMathFlags FMF; local
120 FMF.setAllowReassoc(FPFeatures.getAllowFPReassociate());
121 FMF.setNoNaNs(FPFeatures.getNoHonorNaNs());
122 FMF.setNoInfs(FPFeatures.getNoHonorInfs());
123 FMF.setNoSignedZeros(FPFeatures.getNoSignedZero());
124 FMF.setAllowReciprocal(FPFeatures.getAllowReciprocal());
125 FMF.setApproxFunc(FPFeatures.getAllowApproxFunc());
126 FMF.setAllowContract(FPFeatures.allowFPContractAcrossStatement());
127 Builder.setFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCodeGenPrepare.cpp762 FastMathFlags FMF = FPOp->getFastMathFlags(); local
763 const bool AllowInaccurateRcp = HasUnsafeFPMath || FMF.approxFunc();
772 Builder.setFastMathFlags(FMF);
1027 FastMathFlags FMF; local
1028 FMF.setFast();
1029 Builder.setFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstructionCombining.cpp258 FastMathFlags FMF = I.getFastMathFlags(); local
260 I.setFastMathFlags(FMF);
780 FastMathFlags FMF;
783 FMF = I.getFastMathFlags();
784 Builder.setFastMathFlags(FMF);
794 True = SimplifyBinOp(Opcode, B, E, FMF, Q);
795 False = SimplifyBinOp(Opcode, C, F, FMF, Q);
806 True = SimplifyBinOp(Opcode, B, RHS, FMF, Q);
807 False = SimplifyBinOp(Opcode, C, RHS, FMF, Q);
811 True = SimplifyBinOp(Opcode, LHS, E, FMF,
[all...]
H A DInstCombineSelect.cpp2645 // FIXME: The FMF should propagate from the select, not the fcmp.
2661 // FIXME: These folds should test/propagate FMF from the select, not the
2770 auto FMF = local
2772 Builder.setFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp871 FastMathFlags FMF; local
872 FMF.setFast();
873 Builder.setFastMathFlags(FMF);
H A DSimplifyLibCalls.cpp1828 FastMathFlags FMF = CI->getFastMathFlags();
1829 FMF.setNoSignedZeros();
1830 B.setFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp338 static Value *addFastMathFlag(Value *V, FastMathFlags FMF) { argument
340 cast<Instruction>(V)->setFastMathFlags(FMF);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.cpp1118 // ConstrainedFPIntrinsics handle their own FMF.
8959 FastMathFlags FMF; local
8961 FMF = I.getFastMathFlags();
8965 if (FMF.allowReassoc())
8972 if (FMF.allowReassoc())

Completed in 591 milliseconds