reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGLoopInfo.cpp
   34 MDNode *LoopInfo::createPipeliningMetadata(const LoopAttributes &Attrs,
   80 LoopInfo::createPartialUnrollMetadata(const LoopAttributes &Attrs,
   86   if (Attrs.UnrollEnable == LoopAttributes::Disable)
   88   else if (Attrs.UnrollEnable == LoopAttributes::Full)
   90   else if (Attrs.UnrollEnable != LoopAttributes::Unspecified ||
  127   if (Attrs.UnrollEnable == LoopAttributes::Enable) {
  143 LoopInfo::createUnrollAndJamMetadata(const LoopAttributes &Attrs,
  149   if (Attrs.UnrollAndJamEnable == LoopAttributes::Disable)
  151   else if (Attrs.UnrollAndJamEnable == LoopAttributes::Enable ||
  190   if (Attrs.UnrollAndJamEnable == LoopAttributes::Enable) {
  212 LoopInfo::createLoopVectorizeMetadata(const LoopAttributes &Attrs,
  218   if (Attrs.VectorizeEnable == LoopAttributes::Disable)
  220   else if (Attrs.VectorizeEnable != LoopAttributes::Unspecified ||
  221            Attrs.VectorizePredicateEnable != LoopAttributes::Unspecified ||
  257   if (Attrs.VectorizePredicateEnable != LoopAttributes::Unspecified &&
  258       Attrs.VectorizeEnable != LoopAttributes::Disable &&
  262         (Attrs.VectorizePredicateEnable == LoopAttributes::Enable);
  290   if (Attrs.VectorizeEnable != LoopAttributes::Unspecified ||
  298                 : (Attrs.VectorizeEnable == LoopAttributes::Enable)))};
  314 LoopInfo::createLoopDistributeMetadata(const LoopAttributes &Attrs,
  320   if (Attrs.DistributeEnable == LoopAttributes::Disable)
  322   if (Attrs.DistributeEnable == LoopAttributes::Enable)
  351                           (Attrs.DistributeEnable == LoopAttributes::Enable)))};
  365 MDNode *LoopInfo::createFullUnrollMetadata(const LoopAttributes &Attrs,
  371   if (Attrs.UnrollEnable == LoopAttributes::Disable)
  373   else if (Attrs.UnrollEnable == LoopAttributes::Full)
  404     const LoopAttributes &Attrs,
  432     : IsParallel(IsParallel), VectorizeEnable(LoopAttributes::Unspecified),
  433       UnrollEnable(LoopAttributes::Unspecified),
  434       UnrollAndJamEnable(LoopAttributes::Unspecified),
  435       VectorizePredicateEnable(LoopAttributes::Unspecified), VectorizeWidth(0),
  437       DistributeEnable(LoopAttributes::Unspecified), PipelineDisabled(false),
  446   VectorizeEnable = LoopAttributes::Unspecified;
  447   UnrollEnable = LoopAttributes::Unspecified;
  448   UnrollAndJamEnable = LoopAttributes::Unspecified;
  449   VectorizePredicateEnable = LoopAttributes::Unspecified;
  450   DistributeEnable = LoopAttributes::Unspecified;
  455 LoopInfo::LoopInfo(BasicBlock *Header, const LoopAttributes &Attrs,
  471       Attrs.VectorizePredicateEnable == LoopAttributes::Unspecified &&
  472       Attrs.VectorizeEnable == LoopAttributes::Unspecified &&
  473       Attrs.UnrollEnable == LoopAttributes::Unspecified &&
  474       Attrs.UnrollAndJamEnable == LoopAttributes::Unspecified &&
  475       Attrs.DistributeEnable == LoopAttributes::Unspecified && !StartLoc &&
  489   LoopAttributes CurLoopAttr = Attrs;
  498     LoopAttributes BeforeJam, AfterJam;
  509     case LoopAttributes::Unspecified:
  510     case LoopAttributes::Disable:
  514     case LoopAttributes::Full:
  515       BeforeJam.UnrollEnable = LoopAttributes::Full;
  517     case LoopAttributes::Enable:
  518       AfterJam.UnrollEnable = LoopAttributes::Enable;
  543       if (BeforeJam.VectorizeEnable != LoopAttributes::Unspecified ||
  544           BeforeJam.VectorizePredicateEnable != LoopAttributes::Unspecified ||
  628         setUnrollState(LoopAttributes::Disable);
  631         setUnrollAndJamState(LoopAttributes::Disable);
  634         setVectorizePredicateState(LoopAttributes::Disable);
  658         setUnrollState(LoopAttributes::Enable);
  661         setUnrollAndJamState(LoopAttributes::Enable);
  664         setVectorizePredicateState(LoopAttributes::Enable);
  704         setUnrollState(LoopAttributes::Full);
  707         setUnrollAndJamState(LoopAttributes::Full);
tools/clang/lib/CodeGen/CGLoopInfo.h
   83   LoopInfo(llvm::BasicBlock *Header, const LoopAttributes &Attrs,
   94   const LoopAttributes &getAttributes() const { return Attrs; }
  109   LoopAttributes Attrs;
  145   createPipeliningMetadata(const LoopAttributes &Attrs,
  149   createPartialUnrollMetadata(const LoopAttributes &Attrs,
  153   createUnrollAndJamMetadata(const LoopAttributes &Attrs,
  157   createLoopVectorizeMetadata(const LoopAttributes &Attrs,
  161   createLoopDistributeMetadata(const LoopAttributes &Attrs,
  165   createFullUnrollMetadata(const LoopAttributes &Attrs,
  182   llvm::MDNode *createMetadata(const LoopAttributes &Attrs,
  229         Enable ? LoopAttributes::Enable : LoopAttributes::Disable;
  229         Enable ? LoopAttributes::Enable : LoopAttributes::Disable;
  235         Enable ? LoopAttributes::Enable : LoopAttributes::Disable;
  235         Enable ? LoopAttributes::Enable : LoopAttributes::Disable;
  239   void setUnrollState(const LoopAttributes::LVEnableState &State) {
  244   void setVectorizePredicateState(const LoopAttributes::LVEnableState &State) {
  249   void setUnrollAndJamState(const LoopAttributes::LVEnableState &State) {
  280   LoopAttributes StagedAttrs;