llvm::InLineChangePrinter

Change printer that shows in-line basic-block diffs with +/- markers.

Synopsis

Declared in <llvm/Passes/StandardInstrumentations.h>

class InLineChangePrinter
    : public TextChangeReporter<IRDataT<EmptyData>>

Description

It uses an InlineComparer to do the comparison so it shows the differences prefixed with '-' and '+' for code that is removed and added, respectively. Changes to the IR that do not affect basic blocks are not reported as having changed the IR. The option -print-module-scope does not affect this change reporter.

Base Classes

NameDescription
TextChangeReporter<IRDataT<EmptyData>>Textual change reporter that prints banners and no-change/filter messages.

Member Functions

NameDescription
InLineChangePrinter [constructor]Construct an in-line diff printer with verbosity and colour settings.
~InLineChangePrinter [destructor] [virtual]Destroy this in-line change printer.
registerCallbacks Register in-line diff callbacks on PIC.

Protected Member Functions

NameDescription
generateIRRepresentation [virtual]Create a block-oriented representation of IR in Output.
handleAfter [virtual]Print in-line diffs when interesting IR has changed.
handleFiltered [virtual]Report that the IR was filtered out.
handleFunctionCompare Print the in-line comparison for one function's before/after data.
handleIgnored [virtual]Report that the pass was ignored.
handleInitialIR [virtual]Print a module dump of the first IR that is changed.
handleInvalidated [virtual]Report that the pass was invalidated.
omitAfter [virtual]Report that the IR was omitted because it did not change.

Protected Data Members

NameDescription
Out Output stream used for textual change banners and reports.
UseColour Whether added/removed lines should be colourized.