mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-18 02:19:39 +00:00
Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release). PR: 271047 MFC after: 1 month
This commit is contained in:
commit
a324c34037
@ -1812,7 +1812,7 @@ void TypePrinter::printAttributedAfter(const AttributedType *T,
|
||||
void TypePrinter::printBTFTagAttributedBefore(const BTFTagAttributedType *T,
|
||||
raw_ostream &OS) {
|
||||
printBefore(T->getWrappedType(), OS);
|
||||
OS << " btf_type_tag(" << T->getAttr()->getBTFTypeTag() << ")";
|
||||
OS << " __attribute__((btf_type_tag(\"" << T->getAttr()->getBTFTypeTag() << "\")))";
|
||||
}
|
||||
|
||||
void TypePrinter::printBTFTagAttributedAfter(const BTFTagAttributedType *T,
|
||||
|
@ -7782,7 +7782,7 @@ void Clang::AddClangCLArgs(const ArgList &Args, types::ID InputType,
|
||||
if (Args.hasArg(options::OPT__SLASH_kernel))
|
||||
CmdArgs.push_back("-fms-kernel");
|
||||
|
||||
if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) {
|
||||
for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) {
|
||||
StringRef GuardArgs = A->getValue();
|
||||
// The only valid options are "cf", "cf,nochecks", "cf-", "ehcont" and
|
||||
// "ehcont-".
|
||||
|
@ -227,7 +227,7 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
Args.AddAllArgValues(CmdArgs, options::OPT__SLASH_link);
|
||||
|
||||
// Control Flow Guard checks
|
||||
if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) {
|
||||
for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) {
|
||||
StringRef GuardArgs = A->getValue();
|
||||
if (GuardArgs.equals_insensitive("cf") ||
|
||||
GuardArgs.equals_insensitive("cf,nochecks")) {
|
||||
|
@ -5348,14 +5348,16 @@ static void TryOrBuildParenListInitialization(
|
||||
// The remaining elements are initialized with their default member
|
||||
// initializers, if any
|
||||
auto *FD = cast<FieldDecl>(SubEntity.getDecl());
|
||||
if (Expr *ICE = FD->getInClassInitializer(); ICE && !VerifyOnly) {
|
||||
ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD);
|
||||
if (DIE.isInvalid())
|
||||
return false;
|
||||
S.checkInitializerLifetime(SubEntity, DIE.get());
|
||||
InitExprs.push_back(DIE.get());
|
||||
if (FD->hasInClassInitializer()) {
|
||||
if (!VerifyOnly) {
|
||||
ExprResult DIE = S.BuildCXXDefaultInitExpr(FD->getLocation(), FD);
|
||||
if (DIE.isInvalid())
|
||||
return false;
|
||||
S.checkInitializerLifetime(SubEntity, DIE.get());
|
||||
InitExprs.push_back(DIE.get());
|
||||
}
|
||||
continue;
|
||||
};
|
||||
}
|
||||
}
|
||||
// Remaining class elements without default member initializers and
|
||||
// array elements are value initialized:
|
||||
|
@ -38,7 +38,7 @@
|
||||
// _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM.
|
||||
// Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 16.0.1 == 16.00.01), _LIBCPP_VERSION is
|
||||
// defined to XXYYZZ.
|
||||
# define _LIBCPP_VERSION 160003
|
||||
# define _LIBCPP_VERSION 160004
|
||||
|
||||
# define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
|
||||
# define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
|
||||
|
@ -1724,12 +1724,9 @@ bool TargetLowering::SimplifyDemandedBits(
|
||||
unsigned InnerBits = InnerVT.getScalarSizeInBits();
|
||||
if (ShAmt < InnerBits && DemandedBits.getActiveBits() <= InnerBits &&
|
||||
isTypeDesirableForOp(ISD::SHL, InnerVT)) {
|
||||
EVT ShTy = getShiftAmountTy(InnerVT, DL);
|
||||
if (!APInt(BitWidth, ShAmt).isIntN(ShTy.getSizeInBits()))
|
||||
ShTy = InnerVT;
|
||||
SDValue NarrowShl =
|
||||
TLO.DAG.getNode(ISD::SHL, dl, InnerVT, InnerOp,
|
||||
TLO.DAG.getConstant(ShAmt, dl, ShTy));
|
||||
SDValue NarrowShl = TLO.DAG.getNode(
|
||||
ISD::SHL, dl, InnerVT, InnerOp,
|
||||
TLO.DAG.getShiftAmountConstant(ShAmt, InnerVT, dl));
|
||||
return TLO.CombineTo(
|
||||
Op, TLO.DAG.getNode(ISD::ANY_EXTEND, dl, VT, NarrowShl));
|
||||
}
|
||||
|
@ -8488,11 +8488,13 @@ SystemZTargetLowering::emitMemMemWrapper(MachineInstr &MI,
|
||||
.addReg(RemSrcReg).addImm(SrcDisp);
|
||||
MBB->addSuccessor(AllDoneMBB);
|
||||
MBB = AllDoneMBB;
|
||||
if (EndMBB) {
|
||||
if (Opcode != SystemZ::MVC) {
|
||||
EXRL_MIB.addReg(SystemZ::CC, RegState::ImplicitDefine);
|
||||
MBB->addLiveIn(SystemZ::CC);
|
||||
if (EndMBB)
|
||||
MBB->addLiveIn(SystemZ::CC);
|
||||
}
|
||||
}
|
||||
MF.getProperties().reset(MachineFunctionProperties::Property::NoPHIs);
|
||||
}
|
||||
|
||||
// Handle any remaining bytes with straight-line code.
|
||||
|
@ -1557,7 +1557,19 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
|
||||
Fn.arg_size() == 2) {
|
||||
StackSize += 8;
|
||||
MFI.setStackSize(StackSize);
|
||||
emitSPUpdate(MBB, MBBI, DL, -8, /*InEpilogue=*/false);
|
||||
|
||||
// Update the stack pointer by pushing a register. This is the instruction
|
||||
// emitted that would be end up being emitted by a call to `emitSPUpdate`.
|
||||
// Hard-coding the update to a push avoids emitting a second
|
||||
// `STACKALLOC_W_PROBING` instruction in the save block: We know that stack
|
||||
// probing isn't needed anyways for an 8-byte update.
|
||||
// Pushing a register leaves us in a similar situation to a regular
|
||||
// function call where we know that the address at (rsp-8) is writeable.
|
||||
// That way we avoid any off-by-ones with stack probing for additional
|
||||
// stack pointer updates later on.
|
||||
BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64r))
|
||||
.addReg(X86::RAX, RegState::Undef)
|
||||
.setMIFlag(MachineInstr::FrameSetup);
|
||||
}
|
||||
|
||||
// If this is x86-64 and the Red Zone is not disabled, if we are a leaf
|
||||
|
@ -1,10 +1,10 @@
|
||||
// $FreeBSD$
|
||||
|
||||
#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
|
||||
#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493"
|
||||
#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
|
||||
|
||||
#define CLANG_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
|
||||
#define CLANG_REVISION "llvmorg-16.0.4-0-gae42196bc493"
|
||||
#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
|
||||
|
||||
#define LLDB_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
|
||||
#define LLDB_REVISION "llvmorg-16.0.4-0-gae42196bc493"
|
||||
#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
|
||||
|
@ -1,10 +1,10 @@
|
||||
/* $FreeBSD$ */
|
||||
|
||||
#define CLANG_VERSION 16.0.3
|
||||
#define CLANG_VERSION_STRING "16.0.3"
|
||||
#define CLANG_VERSION 16.0.4
|
||||
#define CLANG_VERSION_STRING "16.0.4"
|
||||
#define CLANG_VERSION_MAJOR 16
|
||||
#define CLANG_VERSION_MAJOR_STRING "16"
|
||||
#define CLANG_VERSION_MINOR 0
|
||||
#define CLANG_VERSION_PATCHLEVEL 3
|
||||
#define CLANG_VERSION_PATCHLEVEL 4
|
||||
|
||||
#define CLANG_VENDOR "FreeBSD "
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Local identifier in __FreeBSD_version style
|
||||
#define LLD_FREEBSD_VERSION 1400006
|
||||
|
||||
#define LLD_VERSION_STRING "16.0.3 (FreeBSD llvmorg-16.0.3-0-gda3cd333bea5-" __XSTRING(LLD_FREEBSD_VERSION) ")"
|
||||
#define LLD_VERSION_STRING "16.0.4 (FreeBSD llvmorg-16.0.4-0-gae42196bc493-" __XSTRING(LLD_FREEBSD_VERSION) ")"
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define LLDB_VERSION 16.0.3
|
||||
#define LLDB_VERSION_STRING "16.0.3"
|
||||
#define LLDB_VERSION 16.0.4
|
||||
#define LLDB_VERSION_STRING "16.0.4"
|
||||
#define LLDB_VERSION_MAJOR 16
|
||||
#define LLDB_VERSION_MINOR 0
|
||||
#define LLDB_VERSION_PATCH 3
|
||||
#define LLDB_VERSION_PATCH 4
|
||||
/* #undef LLDB_FULL_VERSION_STRING */
|
||||
|
@ -348,10 +348,10 @@
|
||||
#define PACKAGE_NAME "LLVM"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "LLVM 16.0.3"
|
||||
#define PACKAGE_STRING "LLVM 16.0.4"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "16.0.3"
|
||||
#define PACKAGE_VERSION "16.0.4"
|
||||
|
||||
/* Define to the vendor of this package. */
|
||||
/* #undef PACKAGE_VENDOR */
|
||||
|
@ -74,10 +74,10 @@
|
||||
#define LLVM_VERSION_MINOR 0
|
||||
|
||||
/* Patch version of the LLVM API */
|
||||
#define LLVM_VERSION_PATCH 3
|
||||
#define LLVM_VERSION_PATCH 4
|
||||
|
||||
/* LLVM version string */
|
||||
#define LLVM_VERSION_STRING "16.0.3"
|
||||
#define LLVM_VERSION_STRING "16.0.4"
|
||||
|
||||
/* Whether LLVM records statistics for use with GetStatistics(),
|
||||
* PrintStatistics() or PrintStatisticsJSON()
|
||||
|
@ -1,3 +1,3 @@
|
||||
/* $FreeBSD$ */
|
||||
#define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
|
||||
#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493"
|
||||
#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "BUGPOINT" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "BUGPOINT" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
bugpoint \- automatic test case reduction tool
|
||||
.SH SYNOPSIS
|
||||
@ -42,7 +41,7 @@ can be used to debug three types of failures: optimizer crashes, miscompilations
|
||||
by optimizers, or bad native code generation (including problems in the static
|
||||
and JIT compilers). It aims to reduce large test cases to small, useful ones.
|
||||
For more information on the design and inner workings of \fBbugpoint\fP, as well as
|
||||
advice for using bugpoint, see /Bugpoint in the LLVM
|
||||
advice for using bugpoint, see \fI\%LLVM bugpoint tool: design and usage\fP in the LLVM
|
||||
distribution.
|
||||
.SH OPTIONS
|
||||
.sp
|
||||
@ -67,7 +66,7 @@ code is considered a test failure. Defaults to false.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Pass all arguments specified after \fB\-\-args\fP to the test program whenever it runs.
|
||||
Note that if any of the \fIprogram args\fP start with a "\fB\-\fP", you should use:
|
||||
Note that if any of the \fIprogram args\fP start with a \(dq\fB\-\fP\(dq, you should use:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
@ -79,8 +78,8 @@ bugpoint [bugpoint args] \-\-args \-\- [program args]
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The "\fB\-\-\fP" right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider
|
||||
any options starting with "\fB\-\fP" to be part of the \fB\-\-args\fP option, not as
|
||||
The \(dq\fB\-\-\fP\(dq right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider
|
||||
any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-args\fP option, not as
|
||||
options to \fBbugpoint\fP itself.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -102,8 +101,8 @@ bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args]
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The "\fB\-\-\fP" right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to
|
||||
consider any options starting with "\fB\-\fP" to be part of the \fB\-\-tool\-args\fP
|
||||
The \(dq\fB\-\-\fP\(dq right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to
|
||||
consider any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-tool\-args\fP
|
||||
option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.)
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -111,7 +110,7 @@ option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.)
|
||||
\fB\-\-safe\-tool\-args\fP \fItool args\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the "safe" execution
|
||||
Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the \(dqsafe\(dq execution
|
||||
tool.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -205,9 +204,9 @@ to zero to disable the limit.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Whenever the test program produces output on its standard output stream, it
|
||||
should match the contents of \fIfilename\fP (the "reference output"). If you
|
||||
should match the contents of \fIfilename\fP (the \(dqreference output\(dq). If you
|
||||
do not use this option, \fBbugpoint\fP will attempt to generate a reference output
|
||||
by compiling the program with the "safe" backend and running it.
|
||||
by compiling the program with the \(dqsafe\(dq backend and running it.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
@ -225,13 +224,13 @@ custom command (see \fB\-\-exec\-command\fP) respectively.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
When debugging a code generator, \fBbugpoint\fP should use the specified code
|
||||
generator as the "safe" code generator. This is a known\-good code generator
|
||||
used to generate the "reference output" if it has not been provided, and to
|
||||
generator as the \(dqsafe\(dq code generator. This is a known\-good code generator
|
||||
used to generate the \(dqreference output\(dq if it has not been provided, and to
|
||||
compile portions of the program that as they are excluded from the testcase.
|
||||
These options allow you to choose the
|
||||
static native code compiler, or a custom command, (see \fB\-\-exec\-command\fP)
|
||||
respectively. The interpreter and the JIT backends cannot currently
|
||||
be used as the "safe" backends.
|
||||
be used as the \(dqsafe\(dq backends.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
@ -249,9 +248,9 @@ be useful for cross\-compilation.
|
||||
.INDENT 3.5
|
||||
This option defines the command to use with the \fB\-\-compile\-custom\fP
|
||||
option to compile the bitcode testcase. The command should exit with a
|
||||
failure exit code if the file is "interesting" and should exit with a
|
||||
failure exit code if the file is \(dqinteresting\(dq and should exit with a
|
||||
success exit code (i.e. 0) otherwise (this is the same as if it crashed on
|
||||
"interesting" inputs).
|
||||
\(dqinteresting\(dq inputs).
|
||||
.sp
|
||||
This can be useful for
|
||||
testing compiler output without running any link or execute stages. To
|
||||
@ -263,14 +262,14 @@ testcase and pass the name of an executable compile\-command script in this form
|
||||
.nf
|
||||
.ft C
|
||||
#!/bin/sh
|
||||
llc "$@"
|
||||
llc \(dq$@\(dq
|
||||
not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
This script will "fail" as long as FileCheck passes. So the result
|
||||
This script will \(dqfail\(dq as long as FileCheck passes. So the result
|
||||
will be the minimum bitcode that passes FileCheck.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -287,7 +286,7 @@ option.
|
||||
\fB\-\-verbose\-errors\fP=\fI{true,false}\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
The default behavior of bugpoint is to print "<crash>" when it finds a reduced
|
||||
The default behavior of bugpoint is to print \(dq<crash>\(dq when it finds a reduced
|
||||
test that crashes compilation. This flag prints the output of the crashing
|
||||
program to stderr. This is useful to make sure it is the same error being
|
||||
tracked down and not a different error that happens to crash the compiler as
|
||||
@ -304,6 +303,6 @@ if an error occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "CLANG" "1" "2021-06-07" "12" "Clang"
|
||||
.TH "CLANG" "1" "2023-05-24" "16" "Clang"
|
||||
.SH NAME
|
||||
clang \- the Clang C, C++, and Objective-C compiler
|
||||
.SH SYNOPSIS
|
||||
@ -53,8 +52,8 @@ transparently use it to run the other tools.
|
||||
.B Preprocessing
|
||||
This stage handles tokenization of the input source file, macro expansion,
|
||||
#include expansion and handling of other preprocessor directives. The
|
||||
output of this stage is typically called a ".i" (for C), ".ii" (for C++),
|
||||
".mi" (for Objective\-C), or ".mii" (for Objective\-C++) file.
|
||||
output of this stage is typically called a \(dq.i\(dq (for C), \(dq.ii\(dq (for C++),
|
||||
\(dq.mi\(dq (for Objective\-C), or \(dq.mii\(dq (for Objective\-C++) file.
|
||||
.TP
|
||||
.B Parsing and Semantic Analysis
|
||||
This stage parses the input file, translating preprocessor tokens into a
|
||||
@ -62,27 +61,27 @@ parse tree. Once in the form of a parse tree, it applies semantic
|
||||
analysis to compute types for expressions as well and determine whether
|
||||
the code is well formed. This stage is responsible for generating most of
|
||||
the compiler warnings as well as parse errors. The output of this stage is
|
||||
an "Abstract Syntax Tree" (AST).
|
||||
an \(dqAbstract Syntax Tree\(dq (AST).
|
||||
.TP
|
||||
.B Code Generation and Optimization
|
||||
This stage translates an AST into low\-level intermediate code (known as
|
||||
"LLVM IR") and ultimately to machine code. This phase is responsible for
|
||||
\(dqLLVM IR\(dq) and ultimately to machine code. This phase is responsible for
|
||||
optimizing the generated code and handling target\-specific code generation.
|
||||
The output of this stage is typically called a ".s" file or "assembly" file.
|
||||
The output of this stage is typically called a \(dq.s\(dq file or \(dqassembly\(dq file.
|
||||
.sp
|
||||
Clang also supports the use of an integrated assembler, in which the code
|
||||
generator produces object files directly. This avoids the overhead of
|
||||
generating the ".s" file and of calling the target assembler.
|
||||
generating the \(dq.s\(dq file and of calling the target assembler.
|
||||
.TP
|
||||
.B Assembler
|
||||
This stage runs the target assembler to translate the output of the
|
||||
compiler into a target object file. The output of this stage is typically
|
||||
called a ".o" file or "object" file.
|
||||
called a \(dq.o\(dq file or \(dqobject\(dq file.
|
||||
.TP
|
||||
.B Linker
|
||||
This stage runs the target linker to merge multiple object files into an
|
||||
executable or dynamic library. The output of this stage is typically called
|
||||
an "a.out", ".dylib" or ".so" file.
|
||||
an \(dqa.out\(dq, \(dq.dylib\(dq or \(dq.so\(dq file.
|
||||
.UNINDENT
|
||||
.sp
|
||||
\fBClang Static Analyzer\fP
|
||||
@ -101,7 +100,7 @@ Run the preprocessor stage.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fsyntax\-only
|
||||
Run the preprocessor, parser and type checking stages.
|
||||
Run the preprocessor, parser and semantic analysis stages.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -112,7 +111,7 @@ and target\-specific code generation, producing an assembly file.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-c
|
||||
Run all of the above, plus the assembler, generating a target ".o" object file.
|
||||
Run all of the above, plus the assembler, generating a target \(dq.o\(dq object file.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -305,27 +304,45 @@ ISO C++ 2017 with amendments and GNU extensions
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.nf
|
||||
\fBc++2a\fP
|
||||
\fBc++20\fP
|
||||
.fi
|
||||
.sp
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Working draft for ISO C++ 2020
|
||||
ISO C++ 2020 with amendments
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.nf
|
||||
\fBgnu++2a\fP
|
||||
\fBgnu++20\fP
|
||||
.fi
|
||||
.sp
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Working draft for ISO C++ 2020 with GNU extensions
|
||||
ISO C++ 2020 with amendments and GNU extensions
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.nf
|
||||
\fBc++2b\fP
|
||||
.fi
|
||||
.sp
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Working draft for ISO C++ 2023
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.nf
|
||||
\fBgnu++2b\fP
|
||||
.fi
|
||||
.sp
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Working draft for ISO C++ 2023 with GNU extensions
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The default C++ language standard is \fBgnu++14\fP\&.
|
||||
The default C++ language standard is \fBgnu++17\fP\&.
|
||||
.sp
|
||||
Supported values for the OpenCL language are:
|
||||
.INDENT 7.0
|
||||
@ -424,8 +441,26 @@ implementations, as these are needed for efficient codegen for many programs.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fno\-builtin
|
||||
Disable special handling and optimizations of builtin functions like
|
||||
\fBstrlen()\fP and \fBmalloc()\fP\&.
|
||||
Disable special handling and optimizations of well\-known library functions,
|
||||
like \fBstrlen()\fP and \fBmalloc()\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fno\-builtin\-<function>
|
||||
Disable special handling and optimizations for the specific library function.
|
||||
For example, \fB\-fno\-builtin\-strlen\fP removes any special handling for the
|
||||
\fBstrlen()\fP library function.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fno\-builtin\-std\-<function>
|
||||
Disable special handling and optimizations for the specific C++ standard
|
||||
library function in namespace \fBstd\fP\&. For example,
|
||||
\fB\-fno\-builtin\-std\-move_if_noexcept\fP removes any special handling for the
|
||||
\fBstd::move_if_noexcept()\fP library function.
|
||||
.sp
|
||||
For C standard library functions that the C++ standard library also provides
|
||||
in namespace \fBstd\fP, use \fI\%\-fno\-builtin\-<function>\fP instead.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -435,7 +470,7 @@ Indicate that math functions should be treated as updating \fBerrno\fP\&.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fpascal\-strings
|
||||
Enable support for Pascal\-style strings with "\epfoo".
|
||||
Enable support for Pascal\-style strings with \(dq\epfoo\(dq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -479,13 +514,13 @@ overall bit\-width
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fblocks
|
||||
Enable the "Blocks" language feature.
|
||||
Enable the \(dqBlocks\(dq language feature.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-fobjc\-abi\-version=version
|
||||
Select the Objective\-C ABI version to use. Available versions are 1 (legacy
|
||||
"fragile" ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2).
|
||||
\(dqfragile\(dq ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -509,7 +544,12 @@ number of cross compilers, or may only support a native target.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-arch <architecture>
|
||||
Specify the architecture to build for.
|
||||
Specify the architecture to build for (Mac OS X specific).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-target <architecture>
|
||||
Specify the architecture to build for (all platforms).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -550,7 +590,7 @@ but which may not exist on earlier ones.
|
||||
Specify which optimization level to use:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fI\%\-O0\fP Means "no optimization": this level compiles the fastest and
|
||||
\fI\%\-O0\fP Means \(dqno optimization\(dq: this level compiles the fastest and
|
||||
generates the most debuggable code.
|
||||
.sp
|
||||
\fI\%\-O1\fP Somewhere between \fI\%\-O0\fP and \fI\%\-O2\fP\&.
|
||||
@ -594,9 +634,9 @@ best at \fI\%\-O0\fP\&. When more than one option starting with \fI\-g\fP is
|
||||
specified, the last one wins:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
\fB\-g\fP Generate debug information.
|
||||
\fI\%\-g\fP Generate debug information.
|
||||
.sp
|
||||
\fB\-gline\-tables\-only\fP Generate only line table debug information. This
|
||||
\fI\%\-gline\-tables\-only\fP Generate only line table debug information. This
|
||||
allows for symbolicated backtraces with inlining information, but does not
|
||||
include any information about variables, their locations or types.
|
||||
.sp
|
||||
@ -627,7 +667,7 @@ needed by a module and could be replaced with a forward declaration.
|
||||
Further, Clang will only emit type info for a dynamic C++ class in the
|
||||
module that contains the vtable for the class.
|
||||
.sp
|
||||
The \fB\-fstandalone\-debug\fP option turns off these optimizations.
|
||||
The \fI\%\-fstandalone\-debug\fP option turns off these optimizations.
|
||||
This is useful when working with 3rd\-party libraries that don\(aqt come with
|
||||
debug information. This is the default on Darwin. Note that Clang will
|
||||
never emit type information for types that are not referenced at all by the
|
||||
@ -668,8 +708,8 @@ It can be disabled with \fI\%\-fno\-common\fP\&.
|
||||
.TP
|
||||
.B \-ftls\-model=<model>
|
||||
Set the default thread\-local storage (TLS) model to use for thread\-local
|
||||
variables. Valid values are: "global\-dynamic", "local\-dynamic",
|
||||
"initial\-exec" and "local\-exec". The default is "global\-dynamic". The default
|
||||
variables. Valid values are: \(dqglobal\-dynamic\(dq, \(dqlocal\-dynamic\(dq,
|
||||
\(dqinitial\-exec\(dq and \(dqlocal\-exec\(dq. The default is \(dqglobal\-dynamic\(dq. The default
|
||||
model can be overridden with the tls_model attribute. The compiler will try
|
||||
to choose a more efficient model if possible.
|
||||
.UNINDENT
|
||||
@ -681,16 +721,16 @@ When used with \fI\%\-S\fP this generates LLVM intermediate language
|
||||
assembly files, otherwise this generates LLVM bitcode format object files
|
||||
(which may be passed to the linker depending on the stage selection options).
|
||||
.sp
|
||||
The default for \fI\%\-flto\fP is "full", in which the
|
||||
The default for \fI\%\-flto\fP is \(dqfull\(dq, in which the
|
||||
LLVM bitcode is suitable for monolithic Link Time Optimization (LTO), where
|
||||
the linker merges all such modules into a single combined module for
|
||||
optimization. With "thin", ThinLTO
|
||||
optimization. With \(dqthin\(dq, \fI\%ThinLTO\fP
|
||||
compilation is invoked instead.
|
||||
.sp
|
||||
\fBNOTE:\fP
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
On Darwin, when using \fI\%\-flto\fP along with \fB\-g\fP and
|
||||
On Darwin, when using \fI\%\-flto\fP along with \fI\%\-g\fP and
|
||||
compiling and linking in separate steps, you also need to pass
|
||||
\fB\-Wl,\-object_path_lto,<lto\-filename>.o\fP at the linking step to instruct the
|
||||
ld64 linker not to delete the temporary object file generated during Link
|
||||
@ -765,7 +805,7 @@ Print the full library path of file.
|
||||
.TP
|
||||
.B \-print\-libgcc\-file\-name
|
||||
Print the library path for the currently used compiler runtime library
|
||||
("libgcc.a" or "libclang_rt.builtins.*.a").
|
||||
(\(dqlibgcc.a\(dq or \(dqlibclang_rt.builtins.*.a\(dq).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -786,8 +826,8 @@ Save intermediate compilation results.
|
||||
.TP
|
||||
.B \-save\-stats, \-save\-stats=cwd, \-save\-stats=obj
|
||||
Save internal code generation (LLVM) statistics to a file in the current
|
||||
directory (\fI\%\-save\-stats\fP/"\-save\-stats=cwd") or the directory
|
||||
of the output file ("\-save\-state=obj").
|
||||
directory (\fI\%\-save\-stats\fP/\(dq\-save\-stats=cwd\(dq) or the directory
|
||||
of the output file (\(dq\-save\-state=obj\(dq).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -895,15 +935,15 @@ Darwin targets.
|
||||
.UNINDENT
|
||||
.SH BUGS
|
||||
.sp
|
||||
To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>. Most bug reports should
|
||||
To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/issues/\fP>. Most bug reports should
|
||||
include preprocessed source files (use the \fI\%\-E\fP option) and the full
|
||||
output of the compiler, along with information to reproduce.
|
||||
.SH SEE ALSO
|
||||
.sp
|
||||
\fBld(1)\fP
|
||||
\fBas(1)\fP, \fBld(1)\fP
|
||||
.SH AUTHOR
|
||||
Maintained by the Clang / LLVM Team (<http://clang.llvm.org>)
|
||||
.SH COPYRIGHT
|
||||
2007-2021, The Clang Team
|
||||
2007-2023, The Clang Team
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLC" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLC" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llc \- LLVM static compiler
|
||||
.SH SYNOPSIS
|
||||
@ -45,15 +44,15 @@ determined from the input file, unless the \fI\%\-march\fP option is used to
|
||||
override the default.
|
||||
.SH OPTIONS
|
||||
.sp
|
||||
If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP reads from standard input.
|
||||
Otherwise, it will from \fBfilename\fP\&. Inputs can be in either the LLVM assembly
|
||||
language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP).
|
||||
If \fBfilename\fP is \(dq\fB\-\fP\(dq or omitted, \fBllc\fP reads from standard input.
|
||||
Otherwise, it will read from \fBfilename\fP\&. Inputs can be in either the LLVM
|
||||
assembly language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP).
|
||||
.sp
|
||||
If the \fI\%\-o\fP option is omitted, then \fBllc\fP will send its output
|
||||
to standard output if the input is from standard input. If the \fI\%\-o\fP
|
||||
option specifies "\fB\-\fP", then the output will also be sent to standard output.
|
||||
option specifies \(dq\fB\-\fP\(dq, then the output will also be sent to standard output.
|
||||
.sp
|
||||
If no \fI\%\-o\fP option is specified and an input file other than "\fB\-\fP" is
|
||||
If no \fI\%\-o\fP option is specified and an input file other than \(dq\fB\-\fP\(dq is
|
||||
specified, then \fBllc\fP creates the output filename by taking the input
|
||||
filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix.
|
||||
.sp
|
||||
@ -291,6 +290,6 @@ occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLI" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLI" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
lli \- directly execute programs from LLVM bitcode
|
||||
.SH SYNOPSIS
|
||||
@ -228,7 +227,8 @@ Register allocator to use (default=linearscan)
|
||||
.nf
|
||||
.ft C
|
||||
=bigblock: Big\-block register allocator
|
||||
=linearscan: linear scan register allocator =local \- local register allocator
|
||||
=linearscan: linear scan register allocator
|
||||
=local: local register allocator
|
||||
=simple: simple register allocator
|
||||
.ft P
|
||||
.fi
|
||||
@ -245,7 +245,8 @@ Choose relocation model from:
|
||||
.nf
|
||||
.ft C
|
||||
=default: Target default relocation model
|
||||
=static: Non\-relocatable code =pic \- Fully relocatable, position independent code
|
||||
=static: Non\-relocatable code
|
||||
=pic: Fully relocatable, position independent code
|
||||
=dynamic\-no\-pic: Relocatable external references, non\-relocatable code
|
||||
.ft P
|
||||
.fi
|
||||
@ -294,6 +295,6 @@ Otherwise, it will return the exit code of the program it executes.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-AR" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-AR" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-ar \- LLVM archiver
|
||||
.SH SYNOPSIS
|
||||
@ -43,9 +42,9 @@ the archive can contain any kind of file. By default, \fBllvm\-ar\fP
|
||||
generates a symbol table that makes linking faster because only the symbol
|
||||
table needs to be consulted, not each individual file member of the archive.
|
||||
.sp
|
||||
The \fBllvm\-ar\fP command can be used to \fIread\fP archive files in SVR4,
|
||||
GNU, BSD and Darwin format, and \fIwrite\fP in the GNU, BSD, and Darwin style
|
||||
archive files. If an SVR4 format archive is used with the \fI\%r\fP
|
||||
The \fBllvm\-ar\fP command can be used to \fIread\fP archive files in SVR4, GNU,
|
||||
BSD , Big Archive, and Darwin format, and \fIwrite\fP in the GNU, BSD, Big Archive, and
|
||||
Darwin style archive files. If an SVR4 format archive is used with the \fI\%r\fP
|
||||
(replace), \fI\%d\fP (delete), \fI\%m\fP (move) or \fI\%q\fP
|
||||
(quick update) operations, the archive will be reconstructed in the format
|
||||
defined by \fI\%\-\-format\fP\&.
|
||||
@ -104,7 +103,7 @@ found in other \fBar\fP implementations. The options for
|
||||
\fBllvm\-ar\fP specify a single basic Operation to perform on the archive,
|
||||
a variety of Modifiers for that Operation, the name of the archive file, and an
|
||||
optional list of file names. If the \fIfiles\fP option is not specified, it
|
||||
generally means either "none" or "all" members, depending on the operation. The
|
||||
generally means either \(dqnone\(dq or \(dqall\(dq members, depending on the operation. The
|
||||
Options, Operations and Modifiers are explained in the sections below.
|
||||
.sp
|
||||
The minimal set of options is at least one operator and the name of the
|
||||
@ -235,7 +234,7 @@ is a feature for \fBllvm\-ar\fP that is not found in gnu\-ar.
|
||||
.B N
|
||||
When extracting or deleting a member that shares its name with another member,
|
||||
the \fIcount\fP parameter allows you to supply a positive whole number that
|
||||
selects the instance of the given name, with "1" indicating the first
|
||||
selects the instance of the given name, with \(dq1\(dq indicating the first
|
||||
instance. If \fI\%N\fP is not specified the first member of that name will
|
||||
be selected. If \fIcount\fP is not supplied, the operation fails.*count* cannot be
|
||||
.UNINDENT
|
||||
@ -254,10 +253,8 @@ Display member offsets inside the archive.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B T
|
||||
When creating or modifying an archive, this option specifies that the
|
||||
\fBarchive\fP will be thin. By default, archives are not created as thin
|
||||
archives and when modifying a thin archive, it will be converted to a regular
|
||||
archive.
|
||||
Alias for \fB\-\-thin\fP\&. In many ar implementations \fBT\fP has a different
|
||||
meaning, as specified by X/Open System interface.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -338,11 +335,63 @@ stream. No other options are compatible with this option.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-output=<dir>
|
||||
Specify a directory where archive members should be extracted to. By default the
|
||||
current working directory is used.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-rsp\-quoting=<type>
|
||||
.TP
|
||||
.B This option selects the quoting style \(ga\(ga<type>\(ga\(ga for response files, either
|
||||
.TP
|
||||
.B \(ga\(gaposix\(ga\(ga or \(ga\(gawindows\(ga\(ga. The default when on Windows is \(ga\(gawindows\(ga\(ga, otherwise the
|
||||
.TP
|
||||
.B default is \(ga\(gaposix\(ga\(ga.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-thin
|
||||
When creating or modifying an archive, this option specifies that the
|
||||
\fBarchive\fP will be thin. By default, archives are not created as thin archives
|
||||
and when modifying a thin archive, it will be converted to a regular archive.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-version
|
||||
Display the version of the \fBllvm\-ar\fP executable.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-X mode
|
||||
Specifies the type of object file \fBllvm\-ar\fP will recognise. The mode must be
|
||||
one of the following:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B 32
|
||||
Process only 32\-bit object files.
|
||||
.TP
|
||||
.B 64
|
||||
Process only 64\-bit object files.
|
||||
.TP
|
||||
.B 32_64
|
||||
Process both 32\-bit and 64\-bit object files.
|
||||
.TP
|
||||
.B any
|
||||
Process all object files.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The default is to process 32\-bit object files (ignore 64\-bit objects). The mode can also
|
||||
be set with the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes ar to
|
||||
process any 64\-bit objects and ignore 32\-bit objects. The \-X flag overrides the OBJECT_MODE
|
||||
variable.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B @<FILE>
|
||||
Read command\-line options and commands from response file \fB<FILE>\fP\&.
|
||||
.UNINDENT
|
||||
@ -415,6 +464,6 @@ will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,16 +27,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-RANLIB" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-RANLIB" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-ranlib \- generates an archive index
|
||||
.SH SYNOPSIS
|
||||
.sp
|
||||
\fBllvm\-ranlib\fP [\fIoptions\fP]
|
||||
\fBllvm\-ranlib\fP [\fIoptions\fP] \fIarchive...\fP
|
||||
.SH DESCRIPTION
|
||||
.sp
|
||||
\fBllvm\-ranlib\fP is an alias for the llvm\-ar tool that
|
||||
generates an index for an archive. It can be used as a replacement for GNU\(aqs
|
||||
\fBllvm\-ranlib\fP is an alias for the \fI\%llvm\-ar\fP tool that
|
||||
generates an index for one or more archives. It can be used as a replacement for GNU\(aqs
|
||||
\fBranlib\fP tool.
|
||||
.sp
|
||||
Running \fBllvm\-ranlib\fP is equivalent to running \fBllvm\-ar s\fP\&.
|
||||
@ -47,6 +46,6 @@ Running \fBllvm\-ranlib\fP is equivalent to running \fBllvm\-ar s\fP\&.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-AS" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-AS" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-as \- LLVM assembler
|
||||
.SH SYNOPSIS
|
||||
@ -82,6 +81,6 @@ will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-BCANALYZER" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-BCANALYZER" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-bcanalyzer \- LLVM bitcode analyzer
|
||||
.SH SYNOPSIS
|
||||
@ -50,28 +49,14 @@ pipeline. Output is written to the standard output.
|
||||
.SH OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-nodetails
|
||||
Causes \fBllvm\-bcanalyzer\fP to abbreviate its output by writing out only
|
||||
a module level summary. The details for individual functions are not
|
||||
displayed.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-dump
|
||||
.B \-\-dump
|
||||
Causes \fBllvm\-bcanalyzer\fP to dump the bitcode in a human readable
|
||||
format. This format is significantly different from LLVM assembly and
|
||||
provides details about the encoding of the bitcode file.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-verify
|
||||
Causes \fBllvm\-bcanalyzer\fP to verify the module produced by reading the
|
||||
bitcode. This ensures that the statistics generated are based on a consistent
|
||||
module.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
.B \-\-help
|
||||
Print a summary of command line options.
|
||||
.UNINDENT
|
||||
.SH EXIT STATUS
|
||||
@ -467,10 +452,10 @@ Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes.
|
||||
.UNINDENT
|
||||
.SH SEE ALSO
|
||||
.sp
|
||||
\fBllvm\-dis(1)\fP, /BitCodeFormat
|
||||
\fBllvm\-dis(1)\fP, \fI\%LLVM Bitcode File Format\fP
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-COV" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-COV" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-cov \- emit coverage information
|
||||
.SH SYNOPSIS
|
||||
@ -70,9 +69,7 @@ To use \fBllvm\-cov gcov\fP, you must first build an instrumented version
|
||||
of your application that collects coverage data as it runs. Compile with the
|
||||
\fB\-fprofile\-arcs\fP and \fB\-ftest\-coverage\fP options to add the
|
||||
instrumentation. (Alternatively, you can use the \fB\-\-coverage\fP option, which
|
||||
includes both of those other options.) You should compile with debugging
|
||||
information (\fB\-g\fP) and without optimization (\fB\-O0\fP); otherwise, the
|
||||
coverage data cannot be accurately mapped back to the source code.
|
||||
includes both of those other options.)
|
||||
.sp
|
||||
At the time you compile the instrumented code, a \fB\&.gcno\fP data file will be
|
||||
generated for each object file. These \fB\&.gcno\fP files contain half of the
|
||||
@ -125,6 +122,11 @@ Display branch counts instead of probabilities (requires \-b).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-m, \-\-demangled\-names
|
||||
Demangle function names.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-f, \-\-function\-summaries
|
||||
Show a summary of coverage for each function instead of just one summary for
|
||||
an entire source file.
|
||||
@ -150,7 +152,7 @@ displayed.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-o=<DIR|FILE>, \-\-object\-directory=<DIR>, \-\-object\-file=<FILE>
|
||||
.B \-o <DIR|FILE>, \-\-object\-directory=<DIR>, \-\-object\-file=<FILE>
|
||||
Find objects in DIR or based on FILE\(aqs path. If you specify a particular
|
||||
object file, the coverage data files are expected to have the same base name
|
||||
with \fB\&.gcno\fP and \fB\&.gcda\fP extensions. If you specify a directory, the
|
||||
@ -169,6 +171,22 @@ included file name.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-r
|
||||
Only dump files with relative paths or absolute paths with the prefix specified
|
||||
by \fB\-s\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-s <string>
|
||||
Source prefix to elide.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-t, \-\-stdout
|
||||
Print to stdout instead of producing \fB\&.gcov\fP files.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-u, \-\-unconditional\-branches
|
||||
Include unconditional branches in the output for the \-\-branch\-probabilities
|
||||
option.
|
||||
@ -191,12 +209,12 @@ it exits with zero.
|
||||
.SH SHOW COMMAND
|
||||
.SS SYNOPSIS
|
||||
.sp
|
||||
\fBllvm\-cov show\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] [\fISOURCES\fP]
|
||||
\fBllvm\-cov show\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP [\fIBIN\fP] [\fI\-object BIN\fP]... [\fI\-sources\fP] [\fISOURCE\fP]...
|
||||
.SS DESCRIPTION
|
||||
.sp
|
||||
The \fBllvm\-cov show\fP command shows line by line coverage of the
|
||||
binaries \fIBIN\fP,... using the profile data \fIPROFILE\fP\&. It can optionally be
|
||||
filtered to only show the coverage for the files listed in \fISOURCES\fP\&.
|
||||
binaries \fIBIN\fP\&... using the profile data \fIPROFILE\fP\&. It can optionally be
|
||||
filtered to only show the coverage for the files listed in \fISOURCE\fP\&....
|
||||
.sp
|
||||
\fIBIN\fP may be an executable, object file, dynamic library, or archive (thin or
|
||||
otherwise).
|
||||
@ -219,7 +237,7 @@ tool.
|
||||
.TP
|
||||
.B \-show\-branches=<VIEW>
|
||||
Show coverage for branch conditions in terms of either count or percentage.
|
||||
The supported views are: "count", "percent".
|
||||
The supported views are: \(dqcount\(dq, \(dqpercent\(dq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -274,9 +292,9 @@ Show code coverage only for functions with the given name.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-name\-whitelist=<FILE>
|
||||
.B \-name\-allowlist=<FILE>
|
||||
Show code coverage only for functions listed in the given file. Each line in
|
||||
the file should start with \fIwhitelist_fun:\fP, immediately followed by the name
|
||||
the file should start with \fIallowlist_fun:\fP, immediately followed by the name
|
||||
of the function to accept. This name can be a wildcard expression.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -292,7 +310,7 @@ Skip source code files with file paths that match the given regular expression.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-format=<FORMAT>
|
||||
Use the specified output format. The supported formats are: "text", "html".
|
||||
Use the specified output format. The supported formats are: \(dqtext\(dq, \(dqhtml\(dq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -327,6 +345,13 @@ use. This is the default.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-compilation\-dir=<dir>
|
||||
Directory used as a base for relative coverage mapping paths. Only applicable
|
||||
when binaries have been compiled with one of \fI\-fcoverage\-prefix\-map\fP
|
||||
\fI\-fcoverage\-compilation\-dir\fP, or \fI\-ffile\-compilation\-dir\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-line\-coverage\-gt=<N>
|
||||
Show code coverage only for functions with line coverage greater than the
|
||||
given threshold.
|
||||
@ -356,15 +381,38 @@ Map the paths in the coverage data to local source file paths. This allows you
|
||||
to generate the coverage data on one machine, and then use llvm\-cov on a
|
||||
different machine where you have the same files on a different path.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-coverage\-watermark=<high>,<low>
|
||||
Set high and low watermarks for coverage in html format output. This allows you
|
||||
to set the high and low watermark of coverage as desired, green when
|
||||
coverage >= high, red when coverage < low, and yellow otherwise. Both high and
|
||||
low should be between 0\-100 and high > low.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debuginfod
|
||||
.UNINDENT
|
||||
.sp
|
||||
Use debuginfod to look up coverage mapping for binary IDs present in the profile
|
||||
but not in any object given on the command line. Defaults to true if debuginfod
|
||||
is compiled in and configured via the DEBUGINFOD_URLS environment variable.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debug\-file\-directory=<dir>
|
||||
.UNINDENT
|
||||
.sp
|
||||
Provides local directories to search for objects corresponding to binary IDs in
|
||||
the profile (as with debuginfod). Defaults to system build ID directories.
|
||||
.SH REPORT COMMAND
|
||||
.SS SYNOPSIS
|
||||
.sp
|
||||
\fBllvm\-cov report\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] [\fISOURCES\fP]
|
||||
\fBllvm\-cov report\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP [\fIBIN\fP] [\fI\-object BIN\fP]... [\fI\-sources\fP] [\fISOURCE\fP]...
|
||||
.SS DESCRIPTION
|
||||
.sp
|
||||
The \fBllvm\-cov report\fP command displays a summary of the coverage of
|
||||
the binaries \fIBIN\fP,... using the profile data \fIPROFILE\fP\&. It can optionally be
|
||||
filtered to only show the coverage for the files listed in \fISOURCES\fP\&.
|
||||
the binaries \fIBIN\fP\&... using the profile data \fIPROFILE\fP\&. It can optionally be
|
||||
filtered to only show the coverage for the files listed in \fISOURCE\fP\&....
|
||||
.sp
|
||||
\fIBIN\fP may be an executable, object file, dynamic library, or archive (thin or
|
||||
otherwise).
|
||||
@ -391,6 +439,11 @@ non\-universal binary.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-show\-region\-summary
|
||||
Show statistics for all regions. Defaults to true.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-show\-branch\-summary
|
||||
Show statistics for all branch conditions. Defaults to true.
|
||||
.UNINDENT
|
||||
@ -409,14 +462,37 @@ Show statistics for all function instantiations. Defaults to false.
|
||||
.B \-ignore\-filename\-regex=<PATTERN>
|
||||
Skip source code files with file paths that match the given regular expression.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-compilation\-dir=<dir>
|
||||
Directory used as a base for relative coverage mapping paths. Only applicable
|
||||
when binaries have been compiled with one of \fI\-fcoverage\-prefix\-map\fP
|
||||
\fI\-fcoverage\-compilation\-dir\fP, or \fI\-ffile\-compilation\-dir\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debuginfod
|
||||
.UNINDENT
|
||||
.sp
|
||||
Attempt to look up coverage mapping from objects using debuginfod. This is
|
||||
attempted by default for binary IDs present in the profile but not provided on
|
||||
the command line, so long as debuginfod is compiled in and configured via
|
||||
DEBUGINFOD_URLS.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debug\-file\-directory=<dir>
|
||||
.UNINDENT
|
||||
.sp
|
||||
Provides a directory to search for objects corresponding to binary IDs in the
|
||||
profile.
|
||||
.SH EXPORT COMMAND
|
||||
.SS SYNOPSIS
|
||||
.sp
|
||||
\fBllvm\-cov export\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP \fIBIN\fP [\fI\-object BIN,...\fP] [[\fI\-object BIN\fP]] [\fISOURCES\fP]
|
||||
\fBllvm\-cov export\fP [\fIoptions\fP] \-instr\-profile \fIPROFILE\fP [\fIBIN\fP] [\fI\-object BIN\fP]... [\fI\-sources\fP] [\fISOURCE\fP]...
|
||||
.SS DESCRIPTION
|
||||
.sp
|
||||
The \fBllvm\-cov export\fP command exports coverage data of the binaries
|
||||
\fIBIN\fP,... using the profile data \fIPROFILE\fP in either JSON or lcov trace file
|
||||
\fIBIN\fP\&... using the profile data \fIPROFILE\fP in either JSON or lcov trace file
|
||||
format.
|
||||
.sp
|
||||
When exporting JSON, the regions, functions, branches, expansions, and
|
||||
@ -424,7 +500,7 @@ summaries of the coverage data will be exported. When exporting an lcov trace
|
||||
file, the line\-based coverage, branch coverage, and summaries will be exported.
|
||||
.sp
|
||||
The exported data can optionally be filtered to only export the coverage
|
||||
for the files listed in \fISOURCES\fP\&.
|
||||
for the files listed in \fISOURCE\fP\&....
|
||||
.sp
|
||||
For information on compiling programs for coverage and generating profile data,
|
||||
see \fI\%SHOW COMMAND\fP\&.
|
||||
@ -440,8 +516,8 @@ non\-universal binary.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-format=<FORMAT>
|
||||
Use the specified output format. The supported formats are: "text" (JSON),
|
||||
"lcov".
|
||||
Use the specified output format. The supported formats are: \(dqtext\(dq (JSON),
|
||||
\(dqlcov\(dq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -476,9 +552,32 @@ Skip exporting per\-function coverage data.
|
||||
Use N threads to export coverage data. When N=0, llvm\-cov auto\-detects an
|
||||
appropriate number of threads to use. This is the default.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-compilation\-dir=<dir>
|
||||
Directory used as a base for relative coverage mapping paths. Only applicable
|
||||
when binaries have been compiled with one of \fI\-fcoverage\-prefix\-map\fP
|
||||
\fI\-fcoverage\-compilation\-dir\fP, or \fI\-ffile\-compilation\-dir\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debuginfod
|
||||
.UNINDENT
|
||||
.sp
|
||||
Attempt to look up coverage mapping from objects using debuginfod. This is
|
||||
attempted by default for binary IDs present in the profile but not provided on
|
||||
the command line, so long as debuginfod is compiled in and configured via
|
||||
DEBUGINFOD_URLS.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debug\-file\-directory=<dir>
|
||||
.UNINDENT
|
||||
.sp
|
||||
Provides a directory to search for objects corresponding to binary IDs in the
|
||||
profile.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-CXXFILT" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-CXXFILT" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-cxxfilt \- LLVM symbol name demangler
|
||||
.SH SYNOPSIS
|
||||
@ -78,11 +77,6 @@ Print a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Print an uncategorized summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-no\-strip\-underscore, \-n
|
||||
Do not strip a leading underscore. This is the default for all platforms
|
||||
except Mach\-O based hosts.
|
||||
@ -118,6 +112,6 @@ case a non\-zero exit code is returned.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-DIFF" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-DIFF" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-diff \- LLVM structural 'diff'
|
||||
.SH SYNOPSIS
|
||||
@ -72,6 +71,6 @@ massive detected differences in blocks.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-DIS" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-DIS" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-dis \- LLVM disassembler
|
||||
.SH SYNOPSIS
|
||||
@ -83,6 +82,6 @@ occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-DWARFDUMP" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-DWARFDUMP" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-dwarfdump \- dump and verify DWARF debug information
|
||||
.SH SYNOPSIS
|
||||
@ -150,6 +149,12 @@ Show the sizes of all debug sections, expressed in bytes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-show\-sources
|
||||
Print all source files mentioned in the debug information. Absolute
|
||||
paths are given whenever possible.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-statistics
|
||||
Collect debug info quality metrics and print the results
|
||||
as machine\-readable single\-line JSON output. The output
|
||||
@ -198,7 +203,7 @@ Display the version of the tool.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-abbrev, \-\-debug\-addr, \-\-debug\-aranges, \-\-debug\-cu\-index, \-\-debug\-frame[=<offset>], \-\-debug\-gnu\-pubnames, \-\-debug\-gnu\-pubtypes, \-\-debug\-info [=<offset>], \-\-debug\-line [=<offset>], \-\-debug\-line\-str, \-\-debug\-loc [=<offset>], \-\-debug\-loclists [=<offset>], \-\-debug\-macro, \-\-debug\-names, \-\-debug\-pubnames, \-\-debug\-pubtypes, \-\-debug\-ranges, \-\-debug\-rnglists, \-\-debug\-str, \-\-debug\-str\-offsets, \-\-debug\-tu\-index, \-\-debug\-types [=<offset>], \-\-eh\-frame [=<offset>], \-\-gdb\-index, \-\-apple\-names, \-\-apple\-types, \-\-apple\-namespaces, \-\-apple\-objc
|
||||
.B \-\-debug\-abbrev, \-\-debug\-addr, \-\-debug\-aranges, \-\-debug\-cu\-index, \-\-debug\-frame [=<offset>], \-\-debug\-gnu\-pubnames, \-\-debug\-gnu\-pubtypes, \-\-debug\-info [=<offset>], \-\-debug\-line [=<offset>], \-\-debug\-line\-str, \-\-debug\-loc [=<offset>], \-\-debug\-loclists [=<offset>], \-\-debug\-macro, \-\-debug\-names, \-\-debug\-pubnames, \-\-debug\-pubtypes, \-\-debug\-ranges, \-\-debug\-rnglists, \-\-debug\-str, \-\-debug\-str\-offsets, \-\-debug\-tu\-index, \-\-debug\-types [=<offset>], \-\-eh\-frame [=<offset>], \-\-gdb\-index, \-\-apple\-names, \-\-apple\-types, \-\-apple\-namespaces, \-\-apple\-objc
|
||||
Dump the specified DWARF section by name. Only the
|
||||
\fI\&.debug_info\fP section is shown by default. Some entries
|
||||
support adding an \fI=<offset>\fP as a way to provide an
|
||||
@ -206,6 +211,10 @@ optional offset of the exact entry to dump within the
|
||||
respective section. When an offset is provided, only the
|
||||
entry at that offset will be dumped, else the entire
|
||||
section will be dumped.
|
||||
.sp
|
||||
The \fI\%\-\-debug\-macro\fP option prints both the .debug_macro and the .debug_macinfo sections.
|
||||
.sp
|
||||
The \fI\%\-\-debug\-frame\fP and \fI\%\-\-eh\-frame\fP options are aliases, in cases where both sections are present one command outputs both.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -214,7 +223,7 @@ Read command\-line options from \fI<FILE>\fP\&.
|
||||
.UNINDENT
|
||||
.SH FORMAT OF STATISTICS OUTPUT
|
||||
.sp
|
||||
The :\fI\%\-\-statistics\fP option generates single\-line JSON output
|
||||
The \fI\%\-\-statistics\fP option generates single\-line JSON output
|
||||
representing quality metrics of the processed debug info. These metrics are
|
||||
useful to compare changes between two compilers, particularly for judging
|
||||
the effect that a change to the compiler has on the debug info quality.
|
||||
@ -258,6 +267,6 @@ successfully. Otherwise, it returns 1.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-DWARFUTIL" "1" "2022-07-24" "15" "LLVM"
|
||||
.TH "LLVM-DWARFUTIL" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-dwarfutil \- A tool to copy and manipulate debug info
|
||||
.SH SYNOPSIS
|
||||
@ -41,8 +41,8 @@ In basic usage, it makes a semantic copy of the input to the output. If any
|
||||
options are specified, the output may be modified along the way, e.g.
|
||||
by removing unused debug info.
|
||||
.sp
|
||||
If "\-" is specified for the input file, the input is read from the program\(aqs
|
||||
standard input stream. If "\-" is specified for the output file, the output
|
||||
If \(dq\-\(dq is specified for the input file, the input is read from the program\(aqs
|
||||
standard input stream. If \(dq\-\(dq is specified for the output file, the output
|
||||
is written to the standard output stream of the program.
|
||||
.sp
|
||||
The tool is still in active development.
|
||||
@ -61,7 +61,7 @@ That option is enabled by default.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-odr\-deduplication
|
||||
Remove duplicated types (if "One Definition Rule" is supported by source
|
||||
Remove duplicated types (if \(dqOne Definition Rule\(dq is supported by source
|
||||
language). Keeps first type definition and removes other definitions,
|
||||
potentially significantly reducing the size of output debug info.
|
||||
.sp
|
||||
@ -163,6 +163,6 @@ To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/labels/
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2022, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-EXTRACT" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-EXTRACT" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-extract \- extract a function from an LLVM module
|
||||
.SH SYNOPSIS
|
||||
@ -151,7 +150,7 @@ Print a summary of command line options.
|
||||
\fB\-o\fP \fIfilename\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Specify the output filename. If filename is "\-" (the default), then
|
||||
Specify the output filename. If filename is \(dq\-\(dq (the default), then
|
||||
\fBllvm\-extract\fP sends its output to standard output.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -172,6 +171,6 @@ occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-LINK" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-LINK" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-link \- LLVM bitcode linker
|
||||
.SH SYNOPSIS
|
||||
@ -51,7 +50,7 @@ device.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-o filename
|
||||
Specify the output file name. If \fBfilename\fP is "\fB\-\fP", then
|
||||
Specify the output file name. If \fBfilename\fP is \(dq\fB\-\fP\(dq, then
|
||||
\fBllvm\-link\fP will write its output to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -84,6 +83,6 @@ occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-MCA" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-MCA" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-mca \- LLVM Machine Code Analyzer
|
||||
.SH SYNOPSIS
|
||||
@ -41,8 +40,8 @@ available in LLVM (e.g. scheduling models) to statically measure the performance
|
||||
of machine code in a specific CPU.
|
||||
.sp
|
||||
Performance is measured in terms of throughput as well as processor resource
|
||||
consumption. The tool currently works for processors with an out\-of\-order
|
||||
backend, for which there is a scheduling model available in LLVM.
|
||||
consumption. The tool currently works for processors with a backend for which
|
||||
there is a scheduling model available in LLVM.
|
||||
.sp
|
||||
The main goal of this tool is not just to predict the performance of the code
|
||||
when run on the target, but also help with diagnosing potential performance
|
||||
@ -93,12 +92,12 @@ please \fI\%file a bug\fP
|
||||
against the appropriate backend.
|
||||
.SH OPTIONS
|
||||
.sp
|
||||
If \fBinput\fP is "\fB\-\fP" or omitted, \fBllvm\-mca\fP reads from standard
|
||||
If \fBinput\fP is \(dq\fB\-\fP\(dq or omitted, \fBllvm\-mca\fP reads from standard
|
||||
input. Otherwise, it will read from the specified filename.
|
||||
.sp
|
||||
If the \fI\%\-o\fP option is omitted, then \fBllvm\-mca\fP will send its output
|
||||
to standard output if the input is from standard input. If the \fI\%\-o\fP
|
||||
option specifies "\fB\-\fP", then the output will also be sent to standard output.
|
||||
option specifies \(dq\fB\-\fP\(dq, then the output will also be sent to standard output.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
@ -153,7 +152,7 @@ zero, then the default dispatch width is used.
|
||||
.B \-register\-file\-size=<size>
|
||||
Specify the size of the register file. When specified, this flag limits how
|
||||
many physical registers are available for register renaming purposes. A value
|
||||
of zero for this flag means "unlimited number of physical registers".
|
||||
of zero for this flag means \(dqunlimited number of physical registers\(dq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -197,8 +196,8 @@ timeline view prints information for up to 10 iterations.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-timeline\-max\-cycles=<cycles>
|
||||
Limit the number of cycles in the timeline view. By default, the number of
|
||||
cycles is set to 80.
|
||||
Limit the number of cycles in the timeline view, or use 0 for no limit. By
|
||||
default, the number of cycles is set to 80.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -240,6 +239,12 @@ Enable the printing of instruction encodings within the instruction info view.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-show\-barriers
|
||||
Enable the printing of LoadBarrier and StoreBarrier flags within the
|
||||
instruction info view.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-all\-stats
|
||||
Print all hardware statistics. This enables extra statistics related to the
|
||||
dispatch logic, the hardware schedulers, the register file(s), and the retire
|
||||
@ -263,15 +268,34 @@ instruction in sequence.
|
||||
.TP
|
||||
.B \-bottleneck\-analysis
|
||||
Print information about bottlenecks that affect the throughput. This analysis
|
||||
can be expensive, and it is disabled by default. Bottlenecks are highlighted
|
||||
in the summary view.
|
||||
can be expensive, and it is disabled by default. Bottlenecks are highlighted
|
||||
in the summary view. Bottleneck analysis is currently not supported for
|
||||
processors with an in\-order backend.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-json
|
||||
Print the requested views in JSON format. The instructions and the processor
|
||||
resources are printed as members of special top level JSON objects. The
|
||||
individual views refer to them by index.
|
||||
Print the requested views in valid JSON format. The instructions and the
|
||||
processor resources are printed as members of special top level JSON objects.
|
||||
The individual views refer to them by index. However, not all views are
|
||||
currently supported. For example, the report from the bottleneck analysis is
|
||||
not printed out in JSON. All the default views are currently supported.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-disable\-cb
|
||||
Force usage of the generic CustomBehaviour and InstrPostProcess classes rather
|
||||
than using the target specific implementation. The generic classes never
|
||||
detect any custom hazards or make any post processing modifications to
|
||||
instructions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-disable\-im
|
||||
Force usage of the generic InstrumentManager rather than using the target
|
||||
specific implementation. The generic class creates Instruments that provide
|
||||
no extra information, and InstrumentManager never overrides the default
|
||||
schedule class for a given instruction.
|
||||
.UNINDENT
|
||||
.SH EXIT STATUS
|
||||
.sp
|
||||
@ -281,9 +305,9 @@ to standard error, and the tool returns 1.
|
||||
.sp
|
||||
\fBllvm\-mca\fP allows for the optional usage of special code comments to
|
||||
mark regions of the assembly code to be analyzed. A comment starting with
|
||||
substring \fBLLVM\-MCA\-BEGIN\fP marks the beginning of a code region. A comment
|
||||
starting with substring \fBLLVM\-MCA\-END\fP marks the end of a code region. For
|
||||
example:
|
||||
substring \fBLLVM\-MCA\-BEGIN\fP marks the beginning of an analysis region. A
|
||||
comment starting with substring \fBLLVM\-MCA\-END\fP marks the end of a region.
|
||||
For example:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
@ -300,9 +324,9 @@ example:
|
||||
If no user\-defined region is specified, then \fBllvm\-mca\fP assumes a
|
||||
default region which contains every instruction in the input file. Every region
|
||||
is analyzed in isolation, and the final performance report is the union of all
|
||||
the reports generated for every code region.
|
||||
the reports generated for every analysis region.
|
||||
.sp
|
||||
Code regions can have names. For example:
|
||||
Analysis regions can have names. For example:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
@ -316,7 +340,7 @@ Code regions can have names. For example:
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The code from the example above defines a region named "A simple example" with a
|
||||
The code from the example above defines a region named \(dqA simple example\(dq with a
|
||||
single instruction in it. Note how the region name doesn\(aqt have to be repeated
|
||||
in the \fBLLVM\-MCA\-END\fP directive. In the absence of overlapping regions,
|
||||
an anonymous \fBLLVM\-MCA\-END\fP directive always ends the currently active user
|
||||
@ -368,9 +392,9 @@ C++. As a workaround, inline assembly directives may be used:
|
||||
.nf
|
||||
.ft C
|
||||
int foo(int a, int b) {
|
||||
__asm volatile("# LLVM\-MCA\-BEGIN foo");
|
||||
__asm volatile(\(dq# LLVM\-MCA\-BEGIN foo\(dq:::\(dqmemory\(dq);
|
||||
a += 42;
|
||||
__asm volatile("# LLVM\-MCA\-END");
|
||||
__asm volatile(\(dq# LLVM\-MCA\-END\(dq:::\(dqmemory\(dq);
|
||||
a *= b;
|
||||
return a;
|
||||
}
|
||||
@ -387,6 +411,125 @@ to emit markers, then the recommendation is to always verify that the output
|
||||
assembly is equivalent to the assembly generated in the absence of markers.
|
||||
The \fI\%Clang options to emit optimization reports\fP
|
||||
can also help in detecting missed optimizations.
|
||||
.SH INSTRUMENT REGIONS
|
||||
.sp
|
||||
An InstrumentRegion describes a region of assembly code guarded by
|
||||
special LLVM\-MCA comment directives.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
# LLVM\-MCA\-<INSTRUMENT_TYPE> <data>
|
||||
... ## asm
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
where \fIINSTRUMENT_TYPE\fP is a type defined by the target and expects
|
||||
to use \fIdata\fP\&.
|
||||
.sp
|
||||
A comment starting with substring \fILLVM\-MCA\-<INSTRUMENT_TYPE>\fP
|
||||
brings data into scope for llvm\-mca to use in its analysis for
|
||||
all following instructions.
|
||||
.sp
|
||||
If a comment with the same \fIINSTRUMENT_TYPE\fP is found later in the
|
||||
instruction list, then the original InstrumentRegion will be
|
||||
automatically ended, and a new InstrumentRegion will begin.
|
||||
.sp
|
||||
If there are comments containing the different \fIINSTRUMENT_TYPE\fP,
|
||||
then both data sets remain available. In contrast with an AnalysisRegion,
|
||||
an InstrumentRegion does not need a comment to end the region.
|
||||
.sp
|
||||
Comments that are prefixed with \fILLVM\-MCA\-\fP but do not correspond to
|
||||
a valid \fIINSTRUMENT_TYPE\fP for the target cause an error, except for
|
||||
\fIBEGIN\fP and \fIEND\fP, since those correspond to AnalysisRegions. Comments
|
||||
that do not start with \fILLVM\-MCA\-\fP are ignored by :program \fIllvm\-mca\fP\&.
|
||||
.sp
|
||||
An instruction (a MCInst) is added to an InstrumentRegion R only
|
||||
if its location is in range [R.RangeStart, R.RangeEnd].
|
||||
.sp
|
||||
On RISCV targets, vector instructions have different behaviour depending
|
||||
on the LMUL. Code can be instrumented with a comment that takes the
|
||||
following form:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
# LLVM\-MCA\-RISCV\-LMUL <M1|M2|M4|M8|MF2|MF4|MF8>
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
The RISCV InstrumentManager will override the schedule class for vector
|
||||
instructions to use the scheduling behaviour of its pseudo\-instruction
|
||||
which is LMUL dependent. It makes sense to place RISCV instrument
|
||||
comments directly after \fIvset{i}vl{i}\fP instructions, although
|
||||
they can be placed anywhere in the program.
|
||||
.sp
|
||||
Example of program with no call to \fIvset{i}vl{i}\fP:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
# LLVM\-MCA\-RISCV\-LMUL M2
|
||||
vadd.vv v2, v2, v2
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example of program with call to \fIvset{i}vl{i}\fP:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
vsetvli zero, a0, e8, m1, tu, mu
|
||||
# LLVM\-MCA\-RISCV\-LMUL M1
|
||||
vadd.vv v2, v2, v2
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example of program with multiple calls to \fIvset{i}vl{i}\fP:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
vsetvli zero, a0, e8, m1, tu, mu
|
||||
# LLVM\-MCA\-RISCV\-LMUL M1
|
||||
vadd.vv v2, v2, v2
|
||||
vsetvli zero, a0, e8, m8, tu, mu
|
||||
# LLVM\-MCA\-RISCV\-LMUL M8
|
||||
vadd.vv v2, v2, v2
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example of program with call to \fIvsetvl\fP:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
vsetvl rd, rs1, rs2
|
||||
# LLVM\-MCA\-RISCV\-LMUL M1
|
||||
vadd.vv v12, v12, v12
|
||||
vsetvl rd, rs1, rs2
|
||||
# LLVM\-MCA\-RISCV\-LMUL M4
|
||||
vadd.vv v12, v12, v12
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH HOW LLVM-MCA WORKS
|
||||
.sp
|
||||
\fBllvm\-mca\fP takes assembly code as input. The assembly code is parsed
|
||||
@ -486,7 +629,9 @@ overview of the performance throughput. Important performance indicators are
|
||||
Throughput).
|
||||
.sp
|
||||
Field \fIDispatchWidth\fP is the maximum number of micro opcodes that are dispatched
|
||||
to the out\-of\-order backend every simulated cycle.
|
||||
to the out\-of\-order backend every simulated cycle. For processors with an
|
||||
in\-order backend, \fIDispatchWidth\fP is the maximum number of micro opcodes issued
|
||||
to the backend every simulated cycle.
|
||||
.sp
|
||||
IPC is computed dividing the total number of simulated instructions by the total
|
||||
number of cycles.
|
||||
@ -782,6 +927,9 @@ Instructions from the critical sequence are expected to significantly impact
|
||||
performance. By construction, the accuracy of this analysis is strongly
|
||||
dependent on the simulation and (as always) by the quality of the processor
|
||||
model in llvm.
|
||||
.sp
|
||||
Bottleneck analysis is currently not supported for processors with an in\-order
|
||||
backend.
|
||||
.SS Extra Statistics to Further Diagnose Performance Issues
|
||||
.sp
|
||||
The \fB\-all\-stats\fP command line option enables extra statistics and performance
|
||||
@ -939,11 +1087,14 @@ Write Back (Instruction is executed, and results are written back).
|
||||
Retire (Instruction is retired; writes are architecturally committed).
|
||||
.UNINDENT
|
||||
.sp
|
||||
The default pipeline only models the out\-of\-order portion of a processor.
|
||||
Therefore, the instruction fetch and decode stages are not modeled. Performance
|
||||
bottlenecks in the frontend are not diagnosed. \fBllvm\-mca\fP assumes that
|
||||
instructions have all been decoded and placed into a queue before the simulation
|
||||
start. Also, \fBllvm\-mca\fP does not model branch prediction.
|
||||
The in\-order pipeline implements the following sequence of stages:
|
||||
* InOrderIssue (Instruction is issued to the processor pipelines).
|
||||
* Retire (Instruction is retired; writes are architecturally committed).
|
||||
.sp
|
||||
\fBllvm\-mca\fP assumes that instructions have all been decoded and placed
|
||||
into a queue before the simulation start. Therefore, the instruction fetch and
|
||||
decode stages are not modeled. Performance bottlenecks in the frontend are not
|
||||
diagnosed. Also, \fBllvm\-mca\fP does not model branch prediction.
|
||||
.SS Instruction Dispatch
|
||||
.sp
|
||||
During the dispatch stage, instructions are picked in program order from a
|
||||
@ -977,7 +1128,7 @@ dispatch stalls caused by the lack of physical registers.
|
||||
The number of reorder buffer entries consumed by an instruction depends on the
|
||||
number of micro\-opcodes specified for that instruction by the target scheduling
|
||||
model. The reorder buffer is responsible for tracking the progress of
|
||||
instructions that are "in\-flight", and retiring them in program order. The
|
||||
instructions that are \(dqin\-flight\(dq, and retiring them in program order. The
|
||||
number of entries in the reorder buffer defaults to the value specified by field
|
||||
\fIMicroOpBufferSize\fP in the target scheduling model.
|
||||
.sp
|
||||
@ -1029,7 +1180,7 @@ instructions wait until they reach the write\-back stage. At that point, they
|
||||
get removed from the queue and the retire control unit is notified.
|
||||
.sp
|
||||
When instructions are executed, the retire control unit flags the instruction as
|
||||
"ready to retire."
|
||||
\(dqready to retire.\(dq
|
||||
.sp
|
||||
Instructions are retired in program order. The register file is notified of the
|
||||
retirement so that it can free the physical registers that were allocated for
|
||||
@ -1084,25 +1235,26 @@ fences.
|
||||
.UNINDENT
|
||||
.sp
|
||||
The LSUnit does not attempt to predict if a load or store hits or misses the L1
|
||||
cache. It only knows if an instruction "MayLoad" and/or "MayStore." For
|
||||
loads, the scheduling model provides an "optimistic" load\-to\-use latency (which
|
||||
cache. It only knows if an instruction \(dqMayLoad\(dq and/or \(dqMayStore.\(dq For
|
||||
loads, the scheduling model provides an \(dqoptimistic\(dq load\-to\-use latency (which
|
||||
usually matches the load\-to\-use latency for when there is a hit in the L1D).
|
||||
.sp
|
||||
\fBllvm\-mca\fP does not know about serializing operations or memory\-barrier
|
||||
like instructions. The LSUnit conservatively assumes that an instruction which
|
||||
has both "MayLoad" and unmodeled side effects behaves like a "soft"
|
||||
load\-barrier. That means, it serializes loads without forcing a flush of the
|
||||
load queue. Similarly, instructions that "MayStore" and have unmodeled side
|
||||
effects are treated like store barriers. A full memory barrier is a "MayLoad"
|
||||
and "MayStore" instruction with unmodeled side effects. This is inaccurate, but
|
||||
it is the best that we can do at the moment with the current information
|
||||
available in LLVM.
|
||||
\fBllvm\-mca\fP does not (on its own) know about serializing operations or
|
||||
memory\-barrier like instructions. The LSUnit used to conservatively use an
|
||||
instruction\(aqs \(dqMayLoad\(dq, \(dqMayStore\(dq, and unmodeled side effects flags to
|
||||
determine whether an instruction should be treated as a memory\-barrier. This was
|
||||
inaccurate in general and was changed so that now each instruction has an
|
||||
IsAStoreBarrier and IsALoadBarrier flag. These flags are mca specific and
|
||||
default to false for every instruction. If any instruction should have either of
|
||||
these flags set, it should be done within the target\(aqs InstrPostProcess class.
|
||||
For an example, look at the \fIX86InstrPostProcess::postProcessInstruction\fP method
|
||||
within \fIllvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp\fP\&.
|
||||
.sp
|
||||
A load/store barrier consumes one entry of the load/store queue. A load/store
|
||||
barrier enforces ordering of loads/stores. A younger load cannot pass a load
|
||||
barrier. Also, a younger store cannot pass a store barrier. A younger load
|
||||
has to wait for the memory/load barrier to execute. A load/store barrier is
|
||||
"executed" when it becomes the oldest entry in the load/store queue(s). That
|
||||
\(dqexecuted\(dq when it becomes the oldest entry in the load/store queue(s). That
|
||||
also means, by construction, all of the older loads/stores have been executed.
|
||||
.sp
|
||||
In conclusion, the full set of load/store consistency rules are:
|
||||
@ -1120,9 +1272,97 @@ A load may not pass a previous store unless \fB\-noalias\fP is set.
|
||||
.IP 6. 3
|
||||
A load has to wait until an older load barrier is fully executed.
|
||||
.UNINDENT
|
||||
.SS In\-order Issue and Execute
|
||||
.sp
|
||||
In\-order processors are modelled as a single \fBInOrderIssueStage\fP stage. It
|
||||
bypasses Dispatch, Scheduler and Load/Store unit. Instructions are issued as
|
||||
soon as their operand registers are available and resource requirements are
|
||||
met. Multiple instructions can be issued in one cycle according to the value of
|
||||
the \fBIssueWidth\fP parameter in LLVM\(aqs scheduling model.
|
||||
.sp
|
||||
Once issued, an instruction is moved to \fBIssuedInst\fP set until it is ready to
|
||||
retire. \fBllvm\-mca\fP ensures that writes are committed in\-order. However,
|
||||
an instruction is allowed to commit writes and retire out\-of\-order if
|
||||
\fBRetireOOO\fP property is true for at least one of its writes.
|
||||
.SS Custom Behaviour
|
||||
.sp
|
||||
Due to certain instructions not being expressed perfectly within their
|
||||
scheduling model, \fBllvm\-mca\fP isn\(aqt always able to simulate them
|
||||
perfectly. Modifying the scheduling model isn\(aqt always a viable
|
||||
option though (maybe because the instruction is modeled incorrectly on
|
||||
purpose or the instruction\(aqs behaviour is quite complex). The
|
||||
CustomBehaviour class can be used in these cases to enforce proper
|
||||
instruction modeling (often by customizing data dependencies and detecting
|
||||
hazards that \fBllvm\-mca\fP has no way of knowing about).
|
||||
.sp
|
||||
\fBllvm\-mca\fP comes with one generic and multiple target specific
|
||||
CustomBehaviour classes. The generic class will be used if the \fB\-disable\-cb\fP
|
||||
flag is used or if a target specific CustomBehaviour class doesn\(aqt exist for
|
||||
that target. (The generic class does nothing.) Currently, the CustomBehaviour
|
||||
class is only a part of the in\-order pipeline, but there are plans to add it
|
||||
to the out\-of\-order pipeline in the future.
|
||||
.sp
|
||||
CustomBehaviour\(aqs main method is \fIcheckCustomHazard()\fP which uses the
|
||||
current instruction and a list of all instructions still executing within
|
||||
the pipeline to determine if the current instruction should be dispatched.
|
||||
As output, the method returns an integer representing the number of cycles
|
||||
that the current instruction must stall for (this can be an underestimate
|
||||
if you don\(aqt know the exact number and a value of 0 represents no stall).
|
||||
.sp
|
||||
If you\(aqd like to add a CustomBehaviour class for a target that doesn\(aqt
|
||||
already have one, refer to an existing implementation to see how to set it
|
||||
up. The classes are implemented within the target specific backend (for
|
||||
example \fI/llvm/lib/Target/AMDGPU/MCA/\fP) so that they can access backend symbols.
|
||||
.SS Instrument Manager
|
||||
.sp
|
||||
On certain architectures, scheduling information for certain instructions
|
||||
do not contain all of the information required to identify the most precise
|
||||
schedule class. For example, data that can have an impact on scheduling can
|
||||
be stored in CSR registers.
|
||||
.sp
|
||||
One example of this is on RISCV, where values in registers such as \fIvtype\fP
|
||||
and \fIvl\fP change the scheduling behaviour of vector instructions. Since MCA
|
||||
does not keep track of the values in registers, instrument comments can
|
||||
be used to specify these values.
|
||||
.sp
|
||||
InstrumentManager\(aqs main function is \fIgetSchedClassID()\fP which has access
|
||||
to the MCInst and all of the instruments that are active for that MCInst.
|
||||
This function can use the instruments to override the schedule class of
|
||||
the MCInst.
|
||||
.sp
|
||||
On RISCV, instrument comments containing LMUL information are used
|
||||
by \fIgetSchedClassID()\fP to map a vector instruction and the active
|
||||
LMUL to the scheduling class of the pseudo\-instruction that describes
|
||||
that base instruction and the active LMUL.
|
||||
.SS Custom Views
|
||||
.sp
|
||||
\fBllvm\-mca\fP comes with several Views such as the Timeline View and
|
||||
Summary View. These Views are generic and can work with most (if not all)
|
||||
targets. If you wish to add a new View to \fBllvm\-mca\fP and it does not
|
||||
require any backend functionality that is not already exposed through MC layer
|
||||
classes (MCSubtargetInfo, MCInstrInfo, etc.), please add it to the
|
||||
\fI/tools/llvm\-mca/View/\fP directory. However, if your new View is target specific
|
||||
AND requires unexposed backend symbols or functionality, you can define it in
|
||||
the \fI/lib/Target/<TargetName>/MCA/\fP directory.
|
||||
.sp
|
||||
To enable this target specific View, you will have to use this target\(aqs
|
||||
CustomBehaviour class to override the \fICustomBehaviour::getViews()\fP methods.
|
||||
There are 3 variations of these methods based on where you want your View to
|
||||
appear in the output: \fIgetStartViews()\fP, \fIgetPostInstrInfoViews()\fP, and
|
||||
\fIgetEndViews()\fP\&. These methods returns a vector of Views so you will want to
|
||||
return a vector containing all of the target specific Views for the target in
|
||||
question.
|
||||
.sp
|
||||
Because these target specific (and backend dependent) Views require the
|
||||
\fICustomBehaviour::getViews()\fP variants, these Views will not be enabled if
|
||||
the \fI\-disable\-cb\fP flag is used.
|
||||
.sp
|
||||
Enabling these custom Views does not affect the non\-custom (generic) Views.
|
||||
Continue to use the usual command line arguments to enable / disable those
|
||||
Views.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-NM" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-NM" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-nm \- list LLVM bitcode and object file's symbol table
|
||||
.SH SYNOPSIS
|
||||
@ -192,7 +191,7 @@ Something unrecognizable.
|
||||
.sp
|
||||
Because LLVM bitcode files typically contain objects that are not considered to
|
||||
have addresses until they are linked into an executable image or dynamically
|
||||
compiled "just\-in\-time", \fBllvm\-nm\fP does not print an address for any
|
||||
compiled \(dqjust\-in\-time\(dq, \fBllvm\-nm\fP does not print an address for any
|
||||
symbol in an LLVM bitcode file, even symbols which are defined in the bitcode
|
||||
file.
|
||||
.SH OPTIONS
|
||||
@ -203,6 +202,44 @@ Use BSD output format. Alias for \fB\-\-format=bsd\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-X
|
||||
Specify the type of XCOFF object file, ELF object file, or IR object file input
|
||||
from command line or from archive files that llvm\-nm should examine. The
|
||||
mode must be one of the following:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B 32
|
||||
Process only 32\-bit object files.
|
||||
.TP
|
||||
.B 64
|
||||
Process only 64\-bit object files.
|
||||
.TP
|
||||
.B 32_64
|
||||
Process both 32\-bit and 64\-bit object files.
|
||||
.TP
|
||||
.B any
|
||||
Process all the supported object files.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
On AIX OS, the default is to process 32\-bit object files only and to ignore
|
||||
64\-bit objects. The can be changed by setting the OBJECT_MODE environment
|
||||
variable. For example, OBJECT_MODE=64 causes \fBllvm\-nm\fP to process
|
||||
64\-bit objects and ignore 32\-bit objects. The \-X flag overrides the OBJECT_MODE
|
||||
variable.
|
||||
.sp
|
||||
On other operating systems, the default is to process all object files: the
|
||||
OBJECT_MODE environment variable is not supported.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-syms, \-a
|
||||
Show all symbols, even those usually suppressed.
|
||||
.UNINDENT
|
||||
@ -223,6 +260,12 @@ Display dynamic symbols instead of normal symbols.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-export\-symbols
|
||||
Print sorted symbols with their visibility (if applicable), with duplicates
|
||||
removed.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-extern\-only, \-g
|
||||
Print only symbols whose definitions are external; that is, accessible from
|
||||
other files.
|
||||
@ -230,7 +273,8 @@ other files.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-format=<format>, \-f
|
||||
Select an output format; \fIformat\fP may be \fIsysv\fP, \fIposix\fP, \fIdarwin\fP, or \fIbsd\fP\&.
|
||||
Select an output format; \fIformat\fP may be \fIsysv\fP, \fIposix\fP, \fIdarwin\fP, \fIbsd\fP or
|
||||
\fIjust\-symbols\fP\&.
|
||||
The default is \fIbsd\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -240,13 +284,8 @@ Print a summary of command\-line options and their meanings.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Print an uncategorized summary of command\-line options and their meanings.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-just\-symbol\-name, \-j
|
||||
Print just the symbol names.
|
||||
.B \-j
|
||||
Print just the symbol names. Alias for \fI\-\-format=just\-symbols\(ga\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -285,7 +324,7 @@ Use POSIX.2 output format. Alias for \fB\-\-format=posix\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-print\-armap, \-M
|
||||
.B \-\-print\-armap
|
||||
Print the archive symbol table, in addition to the symbols.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -300,6 +339,11 @@ Show symbol size as well as address (not applicable for Mach\-O).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-quiet
|
||||
Suppress \(aqno symbols\(aq diagnostic.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-radix=<RADIX>, \-t
|
||||
Specify the radix of the symbol address(es). Values accepted are \fId\fP (decimal),
|
||||
\fIx\fP (hexadecimal) and \fIo\fP (octal).
|
||||
@ -326,14 +370,9 @@ Print only undefined symbols.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-version
|
||||
Display the version of the \fBllvm\-nm\fP executable. Does not stack with
|
||||
other commands.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-without\-aliases
|
||||
Exclude aliases from the output.
|
||||
.B \-\-version, \-V
|
||||
Display the version of the \fBllvm\-nm\fP executable, then exit. Does not
|
||||
stack with other commands.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -369,7 +408,7 @@ Do not add any symbols from the dyldinfo.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-s=<segment section>
|
||||
.B \-s <segment> <section>
|
||||
Dump only symbols from this segment and section name.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -377,6 +416,12 @@ Dump only symbols from this segment and section name.
|
||||
.B \-x
|
||||
Print symbol entry in hex.
|
||||
.UNINDENT
|
||||
.SH XCOFF SPECIFIC OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-no\-rsrc
|
||||
Exclude resource file symbols (\fB__rsrc\fP) from export symbol list.
|
||||
.UNINDENT
|
||||
.SH BUGS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
@ -397,6 +442,6 @@ Print symbol entry in hex.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-OBJCOPY" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-OBJCOPY" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-objcopy \- object copying and editing tool
|
||||
.SH SYNOPSIS
|
||||
@ -40,9 +39,9 @@ llvm-objcopy \- object copying and editing tool
|
||||
usage, it makes a semantic copy of the input to the output. If any options are
|
||||
specified, the output may be modified along the way, e.g. by removing sections.
|
||||
.sp
|
||||
If no output file is specified, the input file is modified in\-place. If "\-" is
|
||||
If no output file is specified, the input file is modified in\-place. If \(dq\-\(dq is
|
||||
specified for the input file, the input is read from the program\(aqs standard
|
||||
input stream. If "\-" is specified for the output file, the output is written to
|
||||
input stream. If \(dq\-\(dq is specified for the output file, the output is written to
|
||||
the standard output stream of the program.
|
||||
.sp
|
||||
If the input is an archive, any requested operations will be applied to each
|
||||
@ -64,7 +63,7 @@ Add a .gnu_debuglink section for \fB<debug\-file>\fP to the output.
|
||||
.B \-\-add\-section <section=file>
|
||||
Add a section named \fB<section>\fP with the contents of \fB<file>\fP to the
|
||||
output. For ELF objects the section will be of type \fISHT_NOTE\fP, if the name
|
||||
starts with ".note". Otherwise, it will have type \fISHT_PROGBITS\fP\&. Can be
|
||||
starts with \(dq.note\(dq. Otherwise, it will have type \fISHT_PROGBITS\fP\&. Can be
|
||||
specified multiple times to add multiple sections.
|
||||
.sp
|
||||
For MachO objects, \fB<section>\fP must be formatted as
|
||||
@ -86,7 +85,7 @@ headers.
|
||||
.B \-\-discard\-all, \-x
|
||||
Remove most local symbols from the output. Different file formats may limit
|
||||
this to a subset of the local symbols. For example, file and section symbols in
|
||||
ELF objects will not be discarded.
|
||||
ELF objects will not be discarded. Additionally, remove all debug sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -164,7 +163,7 @@ For MachO objects, \fB<section>\fP must be formatted as
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-set\-section\-alignment <section>=<align>
|
||||
Set the alignment of section \fB<section>\fP to \fI<align>\(ga\fP\&. Can be specified
|
||||
Set the alignment of section \fB<section>\fP to \fB<align>\fP\&. Can be specified
|
||||
multiple times to update multiple sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -283,6 +282,13 @@ relocations. Also remove all debug sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-update\-section <name>=<file>
|
||||
Replace the contents of the section \fB<name>\fP with contents from the file
|
||||
\fB<file>\fP\&. If the section \fB<name>\fP is part of a segment, the new contents
|
||||
cannot be larger than the existing section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-version, \-V
|
||||
Display the version of the \fBllvm\-objcopy\fP executable.
|
||||
.UNINDENT
|
||||
@ -409,36 +415,15 @@ section references. Any invalid sh_link fields will be set to zero.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-build\-id\-link\-dir <dir>
|
||||
Set the directory used by \fI\%\-\-build\-id\-link\-input\fP and
|
||||
\fI\%\-\-build\-id\-link\-output\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-build\-id\-link\-input <suffix>
|
||||
Hard\-link the input to \fB<dir>/xx/xxx<suffix>\fP, where \fB<dir>\fP is the directory
|
||||
specified by \fI\%\-\-build\-id\-link\-dir\fP\&. The path used is derived from the
|
||||
hex build ID.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-build\-id\-link\-output <suffix>
|
||||
Hard\-link the output to \fB<dir>/xx/xxx<suffix>\fP, where \fB<dir>\fP is the directory
|
||||
specified by \fI\%\-\-build\-id\-link\-dir\fP\&. The path used is derived from the
|
||||
hex build ID.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-change\-start <incr>, \-\-adjust\-start
|
||||
Add \fB<incr>\fP to the program\(aqs start address. Can be specified multiple
|
||||
times, in which case the values will be applied cumulatively.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-compress\-debug\-sections [<style>]
|
||||
Compress DWARF debug sections in the output, using the specified style.
|
||||
Supported styles are \fIzlib\-gnu\fP and \fIzlib\fP\&. Defaults to \fIzlib\fP if no style is
|
||||
specified.
|
||||
.B \-\-compress\-debug\-sections [<format>]
|
||||
Compress DWARF debug sections in the output, using the specified format.
|
||||
Supported formats are \fBzlib\fP and \fBzstd\fP\&. Use \fBzlib\fP if \fB<format>\fP is omitted.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -448,7 +433,7 @@ Decompress any compressed DWARF debug sections in the output.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-discard\-locals, \-X
|
||||
Remove local symbols starting with ".L" from the output.
|
||||
Remove local symbols starting with \(dq.L\(dq from the output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -493,7 +478,7 @@ Keep symbols of type \fISTT_FILE\fP, even if they would otherwise be stripped.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-keep\-global\-symbol <symbol>
|
||||
.B \-\-keep\-global\-symbol <symbol>, \-G
|
||||
Make all symbols local in the output, except for symbols with the name
|
||||
\fB<symbol>\fP\&. Can be specified multiple times to ignore multiple symbols.
|
||||
.UNINDENT
|
||||
@ -596,6 +581,12 @@ supported flags. Can be specified multiple times to rename multiple sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-set\-section\-type <section>=<type>
|
||||
Set the type of section \fB<section>\fP to the integer \fB<type>\fP\&. Can be
|
||||
specified multiple times to update multiple sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-set\-start\-addr <addr>
|
||||
Set the start address of the output to \fB<addr>\fP\&. Overrides any previously
|
||||
specified \fI\%\-\-change\-start\fP or \fI\%\-\-adjust\-start\fP options.
|
||||
@ -651,6 +642,18 @@ a \(aq#\(aq. Can be specified multiple times to read names from multiple files.
|
||||
.B \-\-weaken
|
||||
Mark all defined global symbols as weak in the output.
|
||||
.UNINDENT
|
||||
.SH MACH-O-SPECIFIC OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-keep\-undefined
|
||||
Keep undefined symbols, even if they would otherwise be stripped.
|
||||
.UNINDENT
|
||||
.SH COFF-SPECIFIC OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-subsystem <name>[:<version>]
|
||||
Set the PE subsystem, and optionally subsystem version.
|
||||
.UNINDENT
|
||||
.SH SUPPORTED FORMATS
|
||||
.sp
|
||||
The following values are currently supported by \fBllvm\-objcopy\fP for the
|
||||
@ -728,7 +731,7 @@ the address of the first loadable section in the output.
|
||||
Otherwise, it exits with code 0.
|
||||
.SH BUGS
|
||||
.sp
|
||||
To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>.
|
||||
To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/labels/tools:llvm\-objcopy/strip/\fP>.
|
||||
.sp
|
||||
There is a known issue with \fI\%\-\-input\-target\fP and \fI\%\-\-target\fP
|
||||
causing only \fBbinary\fP and \fBihex\fP formats to have any effect. Other values
|
||||
@ -740,6 +743,6 @@ format.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-OBJDUMP" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-OBJDUMP" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-objdump \- LLVM's object file dumper
|
||||
.SH SYNOPSIS
|
||||
@ -53,7 +52,11 @@ Display the information contained within an archive\(aqs headers.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-d, \-\-disassemble
|
||||
Disassemble all text sections found in the input files.
|
||||
Disassemble all executable sections found in the input files. On some
|
||||
architectures (AArch64, PPC64, x86), all known instructions are disassembled by
|
||||
default. On the others, \fI\%\-\-mcpu\fP or \fI\%\-\-mattr\fP is needed to
|
||||
enable some instruction sets. Disabled instructions are displayed as
|
||||
\fB<unknown>\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -133,10 +136,12 @@ Display the contents of the dynamic symbol table.
|
||||
.TP
|
||||
.B \-u, \-\-unwind\-info
|
||||
Display the unwind info of the input(s).
|
||||
.sp
|
||||
This operation is only currently supported for COFF and Mach\-O object files.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-version
|
||||
.B \-v, \-\-version
|
||||
Display the version of the \fBllvm\-objdump\fP executable. Does not stack
|
||||
with other commands.
|
||||
.UNINDENT
|
||||
@ -165,11 +170,32 @@ for a list of available targets.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-build\-id=<string>
|
||||
Look up the object using the given build ID, specified as a hexadecimal
|
||||
string. The found object is handled as if it were an input filename.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-C, \-\-demangle
|
||||
Demangle symbol names in the output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-file\-directory <path>
|
||||
Provide a path to a directory with a \fI\&.build\-id\fP subdirectory to search for
|
||||
debug information for stripped binaries. Multiple instances of this argument
|
||||
are searched in the order given.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debuginfod, \-\-no\-debuginfod
|
||||
Whether or not to try debuginfod lookups for debug binaries. Unless specified,
|
||||
debuginfod is only enabled if libcurl was compiled in (\fBLLVM_ENABLE_CURL\fP)
|
||||
and at least one server URL was provided by the environment variable
|
||||
\fBDEBUGINFOD_URLS\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-vars=<format>
|
||||
Print the locations (in registers or memory) of source\-level variables
|
||||
alongside disassembly. \fBformat\fP may be \fBunicode\fP or \fBascii\fP, defaulting
|
||||
@ -179,7 +205,7 @@ to \fBunicode\fP if omitted.
|
||||
.TP
|
||||
.B \-\-debug\-vars\-indent=<width>
|
||||
Distance to indent the source\-level variable display, relative to the start
|
||||
of the disassembly. Defaults to 40 characters.
|
||||
of the disassembly. Defaults to 52 characters.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -196,8 +222,21 @@ When disassembling, display source line numbers. Implies
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-M, \-\-disassembler\-options=<opt1[,opt2,...]>
|
||||
Pass target\-specific disassembler options. Currently supported for ARM targets
|
||||
only. Available options are \fBreg\-names\-std\fP and \fBreg\-names\-raw\fP\&.
|
||||
Pass target\-specific disassembler options. Available options:
|
||||
.INDENT 7.0
|
||||
.IP \(bu 2
|
||||
\fBreg\-names\-std\fP: ARM only (default). Print in ARM \(aqs instruction set documentation, with r13/r14/r15 replaced by sp/lr/pc.
|
||||
.IP \(bu 2
|
||||
\fBreg\-names\-raw\fP: ARM only. Use r followed by the register number.
|
||||
.IP \(bu 2
|
||||
\fBno\-aliases\fP: AArch64 and RISC\-V only. Print raw instruction mnemonic instead of pseudo instruction mnemonic.
|
||||
.IP \(bu 2
|
||||
\fBnumeric\fP: RISC\-V only. Print raw register names instead of ABI mnemonic. (e.g. print x1 instead of ra)
|
||||
.IP \(bu 2
|
||||
\fBatt\fP: x86 only (default). Print in the AT&T syntax.
|
||||
.IP \(bu 2
|
||||
\fBintel\fP: x86 only. Print in the intel syntax.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -213,8 +252,14 @@ the available attributes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-no\-leading\-addr
|
||||
When disassembling, do not print leading addresses.
|
||||
.B \-\-no\-leading\-addr, \-\-no\-addresses
|
||||
When disassembling, do not print leading addresses for instructions or inline
|
||||
relocations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-no\-print\-imm\-hex
|
||||
Do not use hex format for immediate values in disassembly output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -223,14 +268,26 @@ When disassembling, do not print the raw bytes of each instruction.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-offloading
|
||||
Display the content of the LLVM offloading section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-prefix=<prefix>
|
||||
When disassembling with the \fI\%\-\-source\fP option, prepend \fBprefix\fP to
|
||||
absolute paths.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-prefix\-strip=<level>
|
||||
When disassembling with the \fI\%\-\-source\fP option, strip out \fBlevel\fP
|
||||
initial directories from absolute paths. This option has no effect without
|
||||
\fI\%\-\-prefix\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-print\-imm\-hex
|
||||
Use hex format when printing immediate values in disassembly output.
|
||||
Use hex format when printing immediate values in disassembly output (default).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -240,6 +297,12 @@ When disassembling, display source interleaved with the disassembly. Implies
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-show\-all\-symbols
|
||||
Show all symbols during disassembly, even if multiple symbols are defined at
|
||||
the same location.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-show\-lma
|
||||
Display the LMA column when dumping ELF section headers. Defaults to off
|
||||
unless any section has different VMA and LMAs.
|
||||
@ -269,7 +332,9 @@ When disassembling, symbolize a branch target operand to print a label instead o
|
||||
.sp
|
||||
When printing a PC\-relative global symbol reference, print it as an offset from the leading symbol.
|
||||
.sp
|
||||
Only works with an X86 linked image.
|
||||
When a bb\-address\-map section is present (i.e., the object file is built with \fB\-fbasic\-block\-sections=labels\fP), labels are retrieved from that section instead.
|
||||
.sp
|
||||
Only works with PowerPC objects or X86 linked images.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B Example:
|
||||
@ -314,6 +379,7 @@ Ignored for compatibility with GNU objdump.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-x86\-asm\-syntax=<style>
|
||||
Deprecated.
|
||||
When used with \fI\%\-\-disassemble\fP, choose style of code to emit from
|
||||
X86 backend. Supported values are:
|
||||
.INDENT 7.0
|
||||
@ -363,12 +429,6 @@ Display binding info
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-cfg
|
||||
Create a CFG for every symbol in the object file and write it to a graphviz
|
||||
file.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-data\-in\-code
|
||||
Display the data in code table.
|
||||
.UNINDENT
|
||||
@ -379,6 +439,17 @@ Disassemble just the specified symbol\(aqs instructions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-chained\-fixups
|
||||
Print chained fixup information.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-dyld\-info
|
||||
Print bind and rebase information used by dyld to resolve external
|
||||
references in a final linked binary.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-dylibs\-used
|
||||
Display the shared libraries used for linked files.
|
||||
.UNINDENT
|
||||
@ -399,6 +470,14 @@ Display exported symbols.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-function\-starts [=<addrs|names|both>]
|
||||
Print the function starts table for Mach\-O objects. Either \fBaddrs\fP
|
||||
(default) to print only the addresses of functions, \fBnames\fP to print only
|
||||
the names of the functions (when available), or \fBboth\fP to print the
|
||||
names beside the addresses.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-g
|
||||
Print line information from debug info if available.
|
||||
.UNINDENT
|
||||
@ -465,6 +544,11 @@ Display rebasing information.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-rpaths
|
||||
Display runtime search paths for the binary.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-universal\-headers
|
||||
Display universal headers.
|
||||
.UNINDENT
|
||||
@ -481,13 +565,14 @@ Add symbol description to disassembly output.
|
||||
.UNINDENT
|
||||
.SH BUGS
|
||||
.sp
|
||||
To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>.
|
||||
To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/labels/tools:llvm\-objdump/\fP>.
|
||||
.SH SEE ALSO
|
||||
.sp
|
||||
\fBllvm\-nm(1)\fP, \fBllvm\-readelf(1)\fP, \fBllvm\-readobj(1)\fP
|
||||
\fBllvm\-nm(1)\fP, \fBllvm\-otool(1)\fP, \fBllvm\-readelf(1)\fP,
|
||||
\fBllvm\-readobj(1)\fP
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-PDBUTIL" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-PDBUTIL" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-pdbutil \- PDB File forensics and diagnostics
|
||||
.INDENT 0.0
|
||||
@ -421,7 +420,7 @@ used for PDB forensics. It serves a role similar to that of Microsoft\(aqs
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
The \fBdump\fP subcommand exposes internal details of the file format. As
|
||||
such, the reader should be familiar with /PDB/index before using this
|
||||
such, the reader should be familiar with \fI\%The PDB File Format\fP before using this
|
||||
command.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
@ -608,7 +607,7 @@ working on support for emitting PDBs would use this heavily, for example, to
|
||||
compare one PDB against another PDB to ensure byte\-for\-byte compatibility. It
|
||||
is not enough to simply compare the bytes of an entire file, or an entire stream
|
||||
because it\(aqs perfectly fine for the same structure to exist at different
|
||||
locations in two different PDBs, and "finding" the structure is half the battle.
|
||||
locations in two different PDBs, and \(dqfinding\(dq the structure is half the battle.
|
||||
.SS Options
|
||||
.SS MSF File Options
|
||||
.INDENT 0.0
|
||||
@ -740,6 +739,6 @@ Write the resulting PDB to the specified file.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-PROFDATA" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-PROFDATA" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-profdata \- Profile data tool
|
||||
.SH SYNOPSIS
|
||||
@ -69,18 +68,18 @@ arguments are processed once for each time they are seen.
|
||||
.SS OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
.B \-\-help
|
||||
Print a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-output=output, \-o=output
|
||||
.B \-\-output=<output>, \-o
|
||||
Specify the output file name. \fIOutput\fP cannot be \fB\-\fP as the resulting
|
||||
indexed profile data can\(aqt be written to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-weighted\-input=weight,filename
|
||||
.B \-\-weighted\-input=<weight,filename>
|
||||
Specify an input file name along with a weight. The profile counts of the
|
||||
supplied \fBfilename\fP will be scaled (multiplied) by the supplied
|
||||
\fBweight\fP, where \fBweight\fP is a decimal integer >= 1.
|
||||
@ -89,43 +88,43 @@ weight of 1. Examples are shown below.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-input\-files=path, \-f=path
|
||||
.B \-\-input\-files=<path>, \-f
|
||||
Specify a file which contains a list of files to merge. The entries in this
|
||||
file are newline\-separated. Lines starting with \(aq#\(aq are skipped. Entries may
|
||||
be of the form <filename> or <weight>,<filename>.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-remapping\-file=path, \-r=path
|
||||
.B \-\-remapping\-file=<path>, \-r
|
||||
Specify a file which contains a remapping from symbol names in the input
|
||||
profile to the symbol names that should be used in the output profile. The
|
||||
file should consist of lines of the form \fB<input\-symbol> <output\-symbol>\fP\&.
|
||||
Blank lines and lines starting with \fB#\fP are skipped.
|
||||
.sp
|
||||
The llvm\-cxxmap tool can be used to generate the symbol
|
||||
The \fI\%llvm\-cxxmap\fP tool can be used to generate the symbol
|
||||
remapping file.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-instr (default)
|
||||
.B \-\-instr (default)
|
||||
Specify that the input profile is an instrumentation\-based profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-sample
|
||||
.B \-\-sample
|
||||
Specify that the input profile is a sample\-based profile.
|
||||
.sp
|
||||
The format of the generated file can be generated in one of three ways:
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \-binary (default)
|
||||
.B \-\-binary (default)
|
||||
.UNINDENT
|
||||
.sp
|
||||
Emit the profile using a binary encoding. For instrumentation\-based profile
|
||||
the output format is the indexed binary format.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \-extbinary
|
||||
.B \-\-extbinary
|
||||
.UNINDENT
|
||||
.sp
|
||||
Emit the profile using an extensible binary encoding. This option can only
|
||||
@ -134,7 +133,7 @@ more compact with compression enabled and can be loaded faster than the
|
||||
default binary encoding.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \-text
|
||||
.B \-\-text
|
||||
.UNINDENT
|
||||
.sp
|
||||
Emit the profile in text mode. This option can also be used with both
|
||||
@ -143,27 +142,27 @@ the profile will be dumped in the text format that is parsable by the profile
|
||||
reader.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \-gcc
|
||||
.B \-\-gcc
|
||||
.UNINDENT
|
||||
.sp
|
||||
Emit the profile using GCC\(aqs gcov format (Not yet supported).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-sparse[=true|false]
|
||||
.B \-\-sparse[=true|false]
|
||||
Do not emit function records with 0 execution count. Can only be used in
|
||||
conjunction with \-instr. Defaults to false, since it can inhibit compiler
|
||||
optimization during PGO.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-num\-threads=N, \-j=N
|
||||
.B \-\-num\-threads=<N>, \-j
|
||||
Use N threads to perform profile merging. When N=0, llvm\-profdata auto\-detects
|
||||
an appropriate number of threads to use. This is the default.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-failure\-mode=[any|all]
|
||||
.B \-\-failure\-mode=[any|all]
|
||||
Set the failure mode. There are two options: \(aqany\(aq causes the merge command to
|
||||
fail if any profiles are invalid, and \(aqall\(aq causes the merge command to fail
|
||||
only if all profiles are invalid. If \(aqall\(aq is set, information from any
|
||||
@ -172,58 +171,65 @@ failure mode is \(aqany\(aq.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-prof\-sym\-list=path
|
||||
.B \-\-prof\-sym\-list=<path>
|
||||
Specify a file which contains a list of symbols to generate profile symbol
|
||||
list in the profile. This option can only be used with sample\-based profile
|
||||
in extbinary format. The entries in this file are newline\-separated.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-compress\-all\-sections=[true|false]
|
||||
.B \-\-compress\-all\-sections=[true|false]
|
||||
Compress all sections when writing the profile. This option can only be used
|
||||
with sample\-based profile in extbinary format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-use\-md5=[true|false]
|
||||
.B \-\-use\-md5=[true|false]
|
||||
Use MD5 to represent string in name table when writing the profile.
|
||||
This option can only be used with sample\-based profile in extbinary format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-partial\-profile=[true|false]
|
||||
.B \-\-gen\-partial\-profile=[true|false]
|
||||
Mark the profile to be a partial profile which only provides partial profile
|
||||
coverage for the optimized target. This option can only be used with
|
||||
sample\-based profile in extbinary format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-supplement\-instr\-with\-sample=path_to_sample_profile
|
||||
.B \-\-supplement\-instr\-with\-sample=<file>
|
||||
Supplement an instrumentation profile with sample profile. The sample profile
|
||||
is the input of the flag. Output will be in instrumentation format (only works
|
||||
with \-instr).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-zero\-counter\-threshold=threshold_float_number
|
||||
.B \-\-zero\-counter\-threshold=<float>
|
||||
For the function which is cold in instr profile but hot in sample profile, if
|
||||
the ratio of the number of zero counters divided by the the total number of
|
||||
the ratio of the number of zero counters divided by the total number of
|
||||
counters is above the threshold, the profile of the function will be regarded
|
||||
as being harmful for performance and will be dropped.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-instr\-prof\-cold\-threshold=threshold_int_number
|
||||
.B \-\-instr\-prof\-cold\-threshold=<int>
|
||||
User specified cold threshold for instr profile which will override the cold
|
||||
threshold got from profile summary.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-suppl\-min\-size\-threshold=threshold_int_number
|
||||
.B \-\-suppl\-min\-size\-threshold=<int>
|
||||
If the size of a function is smaller than the threshold, assume it can be
|
||||
inlined by PGO early inliner and it will not be adjusted based on sample
|
||||
profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-info=<path>
|
||||
Specify the executable or \fB\&.dSYM\fP that contains debug info for the raw profile.
|
||||
When \fB\-debug\-info\-correlate\fP was used for instrumentation, use this option
|
||||
to correlate the raw profile.
|
||||
.UNINDENT
|
||||
.SS EXAMPLES
|
||||
.SS Basic Usage
|
||||
.sp
|
||||
@ -240,13 +246,13 @@ llvm\-profdata merge foo.profdata bar.profdata baz.profdata \-output merged.prof
|
||||
.UNINDENT
|
||||
.SS Weighted Input
|
||||
.sp
|
||||
The input file \fIfoo.profdata\fP is especially important, multiply its counts by 10:
|
||||
The input file \fBfoo.profdata\fP is especially important, multiply its counts by 10:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
llvm\-profdata merge \-weighted\-input=10,foo.profdata bar.profdata baz.profdata \-output merged.profdata
|
||||
llvm\-profdata merge \-\-weighted\-input=10,foo.profdata bar.profdata baz.profdata \-\-output merged.profdata
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
@ -258,7 +264,7 @@ Exactly equivalent to the previous invocation (explicit form; useful for program
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
llvm\-profdata merge \-weighted\-input=10,foo.profdata \-weighted\-input=1,bar.profdata \-weighted\-input=1,baz.profdata \-output merged.profdata
|
||||
llvm\-profdata merge \-\-weighted\-input=10,foo.profdata \-\-weighted\-input=1,bar.profdata \-\-weighted\-input=1,baz.profdata \-\-output merged.profdata
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
@ -278,38 +284,48 @@ input from standard input.
|
||||
.SS OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-all\-functions
|
||||
.B \-\-all\-functions
|
||||
Print details for every function.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-counts
|
||||
.B \-\-binary\-ids
|
||||
Print embedded binary ids in a profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-counts
|
||||
Print the counter values for the displayed functions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-function=string
|
||||
.B \-\-show\-format=<text|json|yaml>
|
||||
Emit output in the selected format if supported by the provided profile type.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-function=<string>
|
||||
Print details for a function if the function\(aqs name contains the given string.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
.B \-\-help
|
||||
Print a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-output=output, \-o=output
|
||||
.B \-\-output=<output>, \-o
|
||||
Specify the output file name. If \fIoutput\fP is \fB\-\fP or it isn\(aqt specified,
|
||||
then the output is sent to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-instr (default)
|
||||
.B \-\-instr (default)
|
||||
Specify that the input profile is an instrumentation\-based profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-text
|
||||
.B \-\-text
|
||||
Instruct the profile dumper to show profile counts in the text format of the
|
||||
instrumentation\-based profile data representation. By default, the profile
|
||||
information is dumped in a more human readable form (also in text) with
|
||||
@ -317,51 +333,69 @@ annotations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-topn=n
|
||||
.B \-\-topn=<n>
|
||||
Instruct the profile dumper to show the top \fBn\fP functions with the
|
||||
hottest basic blocks in the summary section. By default, the topn functions
|
||||
are not dumped.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-sample
|
||||
.B \-\-sample
|
||||
Specify that the input profile is a sample\-based profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-memop\-sizes
|
||||
.B \-\-memop\-sizes
|
||||
Show the profiled sizes of the memory intrinsic calls for shown functions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-value\-cutoff=n
|
||||
.B \-\-value\-cutoff=<n>
|
||||
Show only those functions whose max count values are greater or equal to \fBn\fP\&.
|
||||
By default, the value\-cutoff is set to 0.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-list\-below\-cutoff
|
||||
.B \-\-list\-below\-cutoff
|
||||
Only output names of functions whose max count value are below the cutoff
|
||||
value.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-showcs
|
||||
.B \-\-profile\-version
|
||||
Print profile version.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-showcs
|
||||
Only show context sensitive profile counts. The default is to filter all
|
||||
context sensitive profile counts.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-show\-prof\-sym\-list=[true|false]
|
||||
.B \-\-show\-prof\-sym\-list=[true|false]
|
||||
Show profile symbol list if it exists in the profile. This option is only
|
||||
meaningful for sample\-based profile in extbinary format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-show\-sec\-info\-only=[true|false]
|
||||
.B \-\-show\-sec\-info\-only=[true|false]
|
||||
Show basic information about each section in the profile. This option is
|
||||
only meaningful for sample\-based profile in extbinary format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-info=<path>
|
||||
Specify the executable or \fB\&.dSYM\fP that contains debug info for the raw profile.
|
||||
When \fB\-debug\-info\-correlate\fP was used for instrumentation, use this option
|
||||
to show the correlated functions from the raw profile.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-covered
|
||||
Show only the functions that have been executed, i.e., functions with non\-zero
|
||||
counts.
|
||||
.UNINDENT
|
||||
.SH OVERLAP
|
||||
.SS SYNOPSIS
|
||||
.sp
|
||||
@ -394,29 +428,29 @@ Here is an example, if \fIbase profile file\fP has counts of {400, 600}, and
|
||||
.SS OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-function=string
|
||||
.B \-\-function=<string>
|
||||
Print details for a function if the function\(aqs name contains the given string.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
.B \-\-help
|
||||
Print a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-o=output or \-o output
|
||||
.B \-\-output=<output>, \-o
|
||||
Specify the output file name. If \fIoutput\fP is \fB\-\fP or it isn\(aqt specified,
|
||||
then the output is sent to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-value\-cutoff=n
|
||||
.B \-\-value\-cutoff=<n>
|
||||
Show only those functions whose max count values are greater or equal to \fBn\fP\&.
|
||||
By default, the value\-cutoff is set to max of unsigned long long.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-cs
|
||||
.B \-\-cs
|
||||
Only show overlap for the context sensitive profile counts. The default is to show
|
||||
non\-context sensitive profile counts.
|
||||
.UNINDENT
|
||||
@ -427,6 +461,6 @@ if it cannot read input files, or if there is a mismatch between their data.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-READELF" "1" "2021-09-22" "12" "LLVM"
|
||||
.TH "LLVM-READELF" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-readelf \- GNU-style LLVM Object Reader
|
||||
.SH SYNOPSIS
|
||||
@ -38,13 +38,14 @@ llvm-readelf \- GNU-style LLVM Object Reader
|
||||
The \fBllvm\-readelf\fP tool displays low\-level format\-specific information
|
||||
about one or more object files.
|
||||
.sp
|
||||
If \fBinput\fP is "\fB\-\fP", \fBllvm\-readelf\fP reads from standard
|
||||
If \fBinput\fP is \(dq\fB\-\fP\(dq, \fBllvm\-readelf\fP reads from standard
|
||||
input. Otherwise, it will read from the specified \fBfilenames\fP\&.
|
||||
.SH OPTIONS
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-all
|
||||
Equivalent to specifying all the main display options.
|
||||
.B \-\-all, \-a
|
||||
Equivalent to specifying all the main display options relevant to the file
|
||||
format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -58,8 +59,9 @@ Display architecture\-specific information, e.g. the ARM attributes section on A
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-color
|
||||
Use colors in the output for warnings and errors.
|
||||
.B \-\-bb\-addr\-map
|
||||
Display the contents of the basic block address map section(s), which contain the
|
||||
address of each function, along with the relative offset of each basic block.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -68,6 +70,11 @@ Display demangled symbol names in the output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-dependent\-libraries
|
||||
Display the dependent libraries section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-dyn\-relocations
|
||||
Display the dynamic relocation entries.
|
||||
.UNINDENT
|
||||
@ -88,7 +95,7 @@ Display the callgraph profile section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-hash\-histogram, \-\-histogram, \-I
|
||||
.B \-\-histogram, \-I
|
||||
Display a bucket list histogram for dynamic symbol hash tables.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -99,13 +106,14 @@ Display the linker options section.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-output\-style=<value>
|
||||
Format ELF information in the specified style. Valid options are \fBLLVM\fP and
|
||||
\fBGNU\fP\&. \fBLLVM\fP output is an expanded and structured format, whilst \fBGNU\fP
|
||||
(the default) output mimics the equivalent GNU \fBreadelf\fP output.
|
||||
Format ELF information in the specified style. Valid options are \fBLLVM\fP,
|
||||
\fBGNU\fP, and \fBJSON\fP\&. \fBLLVM\fP output is an expanded and structured format.
|
||||
\fBGNU\fP (the default) output mimics the equivalent GNU \fBreadelf\fP
|
||||
output. \fBJSON\fP is JSON formatted output intended for machine consumption.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-section\-groups, \-\-section\-groups, \-g
|
||||
.B \-\-section\-groups, \-g
|
||||
Display section groups.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -116,7 +124,7 @@ multi\-line format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-file\-headers, \-h
|
||||
.B \-\-file\-header, \-h
|
||||
Display file headers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -137,7 +145,7 @@ Display the hash table for dynamic symbols.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-headers, \-e
|
||||
Equivalent to setting: \fI\%\-\-file\-headers\fP, \fI\%\-\-program\-headers\fP,
|
||||
Equivalent to setting: \fI\%\-\-file\-header\fP, \fI\%\-\-program\-headers\fP,
|
||||
and \fI\%\-\-sections\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -147,11 +155,6 @@ Display a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Display an uncategorized summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-hex\-dump=<section[,section,...]>, \-x
|
||||
Display the specified section(s) as hexadecimal bytes. \fBsection\fP may be a
|
||||
section index or section name.
|
||||
@ -163,11 +166,22 @@ Display the needed libraries.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-no\-demangle
|
||||
Do not display demangled symbol names in the output. On by default.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-notes, \-n
|
||||
Display all notes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-pretty\-print
|
||||
When used with \fI\%\-\-elf\-output\-style\fP, JSON output will be formatted in
|
||||
a more readable format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-program\-headers, \-\-segments, \-l
|
||||
Display the program headers.
|
||||
.UNINDENT
|
||||
@ -235,7 +249,7 @@ section index or section name.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-symbols, \-\-syms, \-s
|
||||
Display the symbol table.
|
||||
Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
@ -254,6 +268,11 @@ Display version sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-wide, \-W
|
||||
Ignored for GNU readelf compatibility. The output is already similar to when using \-W with GNU readelf.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B @<FILE>
|
||||
Read command\-line options from response file \fI<FILE>\fP\&.
|
||||
.UNINDENT
|
||||
@ -267,6 +286,6 @@ exit code if there were any errors.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-READOBJ" "1" "2021-09-22" "12" "LLVM"
|
||||
.TH "LLVM-READOBJ" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-readobj \- LLVM Object Reader
|
||||
.SH SYNOPSIS
|
||||
@ -38,7 +38,7 @@ llvm-readobj \- LLVM Object Reader
|
||||
The \fBllvm\-readobj\fP tool displays low\-level format\-specific information
|
||||
about one or more object files.
|
||||
.sp
|
||||
If \fBinput\fP is "\fB\-\fP", \fBllvm\-readobj\fP reads from standard
|
||||
If \fBinput\fP is \(dq\fB\-\fP\(dq, \fBllvm\-readobj\fP reads from standard
|
||||
input. Otherwise, it will read from the specified \fBfilenames\fP\&.
|
||||
.SH DIFFERENCES TO LLVM-READELF
|
||||
.sp
|
||||
@ -85,24 +85,19 @@ Display the address\-significance table.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-color
|
||||
Use colors in the output for warnings and errors.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-expand\-relocs
|
||||
When used with \fI\%\-\-relocations\fP, display each relocation in an expanded
|
||||
When used with \fI\%\-\-relocs\fP, display each relocation in an expanded
|
||||
multi\-line format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-file\-headers, \-h
|
||||
.B \-\-file\-header, \-h
|
||||
Display file headers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-headers, \-e
|
||||
Equivalent to setting: \fI\%\-\-file\-headers\fP, \fI\%\-\-program\-headers\fP,
|
||||
Equivalent to setting: \fI\%\-\-file\-header\fP, \fI\%\-\-program\-headers\fP,
|
||||
and \fI\%\-\-sections\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -112,11 +107,6 @@ Display a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Display an uncategorized summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-hex\-dump=<section[,section,...]>, \-x
|
||||
Display the specified section(s) as hexadecimal bytes. \fBsection\fP may be a
|
||||
section index or section name.
|
||||
@ -133,7 +123,7 @@ Display the relocation entries in the file.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-sections, \-\-section\-headers, \-s, \-S
|
||||
.B \-\-sections, \-\-section\-headers, \-S
|
||||
Display all sections.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -156,6 +146,12 @@ This option has no effect for GNU style output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-sort\-symbols=<sort_key[,sort_key]>
|
||||
Specify the keys to sort symbols before displaying symtab.
|
||||
Valid values for sort_key are \fBname\fP and \fBtype\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-stackmap
|
||||
Display contents of the stackmap section.
|
||||
.UNINDENT
|
||||
@ -167,7 +163,12 @@ section index or section name.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-symbols, \-\-syms, \-t
|
||||
.B \-\-string\-table
|
||||
Display contents of the string table.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-symbols, \-\-syms, \-s
|
||||
Display the symbol table.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -195,6 +196,12 @@ Display architecture\-specific information, e.g. the ARM attributes section on A
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-bb\-addr\-map
|
||||
Display the contents of the basic block address map section(s), which contain the
|
||||
address of each function, along with the relative offset of each basic block.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-demangle, \-C
|
||||
Display demangled symbol names in the output.
|
||||
.UNINDENT
|
||||
@ -225,7 +232,7 @@ Display the callgraph profile section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-hash\-histogram, \-\-histogram, \-I
|
||||
.B \-\-histogram, \-I
|
||||
Display a bucket list histogram for dynamic symbol hash tables.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -236,13 +243,14 @@ Display the linker options section.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-output\-style=<value>
|
||||
Format ELF information in the specified style. Valid options are \fBLLVM\fP and
|
||||
\fBGNU\fP\&. \fBLLVM\fP output (the default) is an expanded and structured format,
|
||||
whilst \fBGNU\fP output mimics the equivalent GNU \fBreadelf\fP output.
|
||||
Format ELF information in the specified style. Valid options are \fBLLVM\fP,
|
||||
\fBGNU\fP, and \fBJSON\fP\&. \fBLLVM\fP output (the default) is an expanded and
|
||||
structured format. \fBGNU\fP output mimics the equivalent GNU \fBreadelf\fP
|
||||
output. \fBJSON\fP is JSON formatted output intended for machine consumption.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-elf\-section\-groups, \-\-section\-groups, \-g
|
||||
.B \-\-section\-groups, \-g
|
||||
Display section groups.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
@ -267,6 +275,12 @@ Display all notes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-pretty\-print
|
||||
When used with \fI\%\-\-elf\-output\-style\fP, JSON output will be formatted in
|
||||
a more readable format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-program\-headers, \-\-segments, \-l
|
||||
Display the program headers.
|
||||
.UNINDENT
|
||||
@ -388,6 +402,34 @@ Display the load config.
|
||||
.B \-\-coff\-resources
|
||||
Display the .rsrc section.
|
||||
.UNINDENT
|
||||
.SH XCOFF SPECIFIC OPTIONS
|
||||
.sp
|
||||
The following options are implemented only for the XCOFF file format.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-auxiliary\-header
|
||||
Display XCOFF Auxiliary header.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-exception\-section
|
||||
Display XCOFF exception section entries.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-loader\-section\-header
|
||||
Display XCOFF loader section header.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-loader\-section\-symbols
|
||||
Display symbol table of loader section.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-loader\-section\-relocations
|
||||
Display relocation entries of loader section.
|
||||
.UNINDENT
|
||||
.SH EXIT STATUS
|
||||
.sp
|
||||
\fBllvm\-readobj\fP returns 0 under normal operation. It returns a non\-zero
|
||||
@ -398,6 +440,6 @@ exit code if there were any errors.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-SIZE" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-SIZE" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-size \- print size information
|
||||
.SH SYNOPSIS
|
||||
@ -40,7 +39,7 @@ llvm-size \- print size information
|
||||
It is intended to be a drop\-in replacement for GNU\(aqs \fBsize\fP\&.
|
||||
.sp
|
||||
The tool prints size information for each \fBinput\fP specified. If no input is
|
||||
specified, the program prints size information for \fBa.out\fP\&. If "\fB\-\fP" is
|
||||
specified, the program prints size information for \fBa.out\fP\&. If \(dq\fB\-\fP\(dq is
|
||||
specified as an input file, \fBllvm\-size\fP reads a file from the standard
|
||||
input stream. If an input is an archive, size information will be displayed for
|
||||
all its members.
|
||||
@ -181,11 +180,6 @@ Display a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Display an uncategorized summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-m
|
||||
Equivalent to \fI\%\-\-format\fP with a value of \fBdarwin\fP\&.
|
||||
.UNINDENT
|
||||
@ -266,10 +260,10 @@ Read command\-line options from response file \fB<FILE>\fP\&.
|
||||
Otherwise, it exits with code 0.
|
||||
.SH BUGS
|
||||
.sp
|
||||
To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>.
|
||||
To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/labels/tools:llvm\-size/\fP>.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-STRINGS" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-STRINGS" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-strings \- print strings
|
||||
.SH SYNOPSIS
|
||||
@ -45,7 +44,7 @@ byte, terminates the current sequence.
|
||||
\fBllvm\-strings\fP looks for strings in each \fBinput\fP file specified.
|
||||
Unlike GNU \fBstrings\fP it looks in the entire input file, regardless of
|
||||
file format, rather than restricting the search to certain sections of object
|
||||
files. If "\fB\-\fP" is specified as an \fBinput\fP, or no \fBinput\fP is specified,
|
||||
files. If \(dq\fB\-\fP\(dq is specified as an \fBinput\fP, or no \fBinput\fP is specified,
|
||||
the program reads from the standard input stream.
|
||||
.SH EXAMPLE
|
||||
.INDENT 0.0
|
||||
@ -83,11 +82,6 @@ Display a summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-help\-list
|
||||
Display an uncategorized summary of command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-print\-file\-name, \-f
|
||||
Display the name of the containing file before each string.
|
||||
.sp
|
||||
@ -170,10 +164,10 @@ Read command\-line options from response file \fB<FILE>\fP\&.
|
||||
Otherwise, it exits with code 0.
|
||||
.SH BUGS
|
||||
.sp
|
||||
To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>.
|
||||
To report bugs, please visit <\fI\%https://github.com/llvm/llvm\-project/labels/tools:llvm\-strings/\fP>.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-ADDR2LINE" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-ADDR2LINE" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-addr2line \- a drop-in replacement for addr2line
|
||||
.SH SYNOPSIS
|
||||
@ -68,6 +67,6 @@ inlined frames for a source code location in an inlined function.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "LLVM-SYMBOLIZER" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "LLVM-SYMBOLIZER" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
llvm-symbolizer \- convert addresses into source code locations
|
||||
.SH SYNOPSIS
|
||||
@ -36,23 +35,28 @@ llvm-symbolizer \- convert addresses into source code locations
|
||||
\fBllvm\-symbolizer\fP [\fIoptions\fP] [\fIaddresses...\fP]
|
||||
.SH DESCRIPTION
|
||||
.sp
|
||||
\fBllvm\-symbolizer\fP reads object file names and addresses from the
|
||||
command\-line and prints corresponding source code locations to standard output.
|
||||
\fBllvm\-symbolizer\fP reads input names and addresses from the command\-line
|
||||
and prints corresponding source code locations to standard output. It can also
|
||||
symbolize logs containing \fI\%Symbolizer Markup\fP via
|
||||
\fI\%\-\-filter\-markup\fP\&.
|
||||
.sp
|
||||
If no address is specified on the command\-line, it reads the addresses from
|
||||
standard input. If no object file is specified on the command\-line, but
|
||||
addresses are, or if at any time an input value is not recognized, the input is
|
||||
simply echoed to the output.
|
||||
standard input. If no input name is specified on the command\-line, but addresses
|
||||
are, or if at any time an input value is not recognized, the input is simply
|
||||
echoed to the output.
|
||||
.sp
|
||||
A positional argument or standard input value can be preceded by "DATA" or
|
||||
"CODE" to indicate that the address should be symbolized as data or executable
|
||||
code respectively. If neither is specified, "CODE" is assumed. DATA is
|
||||
Input names can be specified together with the addresses either on standard
|
||||
input or as positional arguments on the command\-line. By default, input names
|
||||
are interpreted as object file paths. However, prefixing a name with
|
||||
\fBBUILDID:\fP states that it is a hex build ID rather than a path. This will look
|
||||
up the corresponding debug binary. For consistency, prefixing a name with
|
||||
\fBFILE:\fP explicitly states that it is an object file path (the default).
|
||||
.sp
|
||||
A positional argument or standard input value can be preceded by \(dqDATA\(dq or
|
||||
\(dqCODE\(dq to indicate that the address should be symbolized as data or executable
|
||||
code respectively. If neither is specified, \(dqCODE\(dq is assumed. DATA is
|
||||
symbolized as address and symbol size rather than line number.
|
||||
.sp
|
||||
Object files can be specified together with the addresses either on standard
|
||||
input or as positional arguments on the command\-line, following any "DATA" or
|
||||
"CODE" prefix.
|
||||
.sp
|
||||
\fBllvm\-symbolizer\fP parses options from the environment variable
|
||||
\fBLLVM_SYMBOLIZER_OPTS\fP after parsing options from the command line.
|
||||
\fBLLVM_SYMBOLIZER_OPTS\fP is primarily useful for supplementing the command\-line
|
||||
@ -69,7 +73,7 @@ printed differently (see \fI\%\-\-demangle\fP).
|
||||
.nf
|
||||
.ft C
|
||||
// test.h
|
||||
extern "C" inline int foz() {
|
||||
extern \(dqC\(dq inline int foz() {
|
||||
return 1234;
|
||||
}
|
||||
.ft P
|
||||
@ -82,7 +86,7 @@ extern "C" inline int foz() {
|
||||
.nf
|
||||
.ft C
|
||||
// test.cpp
|
||||
#include "test.h"
|
||||
#include \(dqtest.h\(dq
|
||||
int bar=42;
|
||||
|
||||
int foo() {
|
||||
@ -162,7 +166,7 @@ Example 3 \- object specified with address:
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
$ llvm\-symbolizer "test.elf 0x400490" "inlined.elf 0x400480"
|
||||
$ llvm\-symbolizer \(dqtest.elf 0x400490\(dq \(dqFILE:inlined.elf 0x400480\(dq
|
||||
baz()
|
||||
/tmp/test.cpp:11:0
|
||||
|
||||
@ -170,7 +174,7 @@ foo()
|
||||
/tmp/test.cpp:8:10
|
||||
|
||||
$ cat addr2.txt
|
||||
test.elf 0x4004a0
|
||||
FILE:test.elf 0x4004a0
|
||||
inlined.elf 0x400480
|
||||
|
||||
$ llvm\-symbolizer < addr2.txt
|
||||
@ -184,13 +188,13 @@ foo()
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example 4 \- CODE and DATA prefixes:
|
||||
Example 4 \- BUILDID and FILE prefixes:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
$ llvm\-symbolizer \-\-obj=test.elf "CODE 0x400490" "DATA 0x601028"
|
||||
$ llvm\-symbolizer \(dqFILE:test.elf 0x400490\(dq \(dqDATA BUILDID:123456789abcdef 0x601028\(dq
|
||||
baz()
|
||||
/tmp/test.cpp:11:0
|
||||
|
||||
@ -198,10 +202,38 @@ bar
|
||||
6295592 4
|
||||
|
||||
$ cat addr3.txt
|
||||
FILE:test.elf 0x400490
|
||||
DATA BUILDID:123456789abcdef 0x601028
|
||||
|
||||
$ llvm\-symbolizer < addr3.txt
|
||||
baz()
|
||||
/tmp/test.cpp:11:0
|
||||
|
||||
bar
|
||||
6295592 4
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example 5 \- CODE and DATA prefixes:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
$ llvm\-symbolizer \-\-obj=test.elf \(dqCODE 0x400490\(dq \(dqDATA 0x601028\(dq
|
||||
baz()
|
||||
/tmp/test.cpp:11:0
|
||||
|
||||
bar
|
||||
6295592 4
|
||||
|
||||
$ cat addr4.txt
|
||||
CODE test.elf 0x4004a0
|
||||
DATA inlined.elf 0x601028
|
||||
|
||||
$ llvm\-symbolizer < addr3.txt
|
||||
$ llvm\-symbolizer < addr4.txt
|
||||
main
|
||||
/tmp/test.cpp:15:0
|
||||
|
||||
@ -212,7 +244,7 @@ bar
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Example 5 \- path\-style options:
|
||||
Example 6 \- path\-style options:
|
||||
.sp
|
||||
This example uses the same source file as above, but the source file\(aqs
|
||||
full path is /tmp/foo/test.cpp and is compiled as follows. The first case
|
||||
@ -255,6 +287,34 @@ absolute path.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-build\-id
|
||||
Look up the object using the given build ID, specified as a hexadecimal
|
||||
string. Mutually exclusive with \fI\%\-\-obj\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-color [=<always|auto|never>]
|
||||
Specify whether to use color in \fI\%\-\-filter\-markup\fP mode. Defaults to
|
||||
\fBauto\fP, which detects whether standard output supports color. Specifying
|
||||
\fB\-\-color\fP alone is equivalent to \fB\-\-color=always\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debug\-file\-directory <path>
|
||||
Provide a path to a directory with a \fI\&.build\-id\fP subdirectory to search for
|
||||
debug information for stripped binaries. Multiple instances of this argument
|
||||
are searched in the order given.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-debuginfod, \-\-no\-debuginfod
|
||||
Whether or not to try debuginfod lookups for debug binaries. Unless specified,
|
||||
debuginfod is only enabled if libcurl was compiled in (\fBLLVM_ENABLE_CURL\fP)
|
||||
and at least one server URL was provided by the environment variable
|
||||
\fBDEBUGINFOD_URLS\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-demangle, \-C
|
||||
Print demangled function names, if the names are mangled (e.g. the mangled
|
||||
name \fI_Z3bazv\fP becomes \fIbaz()\fP, whilst the non\-mangled name \fIfoz\fP is printed
|
||||
@ -275,6 +335,32 @@ it cannot be found relative to the object.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-filter\-markup
|
||||
Reads from standard input, converts contained
|
||||
\fI\%Symbolizer Markup\fP into human\-readable form,
|
||||
and prints the results to standard output. The following markup elements are
|
||||
not yet supported:
|
||||
.INDENT 7.0
|
||||
.IP \(bu 2
|
||||
\fB{{{hexdict}}}\fP
|
||||
.IP \(bu 2
|
||||
\fB{{{dumpfile}}}\fP
|
||||
.UNINDENT
|
||||
.sp
|
||||
The \fB{{{bt}}}\fP backtrace element reports frames using the following syntax:
|
||||
.sp
|
||||
\fB#<number>[.<inline>] <address> <function> <file>:<line>:<col> (<module>+<relative address>)\fP
|
||||
.sp
|
||||
\fB<inline>\fP provides frame numbers for calls inlined into the caller
|
||||
coresponding to \fB<number>\fP\&. The inlined call numbers start at 1 and increase
|
||||
from callee to caller.
|
||||
.sp
|
||||
\fB<address>\fP is an address inside the call instruction to the function. The
|
||||
address may not be the start of the instruction. \fB<relative address>\fP is
|
||||
the corresponding virtual offset in the \fB<module>\fP loaded at that address.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-functions [=<none|short|linkage>], \-f
|
||||
Specify the way function names are printed (omit function name, print short
|
||||
function name, or print full linkage name, respectively). Defaults to
|
||||
@ -305,11 +391,12 @@ Don\(aqt print demangled function names.
|
||||
.TP
|
||||
.B \-\-obj <path>, \-\-exe, \-e
|
||||
Path to object file to be symbolized. If \fB\-\fP is specified, read the object
|
||||
directly from the standard input stream.
|
||||
directly from the standard input stream. Mutually exclusive with
|
||||
\fI\%\-\-build\-id\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-output\-style <LLVM|GNU>
|
||||
.B \-\-output\-style <LLVM|GNU|JSON>
|
||||
Specify the preferred output style. Defaults to \fBLLVM\fP\&. When the output
|
||||
style is set to \fBGNU\fP, the tool follows the style of GNU\(aqs \fBaddr2line\fP\&.
|
||||
The differences from the \fBLLVM\fP style are:
|
||||
@ -320,13 +407,18 @@ Does not print the column of a source code location.
|
||||
Does not add an empty line after the report for an address.
|
||||
.IP \(bu 2
|
||||
Does not replace the name of an inlined function with the name of the
|
||||
topmost caller when inlined frames are not shown and \fI\%\-\-use\-symbol\-table\fP
|
||||
is on.
|
||||
topmost caller when inlined frames are not shown.
|
||||
.IP \(bu 2
|
||||
Prints an address\(aqs debug\-data discriminator when it is non\-zero. One way to
|
||||
produce discriminators is to compile with clang\(aqs \-fdebug\-info\-for\-profiling.
|
||||
.UNINDENT
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B \fBJSON\fP style provides a machine readable output in JSON. If addresses are
|
||||
supplied via stdin, the output JSON will be a series of individual objects.
|
||||
Otherwise, all results will be contained in a single array.
|
||||
.UNINDENT
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
@ -349,6 +441,52 @@ foo() at /tmp/test.cpp:6
|
||||
$ clang \-g \-fdebug\-info\-for\-profiling test.cpp \-o profiling.elf
|
||||
$ llvm\-symbolizer \-\-output\-style=GNU \-\-obj=profiling.elf 0x401167 \-p \-\-no\-inlines
|
||||
main at /tmp/test.cpp:15 (discriminator 2)
|
||||
|
||||
$ llvm\-symbolizer \-\-output\-style=JSON \-\-obj=inlined.elf 0x4004be 0x400486 \-p
|
||||
[
|
||||
{
|
||||
\(dqAddress\(dq: \(dq0x4004be\(dq,
|
||||
\(dqModuleName\(dq: \(dqinlined.elf\(dq,
|
||||
\(dqSymbol\(dq: [
|
||||
{
|
||||
\(dqColumn\(dq: 18,
|
||||
\(dqDiscriminator\(dq: 0,
|
||||
\(dqFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqFunctionName\(dq: \(dqbaz()\(dq,
|
||||
\(dqLine\(dq: 11,
|
||||
\(dqStartAddress\(dq: \(dq0x4004be\(dq,
|
||||
\(dqStartFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqStartLine\(dq: 9
|
||||
},
|
||||
{
|
||||
\(dqColumn\(dq: 0,
|
||||
\(dqDiscriminator\(dq: 0,
|
||||
\(dqFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqFunctionName\(dq: \(dqmain\(dq,
|
||||
\(dqLine\(dq: 15,
|
||||
\(dqStartAddress\(dq: \(dq0x4004be\(dq,
|
||||
\(dqStartFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqStartLine\(dq: 14
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
\(dqAddress\(dq: \(dq0x400486\(dq,
|
||||
\(dqModuleName\(dq: \(dqinlined.elf\(dq,
|
||||
\(dqSymbol\(dq: [
|
||||
{
|
||||
\(dqColumn\(dq: 3,
|
||||
\(dqDiscriminator\(dq: 0,
|
||||
\(dqFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqFunctionName\(dq: \(dqfoo()\(dq,
|
||||
\(dqLine\(dq: 6,
|
||||
\(dqStartAddress\(dq: \(dq0x400486\(dq,
|
||||
\(dqStartFileName\(dq: \(dq/tmp/test.cpp\(dq,
|
||||
\(dqStartLine\(dq: 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
@ -359,6 +497,8 @@ main at /tmp/test.cpp:15 (discriminator 2)
|
||||
.B \-\-pretty\-print, \-p
|
||||
Print human readable output. If \fI\%\-\-inlining\fP is specified, the
|
||||
enclosing scope is prefixed by (inlined by).
|
||||
For JSON output, the option will cause JSON to be indented and split over
|
||||
new lines. Otherwise, the JSON output will be printed in a compact form.
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
@ -405,7 +545,7 @@ Print \fBN\fP lines of source context for each symbolized address.
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
$ llvm\-symbolizer \-\-obj=test.elf 0x400490 \-\-print\-source\-context\-lines=2
|
||||
$ llvm\-symbolizer \-\-obj=test.elf 0x400490 \-\-print\-source\-context\-lines=3
|
||||
baz()
|
||||
/tmp/test.cpp:11:0
|
||||
10 : volatile int k = 42;
|
||||
@ -425,14 +565,8 @@ the full path, this will be the same as the default.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-use\-symbol\-table
|
||||
Prefer function names stored in symbol table to function names in debug info
|
||||
sections. Defaults to true.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-\-verbose
|
||||
Print verbose line and column information.
|
||||
Print verbose address, line and column information.
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
@ -441,14 +575,18 @@ Print verbose line and column information.
|
||||
$ llvm\-symbolizer \-\-obj=inlined.elf \-\-verbose 0x4004be
|
||||
baz()
|
||||
Filename: /tmp/test.cpp
|
||||
Function start line: 9
|
||||
Function start filename: /tmp/test.cpp
|
||||
Function start line: 9
|
||||
Function start address: 0x4004b6
|
||||
Line: 11
|
||||
Column: 18
|
||||
main
|
||||
Filename: /tmp/test.cpp
|
||||
Function start line: 14
|
||||
Function start filename: /tmp/test.cpp
|
||||
Function start line: 14
|
||||
Function start address: 0x4004b0
|
||||
Line: 15
|
||||
Column: 0
|
||||
Column: 18
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
@ -517,6 +655,6 @@ error.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
@ -1,6 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PROG_CXX= llvm-tblgen
|
||||
MAN=
|
||||
|
||||
SRCDIR= llvm/utils/TableGen
|
||||
SRCS+= AsmMatcherEmitter.cpp
|
||||
|
@ -1,888 +0,0 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
.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
|
||||
..
|
||||
.TH "XXX-TBLGEN" "1" "2021-06-07" "12" "LLVM"
|
||||
.SH NAME
|
||||
xxx-tblgen \- Target Description to C++ Code
|
||||
.SH SYNOPSIS
|
||||
.sp
|
||||
\fBxxx\-tblgen\fP [\fIoptions\fP] [\fIfilename\fP]
|
||||
.SH DESCRIPTION
|
||||
.sp
|
||||
\fBxxx\-tblgen\fP is a family of programs that translates target
|
||||
description (\fB\&.td\fP) files into C++ code and other output formats. Most
|
||||
users of LLVM will not need to use this program. It is used only for
|
||||
writing parts of the compiler or LLVM target backends.
|
||||
.sp
|
||||
The details of the input and output of \fBxxx\-tblgen\fP is beyond the
|
||||
scope of this short introduction; please see the TableGen Overview for an introduction and for references to additional
|
||||
TableGen documents.
|
||||
.sp
|
||||
The \fIfilename\fP argument specifies the name of the Target Description (\fB\&.td\fP)
|
||||
file that TableGen processes.
|
||||
.SH OPTIONS
|
||||
.SS General Options
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help
|
||||
Print a description of the command line options.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-help\-list
|
||||
Print a description of the command line options in a simple list format.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-D=macroname
|
||||
Specify the name of a macro to be defined. The name is defined, but it
|
||||
has no particular value.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-d=filename
|
||||
Specify the name of the dependency filename.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-debug
|
||||
Enable debug output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-dump\-json
|
||||
Print a JSON representation of all records, suitable for further
|
||||
automated processing.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-I directory
|
||||
Specify where to find other target description files for inclusion. The
|
||||
\fBdirectory\fP value should be a full or partial path to a directory that
|
||||
contains target description files.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-null\-backend
|
||||
Parse the source files and build the records, but do not run any
|
||||
backend. This is useful for timing the frontend.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-o filename
|
||||
Specify the output file name. If \fBfilename\fP is \fB\-\fP, then
|
||||
\fBxxx\-tblgen\fP sends its output to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-print\-records
|
||||
Print all classes and records to standard output (default backend option).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-print\-detailed\-records
|
||||
Print a detailed report of all global variables, classes, and records
|
||||
to standard output.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-stats
|
||||
Print a report with any statistics collected by the backend.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-time\-phases
|
||||
Time the parser and backend phases and print a report.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-version
|
||||
Show the version number of the program.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-write\-if\-changed
|
||||
Write the output file only if it is new or has changed.
|
||||
.UNINDENT
|
||||
.SS llvm\-tblgen Options
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-asm\-matcher
|
||||
Generate assembly instruction matcher.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-match\-prefix=prefix
|
||||
Make \-gen\-asm\-matcher match only instructions with the given \fIprefix\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-asm\-parser
|
||||
Generate assembly instruction parser.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-asmparsernum=n
|
||||
Make \-gen\-asm\-parser emit assembly parser number \fIn\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-asm\-writer
|
||||
Generate assembly writer.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-asmwriternum=n
|
||||
Make \-gen\-asm\-writer emit assembly writer number \fIn\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-attrs
|
||||
Geneerate attributes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-automata
|
||||
Generate generic automata.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-callingconv
|
||||
Generate calling convention descriptions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-compress\-inst\-emitter
|
||||
Generate RISCV compressed instructions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-ctags
|
||||
Generate ctags\-compatible index.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-dag\-isel
|
||||
Generate a DAG (directed acyclic graph) instruction selector.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-instrument\-coverage
|
||||
Make \-gen\-dag\-isel generate tables to help identify the patterns matched.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-omit\-comments
|
||||
Make \-gen\-dag\-isel omit comments. The default is false.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-dfa\-packetizer
|
||||
Generate DFA Packetizer for VLIW targets.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-directive\-decl
|
||||
Generate directive related declaration code (header file).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-directive\-gen
|
||||
Generate directive related implementation code part.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-directive\-impl
|
||||
Generate directive related implementation code.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-disassembler
|
||||
Generate disassembler.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-emitter
|
||||
Generate machine code emitter.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-exegesis
|
||||
Generate llvm\-exegesis tables.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-fast\-isel
|
||||
Generate a "fast" instruction selector.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-global\-isel
|
||||
Generate GlobalISel selector.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gisel\-coverage\-file=filename
|
||||
Specify the file from which to retrieve coverage information.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-instrument\-gisel\-coverage
|
||||
Make \-gen\-global\-isel generate coverage instrumentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-optimize\-match\-table
|
||||
Make \-gen\-global\-isel generate an optimized version of the match table.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-warn\-on\-skipped\-patterns
|
||||
Make \-gen\-global\-isel explain why a pattern was skipped for inclusion.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-global\-isel\-combiner
|
||||
Generate GlobalISel combiner.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-combiners=list
|
||||
Make \-gen\-global\-isel\-combiner emit the specified combiners.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gicombiner\-show\-expansions
|
||||
Make \-gen\-global\-isel\-combiner use C++ comments to indicate occurences
|
||||
of code expansion.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gicombiner\-stop\-after\-build
|
||||
Make \-gen\-global\-isel\-combiner stop processing after building the match tree.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gicombiner\-stop\-after\-parse
|
||||
Make \-gen\-global\-isel\-combiner stop processing after parsing rules
|
||||
and dump state.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-instr\-info
|
||||
Generate instruction descriptions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-instr\-docs
|
||||
Generate instruction documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-intrinsic\-enums
|
||||
Generate intrinsic enums.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-intrinsic\-prefix=prefix
|
||||
Make \-gen\-intrinsic\-enums generate intrinsics with this target \fIprefix\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-intrinsic\-impl
|
||||
Generate intrinsic information.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-opt\-parser\-defs
|
||||
Generate options definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-opt\-rst
|
||||
Generate option RST.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-pseudo\-lowering
|
||||
Generate pseudo instruction lowering.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-register\-bank
|
||||
Generate register bank descriptions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-register\-info
|
||||
Generate registers and register classes info.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-register\-info\-debug
|
||||
Make \-gen\-register\-info dump register information for debugging.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-searchable\-tables
|
||||
Generate generic searchable tables. See TableGen BackEnds
|
||||
for a detailed description.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-subtarget
|
||||
Generate subtarget enumerations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-x86\-EVEX2VEX\-tables
|
||||
Generate X86 EVEX to VEX compress tables.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-x86\-fold\-tables
|
||||
Generate X86 fold tables.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-long\-string\-literals
|
||||
When emitting large string tables, prefer string literals over
|
||||
comma\-separated char literals. This can be a readability and
|
||||
compile\-time performance win, but upsets some compilers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-print\-enums
|
||||
Print enumeration values for a class.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-class=classname
|
||||
Make \-print\-enums print the enumeration list for the specified class.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-print\-sets
|
||||
Print expanded sets for testing DAG exprs.
|
||||
.UNINDENT
|
||||
.SS clang\-tblgen Options
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-classes
|
||||
Generate Clang attribute clases.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-parser\-string\-switches
|
||||
Generate all parser\-related attribute string switches.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-subject\-match\-rules\-parser\-string\-switches
|
||||
Generate all parser\-related attribute subject match rule string switches.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-impl
|
||||
Generate Clang attribute implementations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-list"
|
||||
Generate a Clang attribute list.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-subject\-match\-rule\-list
|
||||
Generate a Clang attribute subject match rule list.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-pch\-read
|
||||
Generate Clang PCH attribute reader.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-pch\-write
|
||||
Generate Clang PCH attribute writer.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-has\-attribute\-impl
|
||||
Generate a Clang attribute spelling list.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-spelling\-index
|
||||
Generate a Clang attribute spelling index.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-ast\-visitor
|
||||
Generate a recursive AST visitor for Clang attributes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-template\-instantiate
|
||||
Generate a Clang template instantiate code.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-parsed\-attr\-list
|
||||
Generate a Clang parsed attribute list.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-parsed\-attr\-impl
|
||||
Generate the Clang parsed attribute helpers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-parsed\-attr\-kinds
|
||||
Generate a Clang parsed attribute kinds.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-text\-node\-dump
|
||||
Generate Clang attribute text node dumper.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-attr\-node\-traverse
|
||||
Generate Clang attribute traverser.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-diags\-defs
|
||||
Generate Clang diagnostics definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-clang\-component component
|
||||
Only use warnings from specified component.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-diag\-groups
|
||||
Generate Clang diagnostic groups.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-diags\-index\-name
|
||||
Generate Clang diagnostic name index.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-basic\-reader
|
||||
Generate Clang BasicReader classes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-basic\-writer
|
||||
Generate Clang BasicWriter classes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-nodes
|
||||
Generate Clang AST comment nodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-decl\-nodes
|
||||
Generate Clang AST declaration nodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-stmt\-nodes
|
||||
Generate Clang AST statement nodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-type\-nodes
|
||||
Generate Clang AST type nodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-type\-reader
|
||||
Generate Clang AbstractTypeReader class.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-type\-writer
|
||||
Generate Clang AbstractTypeWriter class.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-opcodes
|
||||
Generate Clang constexpr interpreter opcodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-sa\-checkers
|
||||
Generate Clang static analyzer checkers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-html\-tags
|
||||
Generate efficient matchers for HTML tag names that are used in
|
||||
documentation comments.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-html\-tags\-properties
|
||||
Generate efficient matchers for HTML tag properties.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-html\-named\-character\-references
|
||||
Generate function to translate named character references to UTF\-8 sequences.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-command\-info
|
||||
Generate command properties for commands that are used in documentation comments.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-comment\-command\-list
|
||||
Generate list of commands that are used in documentation comments.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-opencl\-builtins
|
||||
Generate OpenCL builtin declaration handlers.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-neon
|
||||
Generate \fBarm_neon.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-fp16
|
||||
Generate \fBarm_fp16.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-bf16
|
||||
Generate \fBarm_bf16.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-neon\-sema
|
||||
Generate ARM NEON sema support for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-neon\-test
|
||||
Generate ARM NEON tests for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-sve\-header
|
||||
Generate \fBarm_sve.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-sve\-builtins
|
||||
Generate \fBarm_sve_builtins.inc\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-sve\-builtin\-codegen
|
||||
Generate \fBarm_sve_builtin_cg_map.inc\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-sve\-typeflags
|
||||
Generate \fBarm_sve_typeflags.inc\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-sve\-sema\-rangechecks
|
||||
Generate \fBarm_sve_sema_rangechecks.inc\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-mve\-header
|
||||
Generate \fBarm_mve.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-mve\-builtin\-def
|
||||
Generate ARM MVE builtin definitions for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-mve\-builtin\-sema
|
||||
Generate ARM MVE builtin sema checks for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-mve\-builtin\-codegen
|
||||
Generate ARM MVE builtin code\-generator for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-mve\-builtin\-aliases
|
||||
Generate list of valid ARM MVE builtin aliases for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-cde\-header
|
||||
Generate \fBarm_cde.h\fP for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-cde\-builtin\-def
|
||||
Generate ARM CDE builtin definitions for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-cde\-builtin\-sema
|
||||
Generate ARM CDE builtin sema checks for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-cde\-builtin\-codegen
|
||||
Generate ARM CDE builtin code\-generator for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-arm\-cde\-builtin\-aliases
|
||||
Generate list of valid ARM CDE builtin aliases for Clang.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-attr\-docs
|
||||
Generate attribute documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-diag\-docs
|
||||
Generate diagnostic documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-opt\-docs
|
||||
Generate option documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-data\-collectors
|
||||
Generate data collectors for AST nodes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-clang\-test\-pragma\-attribute\-supported\-attributes
|
||||
Generate a list of attributes supported by \fB#pragma\fP Clang attribute for
|
||||
testing purposes.
|
||||
.UNINDENT
|
||||
.SS mlir\-tblgen Options
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-avail\-interface\-decls
|
||||
Generate availability interface declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-avail\-interface\-defs
|
||||
Generate op interface definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-dialect\-doc
|
||||
Generate dialect documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-dialect
|
||||
The dialect to generate.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-directive\-decl
|
||||
Generate declarations for directives (OpenMP, etc.).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-enum\-decls
|
||||
Generate enum utility declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-enum\-defs
|
||||
Generate enum utility definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-enum\-from\-llvmir\-conversions
|
||||
Generate conversions of EnumAttrs from LLVM IR.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-enum\-to\-llvmir\-conversions
|
||||
Generate conversions of EnumAttrs to LLVM IR.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-llvmir\-conversions
|
||||
Generate LLVM IR conversions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-llvmir\-intrinsics
|
||||
Generate LLVM IR intrinsics.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-llvmir\-intrinsics\-filter
|
||||
Only keep the intrinsics with the specified substring in their record name.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-dialect\-opclass\-base
|
||||
The base class for the ops in the dialect we are to emit.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-op\-decls
|
||||
Generate operation declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-op\-defs
|
||||
Generate operation definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-asmformat\-error\-is\-fatal
|
||||
Emit a fatal error if format parsing fails.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-op\-exclude\-regex
|
||||
Regular expression of name of ops to exclude (no filter if empty).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-op\-include\-regex
|
||||
Regular expression of name of ops to include (no filter if empty).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-op\-doc
|
||||
Generate operation documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-pass\-decls
|
||||
Generate operation documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-name namestring
|
||||
The name of this group of passes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-pass\-doc
|
||||
Generate pass documentation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-rewriters
|
||||
Generate pattern rewriters.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-avail\-impls
|
||||
Generate SPIR\-V operation utility definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-capability\-implication
|
||||
Generate utility function to return implied capabilities for a given capability.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-enum\-avail\-decls
|
||||
Generate SPIR\-V enum availability declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-enum\-avail\-defs
|
||||
Generate SPIR\-V enum availability definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-op\-utils
|
||||
Generate SPIR\-V operation utility definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-spirv\-serialization
|
||||
Generate SPIR\-V (de)serialization utilities and functions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-struct\-attr\-decls
|
||||
Generate struct utility declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-struct\-attr\-defs
|
||||
Generate struct utility definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-typedef\-decls
|
||||
Generate TypeDef declarations.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-gen\-typedef\-defs
|
||||
Generate TypeDef definitions.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-typedefs\-dialect name
|
||||
Generate types for this dialect.
|
||||
.UNINDENT
|
||||
.SH EXIT STATUS
|
||||
.sp
|
||||
If \fBxxx\-tblgen\fP succeeds, it will exit with 0. Otherwise, if an error
|
||||
occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,4 +1,3 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.
|
||||
@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "OPT" "1" "2021-06-07" "12" "LLVM"
|
||||
.TH "OPT" "1" "2023-05-24" "16" "LLVM"
|
||||
.SH NAME
|
||||
opt \- LLVM optimizer
|
||||
.SH SYNOPSIS
|
||||
@ -36,25 +35,14 @@ opt \- LLVM optimizer
|
||||
\fBopt\fP [\fIoptions\fP] [\fIfilename\fP]
|
||||
.SH DESCRIPTION
|
||||
.sp
|
||||
The \fBopt\fP command is the modular LLVM optimizer and analyzer. It
|
||||
takes LLVM source files as input, runs the specified optimizations or analyses
|
||||
on it, and then outputs the optimized file or the analysis results. The
|
||||
function of \fBopt\fP depends on whether the \fI\-analyze\fP option is
|
||||
given.
|
||||
The \fBopt\fP command is the modular LLVM optimizer and analyzer. It takes
|
||||
LLVM source files as input, runs the specified optimizations or analyses on it,
|
||||
and then outputs the optimized file. The optimizations available via
|
||||
\fBopt\fP depend upon what libraries were linked into it as well as any
|
||||
additional libraries that have been loaded with the \fI\%\-load\fP option. Use
|
||||
the \fI\%\-help\fP option to determine what optimizations you can use.
|
||||
.sp
|
||||
When \fI\-analyze\fP is specified, \fBopt\fP performs various analyses
|
||||
of the input source. It will usually print the results on standard output, but
|
||||
in a few cases, it will print output to standard error or generate a file with
|
||||
the analysis output, which is usually done when the output is meant for another
|
||||
program.
|
||||
.sp
|
||||
While \fI\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an
|
||||
optimized output file. The optimizations available via \fBopt\fP depend
|
||||
upon what libraries were linked into it as well as any additional libraries
|
||||
that have been loaded with the \fI\%\-load\fP option. Use the \fI\%\-help\fP
|
||||
option to determine what optimizations you can use.
|
||||
.sp
|
||||
If \fBfilename\fP is omitted from the command line or is "\fB\-\fP", \fBopt\fP
|
||||
If \fBfilename\fP is omitted from the command line or is \(dq\fB\-\fP\(dq, \fBopt\fP
|
||||
reads its input from standard input. Inputs can be in either the LLVM assembly
|
||||
language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP).
|
||||
.sp
|
||||
@ -93,17 +81,6 @@ order in which they are executed (within pass constraints).
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-disable\-inlining
|
||||
This option simply removes the inlining pass from the standard list.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-disable\-opt
|
||||
This option is only meaningful when \fI\-std\-link\-opts\fP is given. It
|
||||
disables most passes.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-strip\-debug
|
||||
This option causes opt to strip debug information from the module before
|
||||
applying other optimizations. It is essentially the same as \fI\-strip\fP
|
||||
@ -155,8 +132,8 @@ opt \-load=plugin.so \-help
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-p
|
||||
Print module after each transformation.
|
||||
.B \-print\-passes
|
||||
Print all available passes and exit.
|
||||
.UNINDENT
|
||||
.SH EXIT STATUS
|
||||
.sp
|
||||
@ -165,6 +142,6 @@ occurs, it will exit with a non\-zero value.
|
||||
.SH AUTHOR
|
||||
Maintained by the LLVM Team (https://llvm.org/).
|
||||
.SH COPYRIGHT
|
||||
2003-2021, LLVM Project
|
||||
2003-2023, LLVM Project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
||||
|
Loading…
Reference in New Issue
Block a user