Commit
f8da95cd7e68ea66010843ef44adbe8d2807170c
by leonardchan[compiler-rt] Add shared_cxxabi requirement to some tests
This adds REQUIRES: shared_cxxabi to a bunch of tests that would fail if this weak reference in sanitizer common was undefined. This is necessary in cases where libc++abi.a is statically linked in. Because there is no strong reference to __cxa_demangle in compiler-rt, then if libc++abi is linked in via a static archive, then the linker will not extract the archive member that would define that weak symbol. This causes a handful of tests to fail because this leads to the symbolizer printing mangled symbols where tests expect them demangled.
Technically, this feature is WAI since sanitizer runtimes shouldn't fail if this symbol isn't resolved, and linking statically means you wouldn't need to link in all of libc++abi. As a workaround, we can simply make it a requirement that these tests use shared libc++abis.
Differential Revision: https://reviews.llvm.org/D109639
|
 | compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp |
 | compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-virtual-base.cpp |
Commit
6185ad03f1085911812e8244a4994a04c62e19b6
by paul.robinson[TargetLibraryInfo] Correctly handle sqrt*_finite
Other <math>_finite calls are marked as unavailable except on GNU/Linux; it looks like the sqrt set was just overlooked.
Differential Revision: https://reviews.llvm.org/D110418
|
 | llvm/lib/Analysis/TargetLibraryInfo.cpp |
 | llvm/test/CodeGen/X86/sqrt-fastmath.ll |
Commit
7774166499d6db7fd5b246a1a694e7fe930ebcba
by nikita.ppv[DSE] Add additional capture tests (NFC)
These test other escape sources and the case of multiple underlying objects.
|
 | llvm/test/Transforms/DeadStoreElimination/captures-before-load.ll |
Commit
ebe06910ce2623f525e458a91d7e5a1858163226
by anirudh_prasad[NFC] Replace hard-coded usages of SystemZ::R15D with SpecialRegisters API
This patch changes hard-coded usages of SystemZ::R15D with calls to the getStackPointerRegister function. Uses in the LowerCall function are avoided to avoid merge conflicts with an expected upcoming patch.
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D109702
|
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
Commit
5eb6b8272931473f3b279db5d2c0006993fda21a
by sivachandra[libc] Add an implementation of qsort.
A fuzzer for qsort has also been added.
Reviewed By: michaelrj
Differential Revision: https://reviews.llvm.org/D110382
|
 | libc/config/linux/api.td |
 | libc/src/stdlib/CMakeLists.txt |
 | libc/test/src/stdlib/CMakeLists.txt |
 | libc/config/linux/aarch64/entrypoints.txt |
 | libc/src/stdlib/qsort.cpp |
 | libc/fuzzing/stdlib/CMakeLists.txt |
 | libc/fuzzing/CMakeLists.txt |
 | libc/spec/spec.td |
 | libc/fuzzing/stdlib/qsort_fuzz.cpp |
 | libc/spec/stdc.td |
 | libc/src/stdlib/qsort.h |
 | libc/config/linux/x86_64/entrypoints.txt |
 | libc/test/src/stdlib/qsort_test.cpp |
Commit
e325ebb9c70bbdd48866926a42d4c4373b832035
by antiagainst[mlir][tosa] Add some transpose folders
* If the input is a constant splat value, we just need to reshape it. * If the input is a general constant with one user, we can also constant fold it, without bloating the IR.
Reviewed By: rsuderman
Differential Revision: https://reviews.llvm.org/D110439
|
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
 | mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td |
 | mlir/test/Dialect/Tosa/canonicalize.mlir |
