2014-05-01 05:34:11 +08:00
|
|
|
//===-- llvm/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h ----*- C++ -*--===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef CODEGEN_ASMPRINTER_DBGVALUEHISTORYCALCULATOR_H_
|
|
|
|
#define CODEGEN_ASMPRINTER_DBGVALUEHISTORYCALCULATOR_H_
|
|
|
|
|
2014-05-01 07:02:40 +08:00
|
|
|
#include "llvm/ADT/MapVector.h"
|
2014-05-01 05:34:11 +08:00
|
|
|
#include "llvm/ADT/SmallVector.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
|
|
|
|
|
|
|
class MachineFunction;
|
|
|
|
class MachineInstr;
|
|
|
|
class MDNode;
|
|
|
|
class TargetRegisterInfo;
|
|
|
|
|
2014-05-21 02:34:54 +08:00
|
|
|
// For each user variable, keep a list of DBG_VALUE instructions for it
|
|
|
|
// in the order of appearance. The list can also contain another
|
|
|
|
// instructions, which are assumed to clobber the previous DBG_VALUE.
|
|
|
|
// The variables are listed in order of appearance.
|
2014-05-01 07:02:40 +08:00
|
|
|
typedef MapVector<const MDNode *, SmallVector<const MachineInstr *, 4>>
|
2014-05-01 05:34:11 +08:00
|
|
|
DbgValueHistoryMap;
|
|
|
|
|
|
|
|
void calculateDbgValueHistory(const MachineFunction *MF,
|
|
|
|
const TargetRegisterInfo *TRI,
|
|
|
|
DbgValueHistoryMap &Result);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|