diff options
author | Adam Nemet <anemet@apple.com> | 2016-04-21 17:33:17 +0000 |
---|---|---|
committer | Adam Nemet <anemet@apple.com> | 2016-04-21 17:33:17 +0000 |
commit | 963341c87228565311f08ecae18cf8223278b7a8 (patch) | |
tree | 85df0ef626b3769aea05b710c69802408f8a40d8 /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | f787826b466e251efc20ab9c3486014e197cf3b5 (diff) | |
download | llvm-963341c87228565311f08ecae18cf8223278b7a8.zip llvm-963341c87228565311f08ecae18cf8223278b7a8.tar.gz llvm-963341c87228565311f08ecae18cf8223278b7a8.tar.bz2 |
[LoopUtils] Move def of findStringMetadataForLoop to LoopUtils.cpp. NFC
The decl is in LoopUtils.h. I think that this was added to
LoopVersioningLICM.cpp by mistake.
llvm-svn: 267014
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LoopUtils.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopUtils.cpp b/llvm/lib/Transforms/Utils/LoopUtils.cpp index a2964c3..79bfea0 100644 --- a/llvm/lib/Transforms/Utils/LoopUtils.cpp +++ b/llvm/lib/Transforms/Utils/LoopUtils.cpp @@ -822,3 +822,25 @@ void llvm::initializeLoopPassPass(PassRegistry &Registry) { INITIALIZE_PASS_DEPENDENCY(SCEVAAWrapperPass) INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass) } + +/// \brief Find string metadata for loop, if it exist return true, else return +/// false. +bool llvm::findStringMetadataForLoop(Loop *TheLoop, StringRef Name) { + MDNode *LoopID = TheLoop->getLoopID(); + // Return false if LoopID is false. + if (!LoopID) + return false; + // Iterate over LoopID operands and look for MDString Metadata + for (unsigned i = 1, e = LoopID->getNumOperands(); i < e; ++i) { + MDNode *MD = dyn_cast<MDNode>(LoopID->getOperand(i)); + if (!MD) + continue; + MDString *S = dyn_cast<MDString>(MD->getOperand(0)); + if (!S) + continue; + // Return true if MDString holds expected MetaData. + if (Name.equals(S->getString())) + return true; + } + return false; +} |