[PATCH] D18339: Add GUID/getGlobalIdentifier() non-static API to global value

Mehdi AMINI via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 21 15:38:02 PDT 2016


joker.eph created this revision.
joker.eph added a reviewer: tejohnson.
joker.eph added a subscriber: llvm-commits.

These are just helpers calling their static counter part to
simplify client code.

http://reviews.llvm.org/D18339

Files:
  include/llvm/IR/GlobalValue.h
  lib/IR/Globals.cpp

Index: lib/IR/Globals.cpp
===================================================================
--- lib/IR/Globals.cpp
+++ lib/IR/Globals.cpp
@@ -123,6 +123,10 @@
   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.
Index: include/llvm/IR/GlobalValue.h
===================================================================
--- include/llvm/IR/GlobalValue.h
+++ include/llvm/IR/GlobalValue.h
@@ -316,10 +316,16 @@
                                          GlobalValue::LinkageTypes Linkage,
                                          StringRef FileName);
 
+  std::string getGlobalIdentifier();
+
   /// Return a 64-bit global unique ID constructed from global value name
   /// (i.e. returned by getGlobalIdentifier).
   static uint64_t getGUID(StringRef GlobalName) { return MD5Hash(GlobalName); }
 
+  uint64_t getGUID() {
+    return getGUID(getGlobalIdentifier());
+  }
+
   /// @name Materialization
   /// Materialization is used to construct functions only as they're needed.
   /// This


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18339.51239.patch
Type: text/x-patch
Size: 1273 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160321/dda7e667/attachment.bin>


More information about the llvm-commits mailing list