mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-08 03:26:34 +00:00
Add GUID/getGlobalIdentifier() non-static API to global value
Summary: These are just helpers calling their static counter part to simplify client code. Reviewers: tejohnson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18339 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264382 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
93e5944cd8
commit
facd1245e4
@ -316,10 +316,18 @@ public:
|
||||
GlobalValue::LinkageTypes Linkage,
|
||||
StringRef FileName);
|
||||
|
||||
/// Return the modified name for this global value suitable to be
|
||||
/// used as the key for a global lookup (e.g. profile or ThinLTO).
|
||||
std::string getGlobalIdentifier();
|
||||
|
||||
/// Return a 64-bit global unique ID constructed from global value name
|
||||
/// (i.e. returned by getGlobalIdentifier).
|
||||
/// (i.e. returned by getGlobalIdentifier()).
|
||||
static uint64_t getGUID(StringRef GlobalName) { return MD5Hash(GlobalName); }
|
||||
|
||||
/// Return a 64-bit global unique ID constructed from global value name
|
||||
/// (i.e. returned by getGlobalIdentifier()).
|
||||
uint64_t getGUID() { return getGUID(getGlobalIdentifier()); }
|
||||
|
||||
/// @name Materialization
|
||||
/// Materialization is used to construct functions only as they're needed.
|
||||
/// This
|
||||
|
@ -123,6 +123,11 @@ std::string GlobalValue::getGlobalIdentifier(StringRef Name,
|
||||
return NewName;
|
||||
}
|
||||
|
||||
std::string GlobalValue::getGlobalIdentifier() {
|
||||
return getGlobalIdentifier(getName(), getLinkage(),
|
||||
getParent()->getSourceFileName());
|
||||
}
|
||||
|
||||
const char *GlobalValue::getSection() const {
|
||||
if (auto *GA = dyn_cast<GlobalAlias>(this)) {
|
||||
// In general we cannot compute this at the IR level, but we try.
|
||||
|
Loading…
x
Reference in New Issue
Block a user