Lines Matching full:up
144 TargetTransformInfo::UnrollingPreferences &UP) {
145 assert(LoopSize >= UP.BEInsns && "LoopSize should not be less than BEInsns!");
146 return static_cast<uint64_t>(LoopSize - UP.BEInsns) * UP.Count + UP.BEInsns;
149 // Calculates unroll and jam count and writes it to UP.Count. Returns true if
158 TargetTransformInfo::UnrollingPreferences &UP,
161 // First up use computeUnrollCount from the loop unroller to get a count
163 // unrolling we leave to the unroller. This uses UP.Threshold /
164 // UP.PartialThreshold / UP.MaxCount to come up with sensible loop values.
170 /*MaxOrZero*/ false, OuterTripMultiple, OuterUCE, UP, PP,
177 UP.Count = 0;
184 UP.Count = UnrollAndJamCount;
185 UP.Force = true;
186 if (UP.AllowRemainder &&
187 getUnrollAndJammedLoopSize(OuterLoopSize, UP) < UP.Threshold &&
188 getUnrollAndJammedLoopSize(InnerLoopSize, UP) <
189 UP.UnrollAndJamInnerLoopThreshold)
196 UP.Count = PragmaCount;
197 UP.Runtime = true;
198 UP.Force = true;
199 if ((UP.AllowRemainder || (OuterTripMultiple % PragmaCount == 0)) &&
200 getUnrollAndJammedLoopSize(OuterLoopSize, UP) < UP.Threshold &&
201 getUnrollAndJammedLoopSize(InnerLoopSize, UP) <
202 UP.UnrollAndJamInnerLoopThreshold)
213 UP.UnrollAndJamInnerLoopThreshold = PragmaUnrollAndJamThreshold;
215 if (!UP.AllowRemainder && getUnrollAndJammedLoopSize(InnerLoopSize, UP) >=
216 UP.UnrollAndJamInnerLoopThreshold) {
219 UP.Count = 0;
224 // loop and UP.UnrollAndJamInnerLoopThreshold. If the outer limit was set
226 if (!ExplicitUnrollAndJamCount && UP.AllowRemainder) {
227 while (UP.Count != 0 && getUnrollAndJammedLoopSize(InnerLoopSize, UP) >=
228 UP.UnrollAndJamInnerLoopThreshold)
229 UP.Count--;
239 if (InnerTripCount && InnerLoopSize * InnerTripCount < UP.Threshold) {
242 UP.Count = 0;
251 UP.Count = 0;
271 UP.Count = 0;
283 TargetTransformInfo::UnrollingPreferences UP = gatherUnrollingPreferences(
293 UP.UnrollAndJam = true;
296 UP.UnrollAndJam = AllowUnrollAndJam;
298 UP.UnrollAndJamInnerLoopThreshold = UnrollAndJamThreshold;
300 if (!UP.UnrollAndJam || UP.UnrollAndJamInnerLoopThreshold == 0)
326 UnrollCostEstimator InnerUCE(SubLoop, TTI, EphValues, UP.BEInsns);
327 UnrollCostEstimator OuterUCE(L, TTI, EphValues, UP.BEInsns);
375 OuterTripMultiple, OuterUCE, InnerTripCount, InnerLoopSize, UP, PP);
376 if (UP.Count <= 1)
379 if (OuterTripCount && UP.Count > OuterTripCount)
380 UP.Count = OuterTripCount;
384 L, UP.Count, OuterTripCount, OuterTripMultiple, UP.UnrollRemainder, LI,