bd74205d6a
* bugpoint.1 * clang.1 * llc.1 * lldb.1 * lli.1 * llvm-ar.1 * llvm-as.1 * llvm-bcanalyzer.1 * llvm-cov.1 * llvm-diff.1 * llvm-dis.1 * llvm-dwarfdump.1 * llvm-extract.1 * llvm-link.1 * llvm-mca.1 * llvm-nm.1 * llvm-pdbutil.1 * llvm-profdata.1 * llvm-symbolizer.1 * llvm-tblgen.1 * opt.1 Add newly generated manpages for: * llvm-addr2line.1 (this is an alias of llvm-symbolizer) * llvm-cxxfilt.1 * llvm-objcopy.1 * llvm-ranlib.1 (this is an alias of llvm-ar) Note that llvm-objdump.1 is an exception, as upstream has both a plain .1 file, and a .rst variant. These will have to be reconciled upstream first. MFC after: 3 days
78 lines
2.5 KiB
Groff
78 lines
2.5 KiB
Groff
.\" $FreeBSD$
|
|
.\" Man page generated from reStructuredText.
|
|
.
|
|
.TH "LLVM-DIFF" "1" "2020-06-26" "10" "LLVM"
|
|
.SH NAME
|
|
llvm-diff \- LLVM structural 'diff'
|
|
.
|
|
.nr rst2man-indent-level 0
|
|
.
|
|
.de1 rstReportMargin
|
|
\\$1 \\n[an-margin]
|
|
level \\n[rst2man-indent-level]
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
-
|
|
\\n[rst2man-indent0]
|
|
\\n[rst2man-indent1]
|
|
\\n[rst2man-indent2]
|
|
..
|
|
.de1 INDENT
|
|
.\" .rstReportMargin pre:
|
|
. RS \\$1
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
. nr rst2man-indent-level +1
|
|
.\" .rstReportMargin post:
|
|
..
|
|
.de UNINDENT
|
|
. RE
|
|
.\" indent \\n[an-margin]
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.nr rst2man-indent-level -1
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
..
|
|
.SH SYNOPSIS
|
|
.sp
|
|
\fBllvm\-diff\fP [\fIoptions\fP] \fImodule 1\fP \fImodule 2\fP [\fIglobal name ...\fP]
|
|
.SH DESCRIPTION
|
|
.sp
|
|
\fBllvm\-diff\fP compares the structure of two LLVM modules, primarily
|
|
focusing on differences in function definitions. Insignificant
|
|
differences, such as changes in the ordering of globals or in the
|
|
names of local values, are ignored.
|
|
.sp
|
|
An input module will be interpreted as an assembly file if its name
|
|
ends in \(aq.ll\(aq; otherwise it will be read in as a bitcode file.
|
|
.sp
|
|
If a list of global names is given, just the values with those names
|
|
are compared; otherwise, all global values are compared, and
|
|
diagnostics are produced for globals which only appear in one module
|
|
or the other.
|
|
.sp
|
|
\fBllvm\-diff\fP compares two functions by comparing their basic blocks,
|
|
beginning with the entry blocks. If the terminators seem to match,
|
|
then the corresponding successors are compared; otherwise they are
|
|
ignored. This algorithm is very sensitive to changes in control flow,
|
|
which tend to stop any downstream changes from being detected.
|
|
.sp
|
|
\fBllvm\-diff\fP is intended as a debugging tool for writers of LLVM
|
|
passes and frontends. It does not have a stable output format.
|
|
.SH EXIT STATUS
|
|
.sp
|
|
If \fBllvm\-diff\fP finds no differences between the modules, it will exit
|
|
with 0 and produce no output. Otherwise it will exit with a non\-zero
|
|
value.
|
|
.SH BUGS
|
|
.sp
|
|
Many important differences, like changes in linkage or function
|
|
attributes, are not diagnosed.
|
|
.sp
|
|
Changes in memory behavior (for example, coalescing loads) can cause
|
|
massive detected differences in blocks.
|
|
.SH AUTHOR
|
|
Maintained by the LLVM Team (https://llvm.org/).
|
|
.SH COPYRIGHT
|
|
2003-2020, LLVM Project
|
|
.\" Generated by docutils manpage writer.
|
|
.
|