aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Support/NameMangling.h
blob: 8d33dcc43552d44de0e9f38e17300cbcfedd1d97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//===- llvm/Support/NameMangling.h - Name Mangling for LLVM ------*- C++ -*--=//
//
// This file implements a consistent scheme for name mangling symbols.
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_SUPPORT_NAMEMANGLING_H
#define LLVM_SUPPORT_NAMEMANGLING_H

#include <string>
class Type;
class Value;

// MangleTypeName - Implement a consistent name-mangling scheme for
//                  a given type.
// 
std::string MangleTypeName(const Type *type);

// MangleName - implement a consistent name-mangling scheme for all
// externally visible (i.e., global) objects.
//
// privateName should be unique within the module.
// 
std::string MangleName(const std::string &privateName, const Value *V);

#endif