saqut-compiler/llvm/include/lld/Common/Utils.h

31 lines
1.1 KiB
C++

//===- Utils.h ------------------------------------------------*- C++-*-===//
//
// 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
//===----------------------------------------------------------------------===//
//
// The file declares utils functions that can be shared across archs.
//
//===----------------------------------------------------------------------===//
#ifndef LLD_UTILS_H
#define LLD_UTILS_H
#include "llvm/ADT/StringRef.h"
namespace lld {
namespace utils {
/// Symbols can be appended with "(.__uniq.xxxx)?(.llvm.yyyy)?(.Tgm)?" where
/// "xxxx" and "yyyy" are numbers that could change between builds, and .Tgm is
/// the global merge functions suffix
/// (see GlobalMergeFunc::MergingInstanceSuffix). We need to use the root symbol
/// name before this suffix so these symbols can be matched with profiles which
/// may have different suffixes.
llvm::StringRef getRootSymbol(llvm::StringRef Name);
} // namespace utils
} // namespace lld
#endif