代码拉取完成,页面将自动刷新
#ifndef AUTOFDO_LLVM_PROPELLER_PROFILE_WRITER_H_
#define AUTOFDO_LLVM_PROPELLER_PROFILE_WRITER_H_
#if defined(HAVE_LLVM)
#include <memory>
#include "llvm_propeller_abstract_whole_program_info.h"
#include "llvm_propeller_code_layout.h"
#include "llvm_propeller_options.pb.h"
#include "llvm_propeller_statistics.h"
#include "third_party/abseil/absl/status/status.h"
namespace devtools_crosstool_autofdo {
// Propeller interface for SWIG as well as create_llvm_prof.
absl::Status GeneratePropellerProfiles(
const devtools_crosstool_autofdo::PropellerOptions &opts);
class PropellerProfWriter {
public:
static std::unique_ptr<PropellerProfWriter> Create(
const PropellerOptions &options);
// Main entrance of propeller profile writer.
// Return true if succeeded.
bool Write(const CodeLayoutResult &layout_cluster_info);
const PropellerStats &stats() const { return stats_; }
void PrintStats() const;
const AbstractPropellerWholeProgramInfo *whole_program_info() const {
return whole_program_info_.get();
}
~PropellerProfWriter() {}
private:
PropellerProfWriter(const PropellerOptions &options,
std::unique_ptr<AbstractPropellerWholeProgramInfo> wpi)
: options_(options), whole_program_info_(std::move(wpi)) {}
const PropellerOptions options_;
PropellerStats stats_;
std::unique_ptr<AbstractPropellerWholeProgramInfo> whole_program_info_;
};
} // namespace devtools_crosstool_autofdo
#endif
#endif // AUTOFDO_LLVM_PROPELLER_PROFILE_WRITER_H_
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。