//===-- Annotation2Metadata.cpp - Add !annotation metadata. ---------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Add !annotation metadata for entries in @llvm.global.anotations, generated // using __attribute__((annotate("_name"))) on functions in Clang. // //===----------------------------------------------------------------------===// #include "llvm/Transforms/IPO/Annotation2Metadata.h" #include "llvm/Analysis/OptimizationRemarkEmitter.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Function.h" #include "llvm/IR/InstIterator.h" #include "llvm/IR/Module.h" #include "llvm/Transforms/IPO.h" usingnamespacellvm; #define DEBUG_TYPE … static bool convertAnnotation2Metadata(Module &M) { … } PreservedAnalyses Annotation2MetadataPass::run(Module &M, ModuleAnalysisManager &AM) { … }