From 68edf5f68a9e25120f06ab30e064a869eb83018e Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Tue, 10 Mar 2009 22:58:53 +0000 Subject: [PATCH] Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66591 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index 88c0714bfa6..e9fb32c441c 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -48,10 +48,9 @@ static RegisterPass X("dwarfwriter", "DWARF Information Writer"); char DwarfWriter::ID = 0; -static TimerGroup *DwarfTimerGroup = 0; -static TimerGroup *getDwarfTimerGroup() { - if (DwarfTimerGroup) return DwarfTimerGroup; - return DwarfTimerGroup = new TimerGroup("Dwarf Exception and Debugging"); +static TimerGroup &getDwarfTimerGroup() { + static TimerGroup DwarfTimerGroup("Dwarf Exception and Debugging"); + return DwarfTimerGroup; } namespace llvm { @@ -3022,7 +3021,7 @@ public: RootDbgScope(0), DebugTimer(0) { if (TimePassesIsEnabled) DebugTimer = new Timer("Dwarf Debug Writer", - *getDwarfTimerGroup()); + getDwarfTimerGroup()); } virtual ~DwarfDebug() { for (unsigned j = 0, M = Values.size(); j < M; ++j) @@ -4068,7 +4067,7 @@ public: ExceptionTimer(0) { if (TimePassesIsEnabled) ExceptionTimer = new Timer("Dwarf Exception Writer", - *getDwarfTimerGroup()); + getDwarfTimerGroup()); } virtual ~DwarfException() { @@ -4491,7 +4490,6 @@ DwarfWriter::DwarfWriter() DwarfWriter::~DwarfWriter() { delete DE; delete DD; - delete DwarfTimerGroup; DwarfTimerGroup = 0; } /// BeginModule - Emit all Dwarf sections that should come prior to the