Home
last modified time | relevance | path

Searched full:reduction (Results 1 – 25 of 713) sorted by relevance

12345678910>>...29

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandVectorPredication.cpp185 /// Lower this VP reduction to a call to an unpredicated reduction intrinsic.
373 llvm_unreachable("Expecting a VP reduction intrinsic"); in getNeutralReductionElement()
431 Value *Reduction; in expandPredicationInReduction() local
436 llvm_unreachable("Impossible reduction kind"); in expandPredicationInReduction()
438 Reduction = Builder.CreateAddReduce(RedOp); in expandPredicationInReduction()
439 Reduction = Builder.CreateAdd(Reduction, Start); in expandPredicationInReduction()
442 Reduction = Builder.CreateMulReduce(RedOp); in expandPredicationInReduction()
443 Reduction = Builder.CreateMul(Reduction, Start); in expandPredicationInReduction()
446 Reduction = Builder.CreateAndReduce(RedOp); in expandPredicationInReduction()
447 Reduction = Builder.CreateAnd(Reduction, Start); in expandPredicationInReduction()
[all …]
H A DExpandReductions.cpp1 //===- ExpandReductions.cpp - Expand reduction intrinsics -----------------===//
9 // This pass implements IR expansion for reduction intrinsics, allowing targets
73 // FMFs must be attached to the call, otherwise it's an ordered reduction in expandReductions()
93 // Or reduction for i1 is represented as: in expandReductions()
96 // And reduction for i1 is represented as: in expandReductions()
111 assert(ID == Intrinsic::vector_reduce_or && "Expected or reduction."); in expandReductions()
137 // We require "nnan" to use a shuffle reduction; "nsz" is implied by the in expandReductions()
138 // semantics of the reduction. in expandReductions()
177 "Expand reduction intrinsics", false, false)
180 "Expand reduction intrinsics", false, false) in INITIALIZE_PASS_DEPENDENCY()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp91 /// Compute the minimal bit width needed to represent a reduction whose exit
136 /// model, given a reduction exit value and the minimal type in which the
137 // reduction can be represented. Also search casts to the recurrence type
179 // Check if a given Phi node can be recognized as an ordered reduction for
194 // Ensure the exit instruction has only one user other than the reduction PHI in checkOrderedReduction()
198 // The only pattern accepted is the one in which the reduction PHI in checkOrderedReduction()
207 LLVM_DEBUG(dbgs() << "LV: Found an ordered reduction: Phi: " << *Phi in checkOrderedReduction()
220 // Reduction variables are only found in the loop header block. in AddReductionVar()
224 // Obtain the reduction start value from the value that comes from the loop in AddReductionVar()
229 // We only allow for a single reduction value to be used outside the loop. in AddReductionVar()
[all …]
/freebsd/contrib/arm-optimized-routines/pl/math/
H A Dtanf_3u3.c37 /* Reduction of the input argument x using Cody-Waite approach, such that x = r
48 /* r = x - n * (pi/2) (range reduction into -pi/4 .. pi/4). */ in reduce()
66 Reduction uses a table of 4/PI with 192 bits of precision. A 32x96->128 bit
111 /* Dispatch between no reduction (small numbers), fast reduction and in tanf()
112 slow large numbers reduction. The reduction step determines r float in tanf()
132 /* Similar to other trigonometric routines, fast inaccurate reduction is in tanf()
136 reduction techniques need to be implemented to reach a similar accuracy. in tanf()
140 /* Fast inaccurate reduction. */ in tanf()
145 /* Slow accurate reduction. */ in tanf()
170 /* Perform additional reduction if required. */ in tanf()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGOpenMPRuntime.h127 /// Class intended to support codegen of all kind of the reduction clauses.
130 /// Data required for codegen of reduction clauses.
138 /// Helper expression for generation reduction operation.
145 /// List of reduction-based clauses.
152 /// Sizes of the reduction items in chars.
154 /// Base declarations for the reduction items.
162 /// \param N Number of reduction item in the common list.
165 /// \param DRD Declare reduction construct used for reduction item.
174 /// Emits lvalue for the shared and original reduction item.
175 /// \param N Number of the reduction item.
[all …]
H A DCGOpenMPRuntimeGPU.h261 /// Emit a code for reduction clause.
263 /// \param Privates List of private copies for original reduction arguments.
264 /// \param LHSExprs List of LHS in \a ReductionOps reduction operations.
265 /// \param RHSExprs List of RHS in \a ReductionOps reduction operations.
266 /// \param ReductionOps List of reduction operations in form 'LHS binop RHS'
268 /// \param Options List of options for reduction codegen:
271 /// SimpleReduction Emit reduction operation only. Used for omp simd
273 /// ReductionKind The kind of reduction to perform.
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMParallelDSP.cpp56 class Reduction;
86 class Reduction { class
94 Reduction() = delete;
96 Reduction (Instruction *Add) : Root(Add) { } in Reduction() function in __anon176cfc890111::Reduction
98 /// Record an Add instruction that is a part of the this reduction.
102 /// of this reduction.
134 /// reduction already has a value to initialise the accumulator.
156 /// Return the add instruction which is the root of the reduction.
166 /// Return the set of adds that comprise the reduction.
170 /// the reduction.
[all …]
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DDeclOpenMP.h167 /// This represents '#pragma omp declare reduction ...' directive.
168 /// For example, in the following, declared reduction 'foo' for types 'int' and
172 /// #pragma omp declare reduction (foo : int,float : omp_out += omp_in)
182 /// Combiner for declare reduction construct.
184 /// Initializer for declare reduction construct.
195 /// Reference to the previous declare reduction construct in the same
197 /// the declare reduction construct is declared inside compound statement.
211 /// Create declare reduction node.
215 /// Create deserialized declare reduction node.
219 /// Get combiner expression of the declare reduction construct.
[all …]
/freebsd/crypto/openssl/crypto/modes/asm/
H A Dghashp8-ppc.pl30 # 2x aggregated reduction improves performance by 50% (resulting
32 # aggregated reduction - by 170% or 2.7x (resulting in 0.55 cpb).
125 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase
135 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase
161 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase
162 vpmsumd $t6,$Xl1,$xC2 # 1st reduction phase
178 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase
179 vsldoi $t5,$Xl1,$Xl1,8 # 2nd reduction phase
238 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase
248 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase
[all …]
H A Dghashv8-armx.pl28 # Implement 2x aggregated reduction [see ghash-x86.pl for background
33 # AArch64 register bank to "accommodate" 4x aggregated reduction and
245 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction
251 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
363 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction
376 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
406 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction
412 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
521 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction
534 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h366 /// Returns the arithmetic instruction opcode used when expanding a reduction.
369 /// Returns the min/max intrinsic used when expanding a min/max reduction.
372 /// Returns the min/max intrinsic used when expanding a min/max reduction.
375 /// Returns the recurence kind used when expanding a min/max reduction.
378 /// Returns the comparison predicate used when expanding a min/max reduction.
386 /// Generates an ordered vector reduction using extracts to reduce the value.
390 /// Generates a vector reduction using shufflevectors to reduce the value.
396 /// Create a target reduction of the given vector. The reduction operation
400 /// required to implement the reduction.
405 /// reduction.
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DOMPIRBuilder.h1280 /// Values representing pointers to LHS and RHS of the reduction, as well as
1286 /// Enum class for reduction evaluation types scalar, complex and aggregate.
1289 /// Information about an OpenMP reduction.
1304 /// Reduction element type, must match pointee type of variable.
1307 /// Reduction variable of pointer type.
1310 /// Thread-private partial reduction variable.
1313 /// Reduction evaluation kind - scalar, complex or aggregate.
1316 /// Callback for generating the reduction body. The IR produced by this will
1321 /// Clang callback for generating the reduction body. The IR produced by
1326 /// Callback for generating the atomic reduction body, may be null. The IR
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DSLPVectorizer.h115 /// Try to find horizontal reduction or otherwise, collect instructions
117 /// \a P if not null designates phi node the reduction is fed into
118 /// (with reduction operators \a Root or one of its operands, in a basic block
120 /// \returns true if a horizontal reduction was matched and reduced.
122 /// or a horizontal reduction was not matched or not possible.
128 /// Make an attempt to vectorize reduction and then try to vectorize
/freebsd/sys/contrib/dev/iwlwifi/fw/api/
H A Dpower.h256 * struct iwl_reduce_tx_power_cmd - TX power reduction command
284 * struct iwl_dev_tx_power_common - Common part of the TX power reduction cmd
302 * struct iwl_dev_tx_power_cmd_v3 - TX power reduction command version 3
312 * struct iwl_dev_tx_power_cmd_v4 - TX power reduction command version 4
315 * reduction.
325 * struct iwl_dev_tx_power_cmd_v5 - TX power reduction command version 5
328 * reduction.
346 * struct iwl_dev_tx_power_cmd_v6 - TX power reduction command version 6
349 * reduction.
367 * struct iwl_dev_tx_power_cmd_v7 - TX power reduction comman
[all...]
/freebsd/sys/contrib/device-tree/Bindings/sound/
H A Dst,sta32x.txt67 If present, power bridge correction for THD reduction near maximum
70 - st,am-reduction-mode:
71 If present, FFX mode runs in AM reduction mode, otherwise normal
97 // correction for THD reduction
H A Dst,sta350.txt71 If present, power bridge correction for THD reduction near maximum
74 - st,am-reduction-mode:
75 If present, FFX mode runs in AM reduction mode, otherwise normal
127 // correction for THD reduction
/freebsd/sys/crypto/openssl/aarch64/
H A Dghashv8-armx.S121 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
127 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
213 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
226 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
253 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
259 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
356 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
369 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
417 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction
427 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction
[all …]
/freebsd/usr.bin/units/
H A Dunits.1174 new units in terms of old ones so that a reduction leads to the
363 .It memory overflow in unit reduction
462 units: memory overflow in unit reduction
467 units: memory overflow in unit reduction
468 units: memory overflow in unit reduction
469 units: memory overflow in unit reduction
/freebsd/contrib/llvm-project/llvm/tools/bugpoint/
H A DListReducer.h83 while (MidTop > 1) { // Binary split reduction loop in reduceList()
86 errs() << "\n\n*** Reduction Interrupted, cleaning up...\n\n"; in reduceList()
154 // split reduction loop. in reduceList()
168 // If the binary split reduction loop made an unfortunate sequence of in reduceList()
179 errs() << "\n\n*** Reduction Interrupted, cleaning up...\n\n"; in reduceList()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h52 IAnyOf, ///< Any_of reduction with select(icmp(),x,y) where one of (x,y) is
54 FAnyOf ///< Any_of reduction with select(fcmp(),x,y) where one of (x,y) is
56 // TODO: Any_of reduction need not be restricted to integer type only.
60 /// loop. Reduction is a special case of recurrence that has uses of the
121 /// variable of type 'Kind' for a Loop \p L and reduction PHI \p Phi.
165 /// Returns true if Phi is a reduction of type Kind and adds it to the
167 /// non-null, the minimal bit width needed to compute the reduction will be
175 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor
177 /// non-null, the minimal bit width needed to compute the reduction will be
186 /// is a non-reduction recurrenc
[all...]
/freebsd/sys/crypto/openssl/arm/
H A Dghashv8-armx.S87 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction
93 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction
180 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction
193 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction
220 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction
226 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86PartialReduction.cpp9 // This pass looks for add instructions used by a horizontal reduction to see
31 #define DEBUG_TYPE "x86-partial-reduction"
51 return "X86 Partial Reduction"; in getPassName()
67 "X86 Partial Reduction", false, false)
353 // a horizontal reduction. Return the input to the reduction if we find one.
369 // Ensure the reduction size is a power of 2. in matchAddReduction()
432 // reduction. Root is the Value that is used by the horizontal reduction.
521 // First find a reduction tree. in runOnFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/PBQP/
H A DReductionRules.h1 //===- ReductionRules.h - Reduction Rules -----------------------*- C++ -*-===//
9 // Reduction Rules.
170 // Given a graph and a reduction order, pop each node from the reduction
174 // Note - This does not return the graph to its original (pre-reduction)
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp273 /// Discover induction and reduction PHIs in the header of \p L. Induction
289 /// Set of reduction PHIs taking part of a reduction across the inner and
705 // Check V's users to see if it is involved in a reduction in L.
707 // Reduction variables cannot be constants. in findInnerReductionPhi()
717 // Detect floating point reduction only when it can be reordered. in findInnerReductionPhi()
738 // PHIs in inner loops need to be part of a reduction in the outer loop, in findInductionAndReductions()
749 // Check if we have a PHI node in the outer loop that has a reduction in findInductionAndReductions()
757 << "Failed to recognize PHI as an induction or reduction.\n"); in findInductionAndReductions()
795 dbgs() << "Only outer loops with induction or reduction PHI nodes " in currentLimitations()
801 << "Only outer loops with induction or reduction PHI nodes can be" in currentLimitations()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVCodeGenPrepare.cpp107 // LLVM vector reduction intrinsics return a scalar result, but on RISC-V vector
108 // reduction instructions write the result in the first element of a vector
109 // register. So when a reduction in a loop uses a scalar phi, we end up with
117 // This mainly affects ordered fadd reductions, since other types of reduction
119 // vectorize any scalar phis that feed into a fadd reduction:

12345678910>>...29