summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-20 22:02:26 +0000
committerDan Gohman <gohman@apple.com>2010-08-20 22:02:26 +0000
commit489b29b0a4ee4526e3d50ad88d3d48745baf5042 (patch)
tree6602f14da364b9d6e0714e7b327adf14d7ffac23 /include/llvm/Analysis
parent95c79302259c03aa99010bbbc7d8ffeae3fa9740 (diff)
downloadllvm-489b29b0a4ee4526e3d50ad88d3d48745baf5042.tar.gz
llvm-489b29b0a4ee4526e3d50ad88d3d48745baf5042.tar.bz2
llvm-489b29b0a4ee4526e3d50ad88d3d48745baf5042.tar.xz
Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd. This replaces a variety of alternate mechanisms for achieving the same effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111681 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/DebugInfo.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h
index 625ca8a844..da226273a0 100644
--- a/include/llvm/Analysis/DebugInfo.h
+++ b/include/llvm/Analysis/DebugInfo.h
@@ -272,6 +272,10 @@ namespace llvm {
StringRef getFilename() const { return getCompileUnit().getFilename();}
StringRef getDirectory() const { return getCompileUnit().getDirectory();}
+ /// replaceAllUsesWith - Replace all uses of debug info referenced by
+ /// this descriptor.
+ void replaceAllUsesWith(DIDescriptor &D);
+
/// print - print type.
void print(raw_ostream &OS) const;
@@ -314,10 +318,6 @@ namespace llvm {
/// dump - print derived type to dbgs() with a newline.
void dump() const;
-
- /// replaceAllUsesWith - Replace all uses of debug info referenced by
- /// this descriptor.
- void replaceAllUsesWith(DIDescriptor &D);
};
/// DICompositeType - This descriptor holds a type that can refer to multiple
@@ -654,6 +654,9 @@ namespace llvm {
unsigned RunTimeLang = 0,
MDNode *ContainingType = 0);
+ /// CreateTemporaryType - Create a temporary forward-declared type.
+ DIType CreateTemporaryType(DIDescriptor Context);
+
/// CreateArtificialType - Create a new DIType with "artificial" flag set.
DIType CreateArtificialType(DIType Ty);