Commit
96cb97c4533a0a02c2d62ffb1121cd275aa43dd5
by tejohnson[ThinLTO] Update combined index for SamplePGO indirect calls to locals
In ThinLTO for locals we normally compute the GUID from the name after prepending the source path to get a unique global id. SamplePGO indirect call profiles contain the target GUID without this uniquification, however (unless compiling with -funique-internal-linkage-names).
In order to correctly handle the call edges added to the combined index for these indirect calls, during importing and bitcode writing we consult a map of original to full GUID to identify the actual callee. However, for a large application this was consuming a lot of compile time as we need to do this repeatedly (especially during importing where we may traverse call edges multiple times).
To fix this implement a suggestion in one of the FIXME comments, and actually modify the call edges during a single traversal after the index is built to perform the fixups once. I combined this fixup with the dead code analysis performed on the index in order to avoid adding an additional walk of the index. The dead code analysis is the first analysis performed on the index.
This reduced the time required for a large thin link with SamplePGO by about 20%.
No new test added, but I confirmed that there are existing tests that will fail when no fixup is performed.
Differential Revision: https://reviews.llvm.org/D110374
|
 | llvm/lib/Transforms/IPO/FunctionImport.cpp |
 | llvm/tools/llvm-lto/llvm-lto.cpp |
 | llvm/include/llvm/IR/ModuleSummaryIndex.h |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/include/llvm/Transforms/IPO/FunctionImport.h |
 | llvm/lib/IR/ModuleSummaryIndex.cpp |
Commit
aca9bea1992ce270d094105ae8968c703b8ffb65
by riddleriver[mlir:MemRef] Move DmaStartOp/DmaWaitOp to ODS
These are among the last operations still defined explicitly in C++. I've tried to keep this commit as NFC as possible, but these ops definitely need a non-NFC cleanup at some point.
Differential Revision: https://reviews.llvm.org/D110440
|
 | mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td |
 | mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp |
 | mlir/include/mlir/Dialect/MemRef/IR/MemRef.h |
 | mlir/test/IR/invalid-ops.mlir |
 | mlir/test/Dialect/MemRef/invalid.mlir |
 | mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp |
Commit
b5bfbb4da252e1d6b0cefadf1809e88e33bb96c1
by tejohnsonFix bot failure by adding needed dependence
Fix bot failure from 96cb97c4533a0a02c2d62ffb1121cd275aa43dd5, e.g.: https://lab.llvm.org/buildbot/#/builders/61/builds/15203
llvm-lto now needs to link in IPO.
|
 | llvm/tools/llvm-lto/CMakeLists.txt |
Commit
29c09c76539f6171fa84811e9b4b6d2a244e2d53
by spatel[InstCombine] match variable names and code comments; NFC
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
a47c8e40c734429903d4000285ca45a1c3299321
by spatel[InstCombine] fold lshr(trunc(lshr X, C1)) C2
Only the multi-use cases are changing here because there's another fold that catches the simpler patterns.
But that other fold is the source of infinite loops when we try to add D110170, so removing that is planned as a follow-up.
Attempt to show the general proof in Alive2: https://alive2.llvm.org/ce/z/Ns1uS2
Note that the overshift fold-to-zero tests are not currently handled by instsimplify. If they were, we could assert that the shift amount sum is less than the source bitwidth.
|
 | llvm/test/Transforms/InstCombine/lshr.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
Commit
a5d47b3fa02da6a17828083654b79d5d15d310f3
by llvm-project[Polly] Fix wrong redirect in test case.
|
 | polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll |
Commit
62cc6b0da2912d770c125fc9ea0949f3a7b75fb9
by clementval[flang][fir] Add support to mangle/deconstruct namelist group name
Add support to create unique name for namelist group and be able to deconstruct them.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: jeanPerier
Differential Revision: https://reviews.llvm.org/D110331
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/unittests/Optimizer/InternalNamesTest.cpp |
 | flang/lib/Lower/Mangler.cpp |
 | flang/include/flang/Optimizer/Support/InternalNames.h |
 | flang/lib/Optimizer/Support/InternalNames.cpp |
Commit
531206310a27477f088f672f5e6fd688d77d9292
by riddleriver[mlir:OpAsm] Factor out the common bits of (Op/Dialect)Asm(Parser/Printer)
This has a few benefits: * It allows for defining parsers/printer code blocks that can be shared between operations and attribute/types. * It removes the weird duplication of generic parser/printer hooks, which means that newly added hooks only require touching one class.
Differential Revision: https://reviews.llvm.org/D110375
|
 | mlir/lib/IR/AsmPrinter.cpp |
 | mlir/include/mlir/IR/DialectImplementation.h |
 | mlir/include/mlir/IR/OpImplementation.h |
 | mlir/lib/IR/Dialect.cpp |
 | mlir/lib/IR/Operation.cpp |
 | mlir/lib/Parser/AsmParserImpl.h |
 | mlir/lib/Parser/DialectSymbolParser.cpp |
 | mlir/lib/Parser/Parser.cpp |
