mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 04:24:00 +00:00
Add data structure to define and track debug location during codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63008 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -19,6 +19,7 @@
|
||||
#define LLVM_CODEGEN_MACHINEFUNCTION_H
|
||||
|
||||
#include "llvm/ADT/ilist.h"
|
||||
#include "llvm/CodeGen/DebugLoc.h"
|
||||
#include "llvm/CodeGen/MachineBasicBlock.h"
|
||||
#include "llvm/Support/Annotation.h"
|
||||
#include "llvm/Support/Allocator.h"
|
||||
@ -27,11 +28,11 @@
|
||||
namespace llvm {
|
||||
|
||||
class Function;
|
||||
class TargetMachine;
|
||||
class MachineRegisterInfo;
|
||||
class MachineFrameInfo;
|
||||
class MachineConstantPool;
|
||||
class MachineJumpTableInfo;
|
||||
class TargetMachine;
|
||||
|
||||
template <>
|
||||
struct ilist_traits<MachineBasicBlock>
|
||||
@ -94,6 +95,9 @@ class MachineFunction : private Annotation {
|
||||
typedef ilist<MachineBasicBlock> BasicBlockListType;
|
||||
BasicBlockListType BasicBlocks;
|
||||
|
||||
// Tracks debug locations.
|
||||
DebugLocTracker DebugLocInfo;
|
||||
|
||||
public:
|
||||
MachineFunction(const Function *Fn, const TargetMachine &TM);
|
||||
~MachineFunction();
|
||||
@ -302,6 +306,15 @@ public:
|
||||
/// DeleteMachineBasicBlock - Delete the given MachineBasicBlock.
|
||||
///
|
||||
void DeleteMachineBasicBlock(MachineBasicBlock *MBB);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Debug location.
|
||||
//
|
||||
|
||||
/// lookUpDebugLocId - Look up the DebugLocTuple index with the given
|
||||
/// filename, line, and column. It may add a new filename and / or
|
||||
/// a new DebugLocTuple.
|
||||
unsigned lookUpDebugLocId(const char *Filename, unsigned Line, unsigned Col);
|
||||
};
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
Reference in New Issue
Block a user