aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms/Utils/CloneFunction.h
blob: fe29dc4ce6182a9c9a147fbd5188435c30d54fb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


#ifndef LLVM_TRANSFORMS_CLONE_FUNCTION_H
#define LLVM_TRANSFORMS_CLONE_FUNCTION_H

#include <vector>
class Function;
class Value;

// Clone OldFunc into NewFunc, transforming the old arguments into references to
// ArgMap values.  Note that if NewFunc already has basic blocks, the ones
// cloned into it will be added to the end of the function.
//
void CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
                       const std::vector<Value*> &ArgMap);

#endif