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
This commit is contained in:
Bill Wendling 2009-03-10 22:58:53 +00:00
parent fc232b08f3
commit 68edf5f68a

View File

@ -48,10 +48,9 @@ static RegisterPass<DwarfWriter>
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