================ @@ -44,23 +44,19 @@ MDNode *LoopInfo::createPipeliningMetadata(const LoopAttributes &Attrs, else if (Attrs.PipelineInitiationInterval != 0) Enabled = true; + SmallVector<Metadata *, 4> Args; + Args.append(LoopProperties.begin(), LoopProperties.end()); + if (Enabled != true) { - SmallVector<Metadata *, 4> NewLoopProperties; if (Enabled == false) { - NewLoopProperties.append(LoopProperties.begin(), LoopProperties.end()); - NewLoopProperties.push_back( + Args.push_back( MDNode::get(Ctx, {MDString::get(Ctx, "llvm.loop.pipeline.disable"), ConstantAsMetadata::get(ConstantInt::get( llvm::Type::getInt1Ty(Ctx), 1))})); - LoopProperties = NewLoopProperties; ---------------- Meinersbur wrote:
I think this is because by design `pipeline` is always the last transformation (it is implemented in the back-end, after all the IR optimization passes, there can be no transformation after this). https://github.com/llvm/llvm-project/pull/131985 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits