diff options
author | Jim Laskey <jlaskey@mac.com> | 2006-10-23 14:56:37 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2006-10-23 14:56:37 +0000 |
commit | 66ebf0973d717b4b2cdef731847aef3904fd04b2 (patch) | |
tree | 7c98ec2d36c9eb7c2c4deb9960a29f3819ce9eda /include/llvm/CodeGen | |
parent | 978b35e5027208e707f642247643fb17de4af5f7 (diff) | |
download | external_llvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.zip external_llvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.tar.gz external_llvm-66ebf0973d717b4b2cdef731847aef3904fd04b2.tar.bz2 |
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.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/MachineDebugInfo.h b/include/llvm/CodeGen/MachineDebugInfo.h index c1134d0..940adb7 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, |