summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
diff options
context:
space:
mode:
authorMitch Phillips <mitchphillips@outlook.com>2017-11-14 22:43:13 +0000
committerMitch Phillips <mitchphillips@outlook.com>2017-11-14 22:43:13 +0000
commit02993892d81f256d1a4a61bb4886db3376a75644 (patch)
tree34ba89032d0ee2746aeba55cac62a0e50ba5c905 /llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
parente6201c8724dbce94969bc0b7f81e950cdbb6f742 (diff)
downloadbcm5719-llvm-02993892d81f256d1a4a61bb4886db3376a75644.tar.gz
bcm5719-llvm-02993892d81f256d1a4a61bb4886db3376a75644.zip
[cfi-verify] Add DOT graph printing for GraphResult objects.
Allows users to view GraphResult objects in a DOT directed-graph format. This feature can be turned on through the --print-graphs flag. Also enabled pretty-printing of instructions in output. Together these features make analysis of unprotected CF instructions much easier by providing a visual control flow graph. Reviewers: pcc Subscribers: llvm-commits, kcc, vlad.tsyrklevich Differential Revision: https://reviews.llvm.org/D39819 llvm-svn: 318211
Diffstat (limited to 'llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h')
-rw-r--r--llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h b/llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
index 12d9c95e3cf..d1ce5096ed9 100644
--- a/llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
+++ b/llvm/tools/llvm-cfi-verify/lib/GraphBuilder.h
@@ -89,6 +89,9 @@ struct GraphResult {
// base. The provided address must be part of this graph, and must not be a
// conditional branch.
std::vector<uint64_t> flattenAddress(uint64_t Address) const;
+
+ // Print the DOT representation of this result.
+ void printToDOT(const FileAnalysis &Analysis, raw_ostream &OS) const;
};
class GraphBuilder {
OpenPOWER on IntegriCloud