1//===- subzero/src/IceTimerTree.def - X-macros for timing -------*- C++ -*-===// 2// 3// The Subzero Code Generator 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file lists predefined timing tags. New tags can be added to avoid a 11// runtime string lookup. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef SUBZERO_SRC_ICETIMERTREE_DEF 16#define SUBZERO_SRC_ICETIMERTREE_DEF 17 18#define TIMERTREE_TABLE \ 19 /* enum value */ \ 20 X(O2) \ 21 X(Om1) \ 22 X(advancedPhiLowering) \ 23 X(alloca) \ 24 X(computeLoopNestDepth) \ 25 X(convertToIce) \ 26 X(deletePhis) \ 27 X(doAddressOpt) \ 28 X(doArgLowering) \ 29 X(doBranchOpt) \ 30 X(doNopInsertion) \ 31 X(emitAsm) \ 32 X(emitGlobalInitializers) \ 33 X(findRMW) \ 34 X(floatConstantCse) \ 35 X(genCode) \ 36 X(genFrame) \ 37 X(genHelpers) \ 38 X(initUnhandled) \ 39 X(linearScan) \ 40 X(liveRange) \ 41 X(liveness) \ 42 X(livenessLightweight) \ 43 X(llvmConvert) \ 44 X(loadOpt) \ 45 X(localCse) \ 46 X(loopInvariantCodeMotion) \ 47 X(lowerPhiAssignments) \ 48 X(materializeVectorShuffles) \ 49 X(parse) \ 50 X(parseConstants) \ 51 X(parseFunctions) \ 52 X(parseFunctionValuesymtabs) \ 53 X(parseGlobals) \ 54 X(parseModule) \ 55 X(parseModuleValuesymtabs) \ 56 X(parseTypes) \ 57 X(phiValidation) \ 58 X(placePhiLoads) \ 59 X(placePhiStores) \ 60 X(qEmitPop) \ 61 X(qEmitPush) \ 62 X(qTransPop) \ 63 X(qTransPush) \ 64 X(regAlloc) \ 65 X(renumberInstructions) \ 66 X(shortCircuit) \ 67 X(splitGlobalVars) \ 68 X(splitLocalVars) \ 69 X(szmain) \ 70 X(translate) \ 71 X(translateFunctions) \ 72 X(validateLiveness) \ 73 X(vmetadata) \ 74 X(wasm) \ 75 X(wasmGenIce) \ 76 X(writeELF) 77//#define X(tag) 78 79#endif // SUBZERO_SRC_ICETIMERTREE_DEF 80