Commit
5969e5743ae9cd17d08436a4b1139b8c4a24cc4d
by nikita.ppv[IR] Handle large element size when calculating GEP indices
This is a fix for the issue reported at https://reviews.llvm.org/D110043#3019942: The ElementSize is a uint64_t and as such may be larger than the index space, or be negative in the index space. This is UB, but shouldn't cause assertion failures.
We address this by detecting whether the size is too large and use a zero index in that case (which is always conservatively correct).
Differential Revision: https://reviews.llvm.org/D110437
|
 | llvm/test/Transforms/GlobalOpt/large-element-size.ll |
 | llvm/lib/IR/DataLayout.cpp |
Commit
a9ae2436fc0dcb68ef8a478948e46d0a9998b0c9
by anirudh_prasad[SystemZ][z/OS] Introduce the GOFFMCAsmInfo Interface for z/OS
- This patch adds in the GOFFMCAsmInfo interfaces for the z/OS target. - This patch decouples the previously existing SystemZMCAsmInfo interface for the ELF target and the z/OS target. - This patch also removes a small test in the SystemZAsmLexerTest.cpp. The reason for this is because, the test is set up for the s390x-ibm-linux (SystemZ ELF triple), and the test checks a function which is overridden only for the z/OS target. The reason we can't change the test to use a z/OS triple outright is because there is still missing support which prevents the successful running of a test (assert in AsmParser.cpp due to missing GOFFAsmParser support)
Reviewed By: uweigand, abhina.sreeskantharajan
Differential Revision: https://reviews.llvm.org/D110077
|
 | llvm/lib/MC/CMakeLists.txt |
 | llvm/lib/MC/MCAsmInfoGOFF.cpp |
 | llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h |
 | llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp |
 | llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp |
 | llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp |
 | llvm/include/llvm/MC/MCAsmInfoGOFF.h |
Commit
c0d889995e708f8bcb0fd688f63d031ee06b5874
by Lang Hames[ORC] Add 'contains' and 'overlaps' operations to ExecutorAddrRange.
Also includes unit tests for not-yet tested operations like comparison and to/from pointer conversion.
|
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h |
 | llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/unittests/ExecutionEngine/Orc/ExecutorAddressTest.cpp |
Commit
5f9802401145a56d16c5712bf25b0a3894e68cb2
by llvmgnsyncbot[gn build] Port a9ae2436fc0d
|
 | llvm/utils/gn/secondary/llvm/lib/MC/BUILD.gn |
Commit
70a48697d5f547ca72053b5dcf0d10756f6f2477
by llvmgnsyncbot[gn build] Port c0d889995e70
|
 | llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn |
Commit
cf74ef134c9a8089d8997144d54628952c6d4552
by Stanislav.Mekhanoshin[AMDGPU] Limit promote alloca max size in functions
Non-entry functions have 32 caller saved VGPRs available. If we promote alloca to consume more registers we will have to spill CSRs. There is no reason to eliminate scratch access to get another scratch access instead.
Differential Revision: https://reviews.llvm.org/D110372
|
 | llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp |
 | llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll |
Commit
a7cdcf25c17e169eedba276791299c3b2b78fbf1
by wlei[llvm-profgen] Ignore invalid perf line in LBR record
Similar to https://reviews.llvm.org/D109637, there is a whole invalid line of message in perfscript.
``` warning: Invalid address in LBR record at line 14118674: Processed 14138923 events and lost 1 chunks! warning: Invalid address in LBR record at line 14118676: Check IO/CPU overload! ```
This only happened for LBR only perfscript, hybridperfscript have a check of " 0x" to make sure it's the LBR perf line.
Reviewed By: hoy, wenlei
Differential Revision: https://reviews.llvm.org/D110424
|
 | llvm/test/tools/llvm-profgen/Inputs/noprobe.perfscript |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
