31 lines
1.1 KiB
C++
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
|