Home
last modified time | relevance | path

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

12345

/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/
H A Dfmf-propagation.ll25 ; FMF: # %bb.0:
28 ; FMF-NEXT: blr
51 ; FMF-NEXT: blr
72 ; FMF-NEXT: blr
95 ; FMF-NEXT: blr
117 ; FMF-NEXT: blr
140 ; FMF-NEXT: blr
163 ; FMF-NEXT: blr
192 ; FMF-NEXT: blr
221 ; FMF-NEXT: blr
[all …]
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DFMF.h53 FastMathFlags FMF; in getFast() local
54 FMF.setFast(); in getFast()
55 return FMF; in getFast()
114 inline raw_ostream &operator<<(raw_ostream &O, FastMathFlags FMF) {
115 FMF.print(O);
H A DIRBuilder.h125 FastMathFlags FMF; variable
279 FastMathFlags &getFastMathFlags() { return FMF; } in getFastMathFlags()
282 void clearFastMathFlags() { FMF.clear(); } in clearFastMathFlags()
374 FastMathFlags FMF; variable
382 : Builder(B), FMF(B.FMF), FPMathTag(B.DefaultFPMathTag), in FastMathFlagGuard()
391 Builder.FMF = FMF; in ~FastMathFlagGuard()
1157 I->setFastMathFlags(FMF); in setFPAttrs()
1544 setFPAttrs(BinOp, FPMathTag, FMF);
1619 setFPAttrs(UnOp, FPMathTag, FMF);
2236 setFPAttrs(CI, FPMathTag, FMF);
[all …]
H A DFPEnv.h83 inline bool canIgnoreSNaN(fp::ExceptionBehavior EB, FastMathFlags FMF) { in canIgnoreSNaN() argument
84 return (EB == fp::ebIgnore || FMF.noNaNs()); in canIgnoreSNaN()
H A DIRBuilderFolder.h46 Value *RHS, FastMathFlags FMF) const = 0;
49 FastMathFlags FMF) const = 0;
H A DOperator.h226 void setFastMathFlags(FastMathFlags FMF) { in setFastMathFlags() argument
227 SubclassOptionalData |= FMF.Flags; in setFastMathFlags()
232 void copyFastMathFlags(FastMathFlags FMF) { in copyFastMathFlags() argument
233 SubclassOptionalData = FMF.Flags; in copyFastMathFlags()
H A DNoFolder.h64 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
69 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
H A DConstantFolder.h87 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
92 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h147 Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, const SimplifyQuery &Q);
159 simplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
166 simplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
173 simplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
182 Value *simplifyFMAFMul(Value *LHS, Value *RHS, FastMathFlags FMF,
198 simplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
211 simplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
243 FastMathFlags FMF, const SimplifyQuery &Q);
289 Value *simplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF,
298 Value *simplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS, FastMathFlags FMF,
H A DIVDescriptors.h74 RecurKind K, FastMathFlags FMF, Instruction *ExactFP, in RecurrenceDescriptor() argument
79 Kind(K), FMF(FMF), ExactFPMathInst(ExactFP), RecurrenceType(RT), in RecurrenceDescriptor()
158 Value *getRecurrenceIdentity(RecurKind K, Type *Tp, FastMathFlags FMF) const;
199 FastMathFlags getFastMathFlags() const { return FMF; } in getFastMathFlags()
285 FastMathFlags FMF; variable
H A DInstSimplifyFolder.h66 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
67 return simplifyBinOp(Opc, LHS, RHS, FMF, SQ); in FoldBinOpFMF()
71 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
72 return simplifyUnOp(Opc, V, FMF, SQ); in FoldUnOpFMF()
H A DTargetFolder.h98 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
111 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DIVDescriptors.cpp290 FastMathFlags FMF = FastMathFlags::getFast(); in AddReductionVar() local
396 FMF &= CurFMF; in AddReductionVar()
603 FMF, ExactFPMathInst, RecurrenceType, IsSigned, in AddReductionVar()
832 FastMathFlags FMF; in isReductionPHI() local
833 FMF.setNoNaNs( in isReductionPHI()
835 FMF.setNoSignedZeros( in isReductionPHI()
838 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
843 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
848 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
853 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
[all …]
H A DInstructionSimplify.cpp3908 if (FMF.noNaNs() || in simplifyFCmpInst()
5155 FMF.noSignedZeros())) in simplifyFAddInst()
5175 if (FMF.noNaNs()) { in simplifyFAddInst()
5188 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFAddInst()
5246 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFSubInst()
5273 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op1, m_AnyZeroFP())) in simplifyFMAFMul()
5277 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op0, m_AnyZeroFP())) in simplifyFMAFMul()
5286 FMF.noNaNs() && FMF.noSignedZeros()) in simplifyFMAFMul()
5360 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op0, m_AnyZeroFP())) in simplifyFDivInst()
5363 if (FMF.noNaNs()) { in simplifyFDivInst()
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DExpandReductions.cpp106 FastMathFlags FMF = in expandReductions() local
114 Builder.setFastMathFlags(FMF); in expandReductions()
123 if (!FMF.allowReassoc()) in expandReductions()
160 !FMF.noNaNs()) in expandReductions()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DIRBuilderTest.cpp538 FastMathFlags FMF; in TEST_F() local
565 FMF.setFast(); in TEST_F()
599 FMF.clear(); in TEST_F()
600 FMF.setAllowReciprocal(); in TEST_F()
617 FMF.clear(); in TEST_F()
636 FMF.clear(); in TEST_F()
647 FMF.setApproxFunc(); in TEST_F()
657 FMF.setAllowReassoc(); in TEST_F()
681 FMF.clear(); in TEST_F()
682 FMF.setNoNaNs(); in TEST_F()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/AsmParser/
H A DLLParser.h203 FastMathFlags FMF; in EatFastMathFlagsIfPresent() local
206 case lltok::kw_fast: FMF.setFast(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
207 case lltok::kw_nnan: FMF.setNoNaNs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
208 case lltok::kw_ninf: FMF.setNoInfs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
209 case lltok::kw_nsz: FMF.setNoSignedZeros(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
210 case lltok::kw_arcp: FMF.setAllowReciprocal(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
212 FMF.setAllowContract(true); in EatFastMathFlagsIfPresent()
215 case lltok::kw_reassoc: FMF.setAllowReassoc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
216 case lltok::kw_afn: FMF.setApproxFunc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
217 default: return FMF; in EatFastMathFlagsIfPresent()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp345 Optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
348 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
352 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
359 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
369 if (TTI::requiresOrderedReduction(FMF)) in getArithmeticReductionCost()
/llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/
H A Denable-no-signed-zeros-fp-math.ll1 ; RUN: llc -march=amdgcn < %s | FileCheck --check-prefixes=GCN,GCN-FMF,GCN-SAFE %s
9 ; GCN-FMF-NOT: xor
/llvm-project-15.0.7/llvm/test/Transforms/Reassociate/
H A Dfast-ReassociateVector.ll18 ; Check that a*c+b*c is turned into (a+b)*c - minimum FMF subset version
50 ; Check that a*a*b+a*a*c is turned into a*(a*(b+c)) - minimum FMF subset version
85 ; Check that a*b+a*c+d is turned into a*(b+c)+d - minimum FMF subset version
129 ; Check 47*X + 47*X -> 94*X - minimum FMF subset version
154 ; Check X+X+X -> 3*X - minimum FMF subset version
180 ; Check 127*W+50*W -> 177*W - minimum FMF subset version
207 ; Check X*12*12 -> X*144 - minimum FMF subset version
248 ; Check (b+(a+1234))+-a -> b+1234 - minimum FMF subset version
309 ; Check -(-(z*40)*a) -> a*40*z - minimum FMF subset version
355 ; Check x*y+y*x -> x*y*2 - minimum FMF subset version
H A Dfast-SubReassociate.ll32 ; Check again using minimal subset of FMF.
96 ; Check again using minimal subset of FMF.
/llvm-project-15.0.7/llvm/test/CodeGen/AArch64/
H A Dneon-fma-FMF.ll58 ; Regression test: contract FMF allows folding (A * 0 + B) to FMA(A, 0, B), but
59 ; reassoc FMF must not allow further folding to just (B) without additional
/llvm-project-15.0.7/llvm/test/Transforms/InstCombine/
H A Dpow-sqrt.ll4 ; Check the libcall and the intrinsic for each case with differing FMF.
31 ; `afn` makes no difference, but FMF are propagated/retained.
147 ; Overspecified FMF to test propagation to the new op(s).
167 ; This should not be transformed without some kind of FMF.
205 ; This should not be transformed without some kind of FMF.
319 ; Overspecified FMF to test propagation to the new op(s).
H A Dfadd-fsub-factor.ll14 ; Minimum FMF - the final result requires/propagates FMF.
42 ; Verify vector types, commuted operands, FMF propagation.
56 ; Verify different scalar type, commuted operands, FMF propagation.
140 ; Minimum FMF - the final result requires/propagates FMF.
168 ; Verify vector types, commuted operands, FMF propagation.
182 ; Verify different scalar type, commuted operands, FMF propagation.
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1416 FastMathFlags FMF = ICA.getFlags(); in getIntrinsicInstrCost() local
1525 IID, RetTy, {Args[0]->getType(), Args[1]->getType()}, FMF, I, 1); in getIntrinsicInstrCost()
1585 IntrinsicCostAttributes Attrs(Intrinsic::uadd_sat, ExpRetTy, {}, FMF); in getIntrinsicInstrCost()
1607 IntrinsicCostAttributes Attrs(IID, RetTy, ICA.getArgTypes(), FMF, I, in getIntrinsicInstrCost()
1622 FastMathFlags FMF = ICA.getFlags(); in getTypeBasedIntrinsicInstrCost() local
1798 FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
1801 FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
1857 IntrinsicCostAttributes Attrs(OverflowOp, OpTy, {RetTy, RetTy}, FMF, in getTypeBasedIntrinsicInstrCost()
1876 IntrinsicCostAttributes Attrs(OverflowOp, OpTy, {RetTy, RetTy}, FMF, in getTypeBasedIntrinsicInstrCost()
2245 Optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
[all …]

12345