summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-03-30 22:05:13 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-03-30 22:05:13 +0000
commit2bc252acd5625cb0fb167f0d9b3fd05292f7cc47 (patch)
tree8e978a0b2303515887b0f9a5919a63d37b5072b1 /llvm/include
parent1d46d979a9822239b1d30e8acb70726a69487be1 (diff)
downloadbcm5719-llvm-2bc252acd5625cb0fb167f0d9b3fd05292f7cc47.tar.gz
bcm5719-llvm-2bc252acd5625cb0fb167f0d9b3fd05292f7cc47.zip
Cloning: Reduce complexity of debug info cloning and fix correctness issue.
Commit r260791 contained an error in that it would introduce a cross-module reference in the old module. It also introduced O(N^2) complexity in the module cloner by requiring the entire module to be visited for each function. Fix both of these problems by avoiding use of the CloneDebugInfoMetadata function (which is only designed to do intra-module cloning) and cloning function-attached metadata in the same way that we clone all other metadata. Differential Revision: http://reviews.llvm.org/D18583 llvm-svn: 264935
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Transforms/Utils/Cloning.h5
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/include/llvm/Transforms/Utils/Cloning.h b/llvm/include/llvm/Transforms/Utils/Cloning.h
index 0bae2bd533c..4f006f2adee 100644
--- a/llvm/include/llvm/Transforms/Utils/Cloning.h
+++ b/llvm/include/llvm/Transforms/Utils/Cloning.h
@@ -130,11 +130,6 @@ Function *CloneFunction(const Function *F, ValueToValueMapTy &VMap,
bool ModuleLevelChanges,
ClonedCodeInfo *CodeInfo = nullptr);
-/// Clone the module-level debug info associated with OldFunc. The cloned data
-/// will point to NewFunc instead.
-void CloneDebugInfoMetadata(Function *NewFunc, const Function *OldFunc,
- ValueToValueMapTy &VMap);
-
/// Clone OldFunc into NewFunc, transforming the old arguments into references
/// to VMap values. Note that if NewFunc already has basic blocks, the ones
/// cloned into it will be added to the end of the function. This function
OpenPOWER on IntegriCloud