diff options
Diffstat (limited to 'llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp')
| -rw-r--r-- | llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp b/llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp index 8ae905e2636..245ce05a254 100644 --- a/llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp +++ b/llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp @@ -37,6 +37,10 @@ cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input file>"),  cl::opt<std::string> BlacklistFilename(cl::Positional,                                         cl::desc("[blacklist file]"),                                         cl::init("-")); +cl::opt<bool> PrintGraphs( +    "print-graphs", +    cl::desc("Print graphs around indirect CF instructions in DOT format."), +    cl::init(false));  ExitOnError ExitOnErr; @@ -62,10 +66,12 @@ void printIndirectCFInstructions(FileAnalysis &Analysis,      else        outs() << "U "; -    outs() << format_hex(Address, 2) << " | " -           << Analysis.getMCInstrInfo()->getName( -                  InstrMeta.Instruction.getOpcode()) -           << " \n"; +    outs() << format_hex(Address, 2) << " | "; +    Analysis.printInstruction(InstrMeta, outs()); +    outs() << " \n"; + +    if (PrintGraphs) +      Graph.printToDOT(Analysis, outs());      if (IgnoreDWARFFlag) {        if (CFIProtected) | 

