Lines Matching refs:LoopMD
74 static DebugLoc findTransformationDebugLoc(MDNode *LoopMD, StringRef Name) { in findTransformationDebugLoc() argument
77 MDNode *MD = findOptionMDForLoopID(LoopMD, Name); in findTransformationDebugLoc()
82 return findFirstDebugLoc(LoopMD); in findTransformationDebugLoc()
86 static isl::schedule applyLoopUnroll(MDNode *LoopMD, in applyLoopUnroll() argument
88 TransformationMode UnrollMode = ::hasUnrollTransformation(LoopMD); in applyLoopUnroll()
100 getOptionalIntLoopAttribute(LoopMD, "llvm.loop.unroll.count").value_or(0); in applyLoopUnroll()
101 bool Full = getBooleanLoopAttribute(LoopMD, "llvm.loop.unroll.full"); in applyLoopUnroll()
115 static isl::schedule applyLoopFission(MDNode *LoopMD, in applyLoopFission() argument
125 static auto getLoopMDProps(MDNode *LoopMD) { in getLoopMDProps() argument
128 drop_begin(LoopMD->operands(), 1), in getLoopMDProps()
154 checkDependencyViolation(llvm::MDNode *LoopMD, llvm::Value *CodeRegion, in checkDependencyViolation() argument
161 LLVMContext &Ctx = LoopMD->getContext(); in checkDependencyViolation()
164 DebugLoc TransformLoc = findTransformationDebugLoc(LoopMD, DebugLocAttr); in checkDependencyViolation()
194 makePostTransformationMetadata(Ctx, LoopMD, {TransPrefix}, {}); in checkDependencyViolation()
241 MDNode *LoopMD = Attr->Metadata; in visitBand() local
242 if (!LoopMD) in visitBand()
248 for (MDNode *MD : getLoopMDProps(LoopMD)) { in visitBand()
259 Result = applyLoopUnroll(LoopMD, Band); in visitBand()
263 Result = applyLoopFission(LoopMD, Band); in visitBand()
266 LoopMD, CodeRegion, Band, "llvm.loop.distribute.loc", in visitBand()