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