-//===-- Mangler.h - Self-contained c/asm llvm name mangler ------*- C++ -*-===//
+//===-- Mangler.h - Self-contained llvm name mangler ------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
//
//===----------------------------------------------------------------------===//
//
-// Unified name mangler for CWriter and assembly backends.
+// Unified name mangler for various backends.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_SUPPORT_MANGLER_H
#define LLVM_SUPPORT_MANGLER_H
-class Value;
-class Module;
#include <map>
#include <set>
#include <string>
+namespace llvm {
+class Value;
+class Module;
+class GlobalValue;
+
class Mangler {
/// This keeps track of which global values have had their names
/// mangled in the current module.
ValueMap Memo;
unsigned Count;
+
+ void InsertName(GlobalValue *GV, std::map<std::string, GlobalValue*> &Names);
public:
// Mangler ctor - if AddUnderscorePrefix is true, then all public global
static std::string makeNameProper(const std::string &x);
};
+} // End llvm namespace
+
#endif // LLVM_SUPPORT_MANGLER_H