summaryrefslogtreecommitdiff
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-07 21:19:40 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-07 21:19:40 +0000
commitb56c57bcbb8b87dca05a18c284155fa75285470b (patch)
treebb3abd15165bc10e94cd127137c15fc1bc02cab7 /include/llvm/Target
parent7e889af76814df67ef912b95ada7ac0b1ebfb7e4 (diff)
downloadllvm-b56c57bcbb8b87dca05a18c284155fa75285470b.tar.gz
llvm-b56c57bcbb8b87dca05a18c284155fa75285470b.tar.bz2
llvm-b56c57bcbb8b87dca05a18c284155fa75285470b.tar.xz
Move the llvm mangler to lib/IR.
This makes it available to tools that don't link with target (like llvm-ar). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198708 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/Mangler.h65
1 files changed, 0 insertions, 65 deletions
diff --git a/include/llvm/Target/Mangler.h b/include/llvm/Target/Mangler.h
deleted file mode 100644
index 78ce264b5e..0000000000
--- a/include/llvm/Target/Mangler.h
+++ /dev/null
@@ -1,65 +0,0 @@
-//===-- llvm/Target/Mangler.h - Self-contained name mangler -----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Unified name mangler for various backends.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_TARGET_MANGLER_H
-#define LLVM_TARGET_MANGLER_H
-
-#include "llvm/ADT/DenseMap.h"
-
-namespace llvm {
-
-class DataLayout;
-class GlobalValue;
-class MCContext;
-template <typename T> class SmallVectorImpl;
-class Twine;
-
-class Mangler {
-public:
- enum ManglerPrefixTy {
- Default, ///< Emit default string before each symbol.
- Private, ///< Emit "private" prefix before each symbol.
- LinkerPrivate ///< Emit "linker private" prefix before each symbol.
- };
-
-private:
- const DataLayout *DL;
-
- /// AnonGlobalIDs - We need to give global values the same name every time
- /// they are mangled. This keeps track of the number we give to anonymous
- /// ones.
- ///
- DenseMap<const GlobalValue*, unsigned> AnonGlobalIDs;
-
- /// NextAnonGlobalID - This simple counter is used to unique value names.
- ///
- unsigned NextAnonGlobalID;
-
-public:
- Mangler(const DataLayout *DL) : DL(DL), NextAnonGlobalID(1) {}
-
- /// getNameWithPrefix - Fill OutName with the name of the appropriate prefix
- /// and the specified global variable's name. If the global variable doesn't
- /// have a name, this fills in a unique name for the global.
- void getNameWithPrefix(SmallVectorImpl<char> &OutName, const GlobalValue *GV);
-
- /// getNameWithPrefix - Fill OutName with the name of the appropriate prefix
- /// and the specified name as the global variable name. GVName must not be
- /// empty.
- void getNameWithPrefix(SmallVectorImpl<char> &OutName, const Twine &GVName,
- ManglerPrefixTy PrefixTy = Mangler::Default);
-};
-
-} // End llvm namespace
-
-#endif // LLVM_TARGET_MANGLER_H