LLVM 17.0.0git
PGOOptions.h
Go to the documentation of this file.
1//===------ PGOOptions.h -- PGO option tunables ----------------*- C++ -*--===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8/// \file
9///
10/// Define option tunables for PGO.
11///
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_SUPPORT_PGOOPTIONS_H
15#define LLVM_SUPPORT_PGOOPTIONS_H
16
18#include "llvm/Support/Error.h"
19
20namespace llvm {
21
22namespace vfs {
23class FileSystem;
24} // namespace vfs
25
26/// A struct capturing PGO tunables.
27struct PGOOptions {
30 PGOOptions(std::string ProfileFile, std::string CSProfileGenFile,
31 std::string ProfileRemappingFile,
34 bool DebugInfoForProfiling = false,
35 bool PseudoProbeForProfiling = false);
39
40 std::string ProfileFile;
41 std::string CSProfileGenFile;
48};
49} // namespace llvm
50
51#endif
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
A struct capturing PGO tunables.
Definition: PGOOptions.h:27
bool DebugInfoForProfiling
Definition: PGOOptions.h:45
std::string ProfileFile
Definition: PGOOptions.h:40
std::string CSProfileGenFile
Definition: PGOOptions.h:41
PGOAction Action
Definition: PGOOptions.h:43
PGOOptions & operator=(const PGOOptions &)
PGOOptions(const PGOOptions &)
IntrusiveRefCntPtr< vfs::FileSystem > FS
Definition: PGOOptions.h:47
std::string ProfileRemappingFile
Definition: PGOOptions.h:42
CSPGOAction CSAction
Definition: PGOOptions.h:44
bool PseudoProbeForProfiling
Definition: PGOOptions.h:46