summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-10-23 14:56:37 +0000
committerJim Laskey <jlaskey@mac.com>2006-10-23 14:56:37 +0000
commit66ebf0973d717b4b2cdef731847aef3904fd04b2 (patch)
tree7c98ec2d36c9eb7c2c4deb9960a29f3819ce9eda /include/llvm/CodeGen
parent978b35e5027208e707f642247643fb17de4af5f7 (diff)
downloadllvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.tar.gz
llvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.tar.bz2
llvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.tar.xz
More complete solution to deleting blocks and debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31129 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/MachineDebugInfo.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/MachineDebugInfo.h b/include/llvm/CodeGen/MachineDebugInfo.h
index c1134d06af..940adb7899 100644
--- a/include/llvm/CodeGen/MachineDebugInfo.h
+++ b/include/llvm/CodeGen/MachineDebugInfo.h
@@ -30,6 +30,8 @@
#ifndef LLVM_CODEGEN_MACHINEDEBUGINFO_H
#define LLVM_CODEGEN_MACHINEDEBUGINFO_H
+#include <set>
+
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/ADT/UniqueVector.h"
@@ -979,6 +981,10 @@ private:
//
DebugScope *RootScope;
+ // DeletedLabelIDs - List of label IDs that have been removed from the
+ // module.
+ std::set<unsigned> DeletedLabelIDs;
+
// FrameMoves - List of moves done by a function's prolog. Used to construct
// frame maps by debug consumers.
std::vector<MachineMove *> FrameMoves;
@@ -1029,11 +1035,14 @@ public:
/// provide correspondence to the source line list.
unsigned RecordLabel(unsigned Line, unsigned Column, unsigned Source);
- /// RemoveLabelInfo - Remove the specified label # from MachineDebugInfo, for
- /// example because the code was deleted.
- void RemoveLabelInfo(unsigned LabelUID);
-
+ /// InvalidateLabel - Inhibit use of the specified label # from
+ /// MachineDebugInfo, for example because the code was deleted.
+ void InvalidateLabel(unsigned LabelID);
+ /// isLabelValid - Check to make sure the label is still valid before
+ /// attempting to use.
+ bool isLabelValid(unsigned LabelID);
+
/// RecordSource - Register a source file with debug info. Returns an source
/// ID.
unsigned RecordSource(const std::string &Directory,