aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h')
-rw-r--r--contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h33
1 files changed, 7 insertions, 26 deletions
diff --git a/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h b/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
index 944e7e3501c9..a6310bcb5df1 100644
--- a/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
+++ b/contrib/llvm-project/llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
@@ -101,10 +101,7 @@ public:
unsigned getUniqueID() const { return ID; }
- void createOutputDIE() {
- NewUnit.emplace(OrigUnit.getVersion(), OrigUnit.getAddressByteSize(),
- OrigUnit.getUnitDIE().getTag());
- }
+ void createOutputDIE() { NewUnit.emplace(OrigUnit.getUnitDIE().getTag()); }
DIE *getOutputUnitDIE() const {
if (NewUnit)
@@ -123,6 +120,11 @@ public:
DIEInfo &getInfo(unsigned Idx) { return Info[Idx]; }
const DIEInfo &getInfo(unsigned Idx) const { return Info[Idx]; }
+ DIEInfo &getInfo(const DWARFDie &Die) {
+ unsigned Idx = getOrigUnit().getDIEIndex(Die);
+ return Info[Idx];
+ }
+
uint64_t getStartOffset() const { return StartOffset; }
uint64_t getNextUnitOffset() const { return NextUnitOffset; }
void setStartOffset(uint64_t DebugInfoSize) { StartOffset = DebugInfoSize; }
@@ -157,7 +159,7 @@ public:
/// Compute the end offset for this unit. Must be called after the CU's DIEs
/// have been cloned. \returns the next unit offset (which is also the
/// current debug_info section size).
- uint64_t computeNextUnitOffset();
+ uint64_t computeNextUnitOffset(uint16_t DwarfVersion);
/// Keep track of a forward reference to DIE \p Die in \p RefUnit by \p
/// Attr. The attribute should be fixed up later to point to the absolute
@@ -235,21 +237,6 @@ public:
const std::vector<AccelInfo> &getNamespaces() const { return Namespaces; }
const std::vector<AccelInfo> &getObjC() const { return ObjC; }
- /// Get the full path for file \a FileNum in the line table
- StringRef getResolvedPath(unsigned FileNum) {
- if (FileNum >= ResolvedPaths.size())
- return StringRef();
- return ResolvedPaths[FileNum];
- }
-
- /// Set the fully resolved path for the line-table's file \a FileNum
- /// to \a Path.
- void setResolvedPath(unsigned FileNum, StringRef Path) {
- if (ResolvedPaths.size() <= FileNum)
- ResolvedPaths.resize(FileNum + 1);
- ResolvedPaths[FileNum] = Path;
- }
-
MCSymbol *getLabelBegin() { return LabelBegin; }
void setLabelBegin(MCSymbol *S) { LabelBegin = S; }
@@ -308,12 +295,6 @@ private:
std::vector<AccelInfo> ObjC;
/// @}
- /// Cached resolved paths from the line table.
- /// Note, the StringRefs here point in to the intern (uniquing) string pool.
- /// This means that a StringRef returned here doesn't need to then be uniqued
- /// for the purposes of getting a unique address for each string.
- std::vector<StringRef> ResolvedPaths;
-
/// Is this unit subject to the ODR rule?
bool HasODR;