From 6cead7879aa8902905809e3853d31093a5511c2f Mon Sep 17 00:00:00 2001 From: Victor Hernandez Date: Mon, 18 Jan 2010 22:55:08 +0000 Subject: [PATCH] Add comment that MDNode::getFunction() is not to be used by performance-critical code (currently only used by AsmWriter) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93802 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Metadata.h | 3 ++- lib/VMCore/Metadata.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index 179010b1657..f64978cab44 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -154,7 +154,8 @@ public: // getFunction - If this metadata is function-local and recursively has a // function-local operand, return the first such operand's parent function. - // Otherwise, return null. + // Otherwise, return null. getFunction() should not be used for performance- + // critical code because it recursively visits all the MDNode's operands. Function *getFunction() const; // destroy - Delete this node. Only when there are no uses. diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index 8a40fed1cca..7d783958882 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -154,7 +154,8 @@ static Function *assertLocalFunction(const MDNode *N) { // getFunction - If this metadata is function-local and recursively has a // function-local operand, return the first such operand's parent function. -// Otherwise, return null. +// Otherwise, return null. getFunction() should not be used for performance- +// critical code because it recursively visits all the MDNode's operands. Function *MDNode::getFunction() const { #ifndef NDEBUG return assertLocalFunction(this);