ValueMapper.h revision 07cf79ef537caff6d39145f190a28a336e629b6f
1//===- ValueMapper.h - Interface shared by lib/Transforms/Utils -*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines the MapValue interface which is used by various parts of
11// the Transforms/Utils library to implement cloning and linking facilities.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef VALUEMAPPER_H
16#define VALUEMAPPER_H
17
18#include "llvm/ADT/DenseMap.h"
19
20namespace llvm {
21  class Value;
22  class Instruction;
23  class LLVMContext;
24  typedef DenseMap<const Value *, Value *> ValueMapTy;
25
26  Value *MapValue(const Value *V, ValueMapTy &VM, LLVMContext *Context);
27  void RemapInstruction(Instruction *I, ValueMapTy &VM);
28} // End llvm namespace
29
30#endif
31