//===- subzero/src/IceTimerTree.def - X-macros for timing -------*- C++ -*-===//
//
//                        The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file lists predefined timing tags. New tags can be added to avoid a
// runtime string lookup.
//
//===----------------------------------------------------------------------===//

#ifndef SUBZERO_SRC_ICETIMERTREE_DEF
#define SUBZERO_SRC_ICETIMERTREE_DEF

#define TIMERTREE_TABLE        \
  /* enum value */             \
  X(O2)                        \
  X(Om1)                       \
  X(advancedPhiLowering)       \
  X(computeLoopNestDepth)      \
  X(convertToIce)              \
  X(deletePhis)                \
  X(doAddressOpt)              \
  X(doArgLowering)             \
  X(doBranchOpt)               \
  X(doNopInsertion)            \
  X(emit)                      \
  X(emitGlobalInitializers)    \
  X(genCode)                   \
  X(genFrame)                  \
  X(initUnhandled)             \
  X(linearScan)                \
  X(liveRange)                 \
  X(liveness)                  \
  X(livenessLightweight)       \
  X(llvmConvert)               \
  X(lowerPhiAssignments)       \
  X(parse)                     \
  X(parseConstants)            \
  X(parseFunctions)            \
  X(parseFunctionValuesymtabs) \
  X(parseGlobals)              \
  X(parseModule)               \
  X(parseModuleValuesymtabs)   \
  X(parseTypes)                \
  X(phiValidation)             \
  X(placePhiLoads)             \
  X(placePhiStores)            \
  X(regAlloc)                  \
  X(renumberInstructions)      \
  X(szmain)                    \
  X(translate)                 \
  X(validateLiveness)          \
  X(vmetadata)
//#define X(tag)

#endif // SUBZERO_SRC_ICETIMERTREE_DEF
