From 53fd20bdbd700835d9786b88f08b99cea88db527 Mon Sep 17 00:00:00 2001 From: Michael Gottesman Date: Tue, 29 Jan 2013 21:07:51 +0000 Subject: Added some periods to some comments and added an overload for operator<< for type Sequence so I can print out Sequences in debug statements. llvm-svn: 173831 --- llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp | 34 ++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp index 727b4f7c96c..068da13fc04 100644 --- a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp +++ b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp @@ -312,13 +312,35 @@ namespace { /// objc_retain and objc_release are actually needed. enum Sequence { S_None, - S_Retain, ///< objc_retain(x) - S_CanRelease, ///< foo(x) -- x could possibly see a ref count decrement - S_Use, ///< any use of x - S_Stop, ///< like S_Release, but code motion is stopped - S_Release, ///< objc_release(x) - S_MovableRelease ///< objc_release(x), !clang.imprecise_release + S_Retain, ///< objc_retain(x). + S_CanRelease, ///< foo(x) -- x could possibly see a ref count decrement. + S_Use, ///< any use of x. + S_Release, ///< objc_release(x). + S_MovableRelease, ///< objc_release(x), !clang.imprecise_release. + S_Stop ///< like S_Release, but code motion is stopped. }; + + raw_ostream &operator<<(raw_ostream &OS, const Sequence S) + LLVM_ATTRIBUTE_UNUSED; + raw_ostream &operator<<(raw_ostream &OS, const Sequence S) { + switch (S) { + case S_None: + return OS << "S_None"; + case S_Retain: + return OS << "S_Retain"; + case S_CanRelease: + return OS << "S_CanRelease"; + case S_Use: + return OS << "S_Use"; + case S_Release: + return OS << "S_Release"; + case S_MovableRelease: + return OS << "S_MovableRelease"; + case S_Stop: + return OS << "S_Stop"; + } + llvm_unreachable("Unknown sequence type."); + } } static Sequence MergeSeqs(Sequence A, Sequence B, bool TopDown) { -- cgit v1.2.3