Home | History | Annotate | Download | only in Vectorize

Lines Matching refs:Hints

871 /// Utility class for getting and setting loop vectorizer hints in the form
946 Hint Hints[] = {Width, Interleave};
947 writeHintsToMetadata(Hints);
1009 // If hints are provided that don't disable vectorization use the
1021 // When enabling loop hints are provided we allow the vectorizer to change
1030 /// Find hints specified in the loop metadata and update local values.
1077 Hint *Hints[] = {&Width, &Interleave, &Force};
1078 for (auto H : Hints) {
1110 /// Sets current hints into loop metadata, keeping other values intact.
1128 // Now, add the missing hints.
1141 /// The loop these hints belong to.
1146 const LoopVectorizeHints &Hints,
1148 const char *Name = Hints.vectorizeAnalysisPassName();
1194 Requirements(R), Hints(H) {}
1334 emitAnalysisDiag(TheFunction, TheLoop, *Hints, Message);
1393 const LoopVectorizeHints *Hints;
1417 const LoopVectorizeHints *Hints)
1419 AC(AC), TheFunction(F), Hints(Hints) {}
1490 emitAnalysisDiag(TheFunction, TheLoop, *Hints, Message);
1517 const LoopVectorizeHints *Hints;
1549 bool doesNotMeet(Function *F, Loop *L, const LoopVectorizeHints &Hints) {
1550 const char *Name = Hints.vectorizeAnalysisPassName();
1552 if (UnsafeAlgebraInst && !Hints.allowReordering()) {
1565 if ((ThresholdReached && !Hints.allowReordering()) ||
1710 LoopVectorizeHints Hints(L, DisableUnrolling);
1712 DEBUG(dbgs() << "LV: Loop hints:"
1714 << (Hints.getForce() == LoopVectorizeHints::FK_Disabled
1716 : (Hints.getForce() == LoopVectorizeHints::FK_Enabled
1718 : "?")) << " width=" << Hints.getWidth()
1719 << " unroll=" << Hints.getInterleave() << "\n");
1732 if (!Hints.allowVectorization(F, L, AlwaysVectorize)) {
1733 DEBUG(dbgs() << "LV: Loop hints prevent vectorization.\n");
1743 if (Hints.getForce() == LoopVectorizeHints::FK_Enabled)
1747 emitAnalysisDiag(F, L, Hints, VectorizationReport()
1759 &Requirements, &Hints);
1762 emitMissedWarning(F, L, Hints);
1768 &Hints);
1773 bool OptForSize = Hints.getForce() != LoopVectorizeHints::FK_Enabled &&
1783 if (Hints.getForce() != LoopVectorizeHints::FK_Enabled &&
1796 F, L, Hints,
1799 emitMissedWarning(F, L, Hints);
1811 unsigned UserIC = Hints.getInterleave();
1817 if (Requirements.doesNotMeet(F, L, Hints)) {
1820 emitMissedWarning(F, L, Hints);
1853 const char *VAPassName = Hints.vectorizeAnalysisPassName();
1906 Hints.setAlreadyVectorized();
2977 LoopVectorizeHints Hints(Lp, true);
2978 Hints.setAlreadyVectorized();
3286 // Insert truncates and extends for any truncated instructions as hints to
4153 if (Hints->getForce() == LoopVectorizeHints::FK_Enabled)
4815 int UserVF = Hints->getWidth();
4831 bool ForceVectorization = Hints->getForce() == LoopVectorizeHints::FK_Enabled;