Commit
2a876a711dc7c644936017daf20e78f48bfd2270
by diegocaballero[mlir] Create a generic reduction detection utility
This patch introduces a generic reduction detection utility that works across different dialecs. It is mostly a generalization of the reduction detection algorithm in Affine. The reduction detection logic in Affine, Linalg and SCFToOpenMP have been replaced with this new generic utility.
The utility takes some basic components of the potential reduction and returns: 1) the reduced value, and 2) a list with the combiner operations. The logic to match reductions involving multiple combiner operations disabled until we can properly test it.
Reviewed By: ftynse, bondhugula, nicolasvasilache, pifon2a
Differential Revision: https://reviews.llvm.org/D110303
|
 | mlir/include/mlir/Analysis/LoopAnalysis.h |
 | mlir/lib/Analysis/AffineAnalysis.cpp |
 | mlir/lib/IR/Diagnostics.cpp |
 | mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt |
 | mlir/test/lib/Analysis/TestMatchReduction.cpp |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/include/mlir/IR/Diagnostics.h |
 | mlir/lib/Analysis/LoopAnalysis.cpp |
 | mlir/tools/mlir-opt/mlir-opt.cpp |
 | mlir/test/Analysis/test-match-reduction.mlir |
 | mlir/test/lib/Analysis/CMakeLists.txt |
 | mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp |
 | mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td |
Commit
d5f2013004ef8d2d9995fd45a154744bf7c264e9
by wlei[AutoFDO][llvm-profgen] Profile generation for LBR(non-CS) sample
This patch introduces non-CS AutoFDO profile generation into LLVM. The profile is supposed to be well consumed by compiler using `-fprofile-sample-use=[profile]`.
After range and branch counters are extracted from the LBR sample, here we go through each addresses for symbolization, create FunctionSamples and populate its sub fields like TotalSamples, BodySamples and HeadSamples etc. For inlined code, as we need to map back to original code, so we always add body samples to the leaf frame's function sample.
Reviewed By: wenlei, hoy
Differential Revision: https://reviews.llvm.org/D109551
|
 | llvm/test/tools/llvm-profgen/Inputs/inline-noprobe2.perfscript |
 | llvm/tools/llvm-profgen/ProfileGenerator.h |
 | llvm/test/tools/llvm-profgen/inline-noprobe.test |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
 | llvm/tools/llvm-profgen/llvm-profgen.cpp |
 | llvm/test/tools/llvm-profgen/inline-noprobe2.test |
 | llvm/tools/llvm-profgen/ProfileGenerator.cpp |
 | llvm/test/tools/llvm-profgen/noprobe.test |
 | llvm/test/tools/llvm-profgen/noinline-noprobe.test |
 | llvm/test/tools/llvm-profgen/Inputs/inline-noprobe.perfbin |
 | llvm/test/tools/llvm-profgen/Inputs/inline-noprobe2.perfbin |
 | llvm/test/tools/llvm-profgen/Inputs/inline-noprobe.perfscript |
Commit
b45476c94ce8ea94e2ad4d93ceda00eb4078e682
by antiagainst[mlir][tosa] Do not fold transpose with quantized types
For such cases, the type of the constant DenseElementsAttr is different from the transpose op return type.
Reviewed By: rsuderman
Differential Revision: https://reviews.llvm.org/D110446
|
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
 | mlir/test/Dialect/Tosa/canonicalize.mlir |
Commit
28277e9b48601dee7027ba6ed50554db821ba09b
by wlei[AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code
In order to be consistent with compiler that interprets zero count as unexecuted(cold), this change reports zero-value count for unexecuted part of function code. For the implementation, it leverages the range counter, initializes all the executed function range with the zero-value. After all ranges are merged and converted into disjoint ranges, the remaining zero count will indicates the unexecuted(cold) part of the function.
This change also extends the current `findDisjointRanges` method which now can support adding zero-value range.
Reviewed By: hoy, wenlei
Differential Revision: https://reviews.llvm.org/D109713
|
 | llvm/test/tools/llvm-profgen/inline-noprobe2.test |
 | llvm/tools/llvm-profgen/ProfileGenerator.cpp |
 | llvm/test/tools/llvm-profgen/inline-noprobe.test |
 | llvm/tools/llvm-profgen/ProfiledBinary.h |
 | llvm/tools/llvm-profgen/ProfileGenerator.h |
 | llvm/tools/llvm-profgen/ProfiledBinary.cpp |
Commit
1422fa5fab369b0ec223b58788c68f91a4093076
by wlei[llvm-profgen] Unify output format of different unsymbolized profiles
Differential Revision: https://reviews.llvm.org/D110080
|
 | llvm/test/tools/llvm-profgen/inline-cs-pseudoprobe.test |
 | llvm/test/tools/llvm-profgen/cs-interrupt.test |
 | llvm/test/tools/llvm-profgen/inline-cs-noprobe.test |
 | llvm/test/tools/llvm-profgen/noinline-cs-pseudoprobe.test |
 | llvm/tools/llvm-profgen/PerfReader.cpp |
 | llvm/tools/llvm-profgen/PerfReader.h |
 | llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test |
 | llvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test |
Commit
62d6ff5e9e70dd11a4e9e6efc48ce174cd6849bd
by Jonas Devlieghere[dsymutil] Track incompleteness across unions
When determining the incompleteness of a DIE based on its children, make sure we propagate it across union types. See test case for an example. Without this patch we never emit the definition of Container_ivars.
Differential revision: https://reviews.llvm.org/D110443
|
 | llvm/test/tools/dsymutil/Inputs/private/tmp/union/use.o |
 | llvm/test/tools/dsymutil/Inputs/private/tmp/union/a.out |
 | llvm/test/tools/dsymutil/Inputs/private/tmp/union/container.o |
 | llvm/test/tools/dsymutil/X86/union-fwd-decl.test |
 | llvm/lib/DWARFLinker/DWARFLinker.cpp |
Commit
9911af4b91c670477cf920f168b339bd2f3f307f
by dblaikieWIP: Verify -gsimple-template-names=mangled values
Clang will encode names that should be able to be simplified as "_STNname|<template, args>" (eg: "_STNt1|<int>") - this verification mode will detect these names, decode them, create the original name ("t1<int>") and the simple name ("t1") - letting the simple name run through the usual rebuilding logic - then compare the two sources of the full name - the rebuilt and the _STN encoding.
This helps ensure that -gsimple-template-names is lossless.
|
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h |
 | llvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s |
 | llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h |
Commit
37f1b7a3f35fd9edbb110a3845e79d46224ea79b
by Lang Hames[ORC] Allow construction of an ExecutorAddrRange from an addr and a size.
|
 | llvm/unittests/ExecutionEngine/Orc/ExecutorAddressTest.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h |
Commit
c6288759296f808a2f7304bbd1bd5b18974e4ccc
by Jonas Devlieghere[lldb] Copy the system debugserver in LLDB.framework
When using the system debugserver for testing, copy the binary in the LLDB.framework Resource directory instead of the build's bin directory.
rdar://82998263
|
 | lldb/test/API/CMakeLists.txt |
Commit
d0649320bf39efddf10a430c1821911060d684b2
by Jonas Devlieghere[dsymutil] Update union-fwd-decl.test for Windows
Remove path separators from CHECK-lines in union-fwd-decl.test
|
 | llvm/test/tools/dsymutil/X86/union-fwd-decl.test |
Commit
715cf6ffb9a0491aa8749bf024d741de520fa1f2
by craig.topper[RISCV] Add another isel optimization for (and (shl X, c2), c1).
Where c1 is a shifted mask with 32-c2 leading zeros and c3 trailing zeros and c3>c2. We can select it as (slli (srliw X, c3-c2), c3).
|
 | llvm/test/CodeGen/RISCV/rv64zbb.ll |
 | llvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll |
 | llvm/test/CodeGen/RISCV/rv64zbp.ll |
 | llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll |
Commit
e8b376547b4b77671c36607ade025d3272699e7a
by wmiFixed a bug in https://reviews.llvm.org/rG8eb617d719bdc6a4ed7773925d2421b9bbdd4b7a.
For compressed profile when reading an unknown section, the data reader pointer adjustment was incorrect. This patch fixed that.
|
 | llvm/include/llvm/ProfileData/SampleProfReader.h |
 | llvm/test/tools/llvm-profdata/Inputs/unknown.section.compressed.extbin.profdata |
 | llvm/test/tools/llvm-profdata/forward-compatible.test |
Commit
80865f7579d619dee4ffd5abb72f641ef74dedbb
by wmiAdd "REQUIRES: zlib" in forward-compatible.test since it handles compressed file.
|
 | llvm/test/tools/llvm-profdata/forward-compatible.test |
Commit
6deaebe5fe00bfb69d9d007bae95fac70779398a
by kkleine[llvm] Improve export.sh with help and snapshot
This change adds the ability to create source tarballs for unreleased or untagged code by providing the `--git-ref <GIT_REF>` flag to the `llvm/utils/release/export.sh` script. This is useful for creating daily snapshot tarballs that can easily be consumed by packagers who want to build a daily snapshot.
The default behavior of `export.sh` hasn't changed.
You may also provide a `--template` argument to say how the artifacts are supposed to be named (as suggested by @hans).
The `-help` output of `export.sh` was changed quite significantly to look like this:
``` Export the Git sources and build tarballs from them.
Usage: export.sh [-release|--release <major>.<minor>.<patch>] [-rc|--rc <num>] [-final|--final] [-git-ref|--git-ref <git-ref>] [-template|--template <template>]
Flags:
-release | --release <major>.<minor>.<patch> The version number of the release -rc | --rc <num> The release candidate number -final | --final When provided, this option will disable the rc flag -git-ref | --git-ref <git-ref> (optional) Use <git-ref> to determine the release and don't export the test-suite files -template | --template <template> (optional) Possible placeholders: $PROJECT $YYYYMMDD $GIT_REF $RELEASE $RC. Defaults to '${PROJECT}-${RELEASE}${RC}.src.tar.xz'.
The following list shows the filenames (with <placeholders>) for the artifacts that are being generated (given that you don't touch --template).
* llvm-<RELEASE><RC>.src.tar.xz * clang-<RELEASE><RC>.src.tar.xz * compiler-rt-<RELEASE><RC>.src.tar.xz * libcxx-<RELEASE><RC>.src.tar.xz * libcxxabi-<RELEASE><RC>.src.tar.xz * libclc-<RELEASE><RC>.src.tar.xz * clang-tools-extra-<RELEASE><RC>.src.tar.xz * polly-<RELEASE><RC>.src.tar.xz * lldb-<RELEASE><RC>.src.tar.xz * lld-<RELEASE><RC>.src.tar.xz * openmp-<RELEASE><RC>.src.tar.xz * libunwind-<RELEASE><RC>.src.tar.xz * flang-<RELEASE><RC>.src.tar.xz
Additional files being generated:
* llvm-project-<RELEASE><RC>.src.tar.xz (the complete LLVM source project) * test-suite-<RELEASE><RC>.src.tar.xz (only when not using --git-ref)
To ease the creation of snapshot builds, we also provide these files
* llvm-release-<YYYYMMDD>.txt (contains the <RELEASE> as a text) * llvm-rc-<YYYYMMDD>.txt (contains the rc version passed to the invocation of export.sh) * llvm-git-revision-<YYYYMMDD>.txt (contains the current git revision sha1)
Example values for the placeholders:
* <RELEASE> -> 13.0.0 * <YYYYMMDD> -> 20210414 * <RC> -> rc4 (will be empty when using --git-ref)
In order to generate snapshots of the upstream main branch you could do this for example:
export.sh --git-ref upstream/main --template '${PROJECT}-${YYYYMMDD}.src.tar.xz'
```
Reviewed By: tstellar
Differential Revision: https://reviews.llvm.org/D101446
|
 | llvm/utils/release/export.sh |