Commit
ae27ca9a678301969c35f2e27c76f14c9d2bb396
by wei.huang[PowerPC] PPC backend optimization on conditional trap intrustions
This patch adds PPC back end optimization to analyze the arguments of a conditional trap instruction to execute one of the following: 1. Delete it if never trap 2. Replace it if always trap 3. Otherwise keep it
Reviewed By: nemanjai, amyk, PowerPC
Differential revision: https://reviews.llvm.org/D111434
|
 | llvm/lib/Target/PowerPC/PPCMIPeephole.cpp |
 | llvm/test/CodeGen/PowerPC/mi-peepholes-trap-opt.mir |
Commit
1ff87ec235b8981c15c9956bd71cd74a4bff9557
by nikolasklauser[libc++] [NFC] Disable clang-tidy's readability-identifier-naming check
In libc++ most of the names are not conforming to the llvm style. Removing the readability-identifier-naming check removes almost all clang-tidy warnings. For example in `<string>` the warning count goes from 1001 warnings down to 7.
Reviewed By: #libc, Mordante, ldionne
Spies: Mordante, Quuxplusone, aheejin, libcxx-commits, carlosgalvezp
Differential Revision: https://reviews.llvm.org/D113849
|
 | libcxx/.clang-tidy |
Commit
c95a9f46c9cff8377232466e9bb6f097893fc860
by aeubanks[Loads] Handle addrspacecast constant expressions when determining dereferenceability
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D114015
|
 | llvm/test/Transforms/SROA/addrspacecast.ll |
 | llvm/lib/Analysis/Loads.cpp |
Commit
434dc0a5bcae50e87458e893ae5469619a35839e
by varconst[libc++] Always define a key function for std::bad_function_call in the dylib
However, whether applications rely on the std::bad_function_call vtable being in the dylib is still controlled by the ABI macro, since changing that would be an ABI break.
Also separate preprocessor definitions for whether to use a key function and whether to use a `bad_function_call`-specific `what` message (`what` message is mandated by [LWG2233](http://wg21.link/LWG2233)).
Differential Revision: https://reviews.llvm.org/D92397
|
 | libcxx/src/functional.cpp |
 | libcxx/lib/abi/CHANGELOG.TXT |
 | libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp |
 | libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/robust_against_adl.pass.cpp |
 | libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
 | libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp |
 | libcxx/include/__config |
 | libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
 | libcxx/include/__functional/function.h |
Commit
201cc2d885287c91127d23ffe6f30472e974b2dc
by lntue[libc] Correct rounding for hexadecimalStringToFloat with long inputs.
Update binaryExpTofloat so that it will round correctly for long inputs when converting hexadecimal strings to floating points.
Differential Revision: https://reviews.llvm.org/D113815
|
 | libc/test/src/stdlib/strtof_test.cpp |
 | libc/src/__support/str_to_float.h |
Commit
ea8cdf322f3962765218829a0aece71e0bb5e989
by vdonaldson[flang] Fix a bug in INQUIRE(IOLENGTH=) output
The inquire by output list form of the INQUIRE statement calculates the number of file storage units that would be required to store the data of an output list in an unformatted file. Currently, the result is incorrectly multiplied by the number of bytes for a data type. A query for "INTEGER(KIND=4) A(10)" should be 40, not 160.
Update formatting.
|
 | flang/unittests/Runtime/ExternalIOTest.cpp |
 | flang/runtime/io-stmt.cpp |
Commit
078279ff017f799d9cb8fe515808fcc518fe0c41
by pirama[compiler-rt/profile] Reland mark __llvm_profile_raw_version as hidden
Since libclang_rt.profile is added later in the command line, a definition of __llvm_profile_raw_version is not included if it is provided from an earlier object, e.g. from a shared dependency.
This causes an extra dependence edge where if libA.so depends on libB.so and both are coverage-instrumented, libA.so uses libB.so's definition of __llvm_profile_raw_version. This leads to a runtime link failure if the libB.so available at runtime does not provide this symbol (but provides the other dependent symbols). Such a scenario can occur in Android's mainline modules. E.g.: ld -o libB.so libclang_rt.profile-x86_64.a ld -o libA.so -l B libclang_rt.profile-x86_64.a
libB.so has a global definition of __llvm_profile_raw_version. libA.so uses libB.so's definition of __llvm_profile_raw_version. At runtime, libB.so may not be coverage-instrumented (i.e. not export __llvm_profile_raw_version) so runtime linking of libA.so will fail.
Marking this symbol as hidden forces each binary to use the definition of __llvm_profile_raw_version from libclang_rt.profile. The visiblity is unchanged for Apple platforms where its presence is checked by the TAPI tool.
Reviewed By: MaskRay, phosek, davidxl
Differential Revision: https://reviews.llvm.org/D111759
|
 | compiler-rt/lib/profile/InstrProfilingVersionVar.c |
 | compiler-rt/lib/profile/InstrProfiling.h |
Commit
874305c738496f30728aeb0b5252b4cf91e04357
by riddleriver[mlir] Fix clang5 build after D113641
|
 | mlir/include/mlir/Support/LLVM.h |
Commit
8d85e945b20e8e84f18cc7c215920b0fb1d0e583
by listmail[SCEV] Canonicalize X - urem X, Y patterns
There are multiple possible ways to represent the X - urem X, Y pattern. SCEV was not canonicalizing, and thus, depending on which you analyzed, you could get different results. The sub representation appears to produce strictly inferior results in practice, so I decided to canonicalize to the Y * X/Y version.
The motivation here is that runtime unroll produces the sub X - (and X, Y-1) pattern when Y is a power of two. SCEV is thus unable to recognize that an unrolled loop exits because we don't figure out that the new unrolled step evenly divides the trip count of the unrolled loop. After instcombine runs, we convert the the andn form which SCEV recognizes, so essentially, this is just fixing a nasty pass ordering dependency.
The ARM loop hardware interaction in the test diff is opague to me, but the comments in the review from others knowledge of the infrastructure appear to indicate these are improvements in loop recognition, not regressions.
Differential Revision: https://reviews.llvm.org/D114018
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll |
 | llvm/test/Analysis/ScalarEvolution/urem-0.ll |
 | llvm/test/Transforms/LoopUnroll/runtime-loop5.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll |
 | llvm/test/Transforms/HardwareLoops/ARM/structure.ll |
Commit
1a2ec6670a516e4df233d9e596faa88d69bfdce1
by clementval[fir] Add fir.string_lit conversion
This patch adds the conversion pattern for the fir.string_lit operation.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D113992
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/test/Fir/convert-to-llvm.fir |
Commit
df0c2b917d720b677f8a20e60c5b0082be802928
by Louis Dionne[libc++] Adjust comment about ABI change and std::bad_function_call
|
 | libcxx/lib/abi/CHANGELOG.TXT |
Commit
aeb3c772d316ed71836bccf515517e769150e6a1
by llvm-dev[X86] Add shift by splat modulo amount vector tests
Shows failure to fold zero_extend_vector_inreg(and(x, c)) -> bitcast(and(x,c')) when we're only demanding the 0'th extended element, such as with the SSE variable shift ops.
|
 | llvm/test/CodeGen/X86/vector-shift-lshr-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-128.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-lshr-128.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-lshr-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-128.ll |
Commit
a45d2287adf7942a26be02193731701e61eda7b4
by Louis Dionne[libc++] Unspecified behavior randomization in libc++
This effort is dedicated to deflake the tests of the users which depend on the unspecified behavior of algorithms and containers. This also might help updating the sorting algorithm in libcxx which has the quadratic worst case in the future or at least create a new one under flag.
For detailed design, please see the design doc I provide in the patch.
Differential Revision: https://reviews.llvm.org/D96946
|
 | libcxx/include/__algorithm/partial_sort.h |
 | libcxx/test/libcxx/algorithms/partial_sort_stability.pass.cpp |
 | libcxx/include/__algorithm/shuffle.h |
 | libcxx/test/libcxx/algorithms/nth_element_stability.pass.cpp |
 | libcxx/docs/DesignDocs/UnspecifiedBehaviorRandomization.rst |
 | libcxx/include/__config |
 | libcxx/docs/index.rst |
 | libcxx/include/__algorithm/sort.h |
 | libcxx/include/__algorithm/nth_element.h |
 | libcxx/docs/ReleaseNotes.rst |
 | libcxx/include/__algorithm/comp_ref_type.h |
 | libcxx/docs/DesignDocs/DebugMode.rst |
 | libcxx/test/libcxx/algorithms/sort_stability.pass.cpp |
Commit
86d866f2f60227fcba61909a726249e1dee1cf88
by Louis Dionne[runtimes] Fix incorrect comment about the purpose of LLVM_DEFAULT_TARGET_TRIPLE
5beec6fb04e7 added LLVM_DEFAULT_TARGET_TRIPLE to the runtimes build with a comment, however I believe that comment had been copied from the LLVM build tree. In the context of the runtimes, LLVM_DEFAULT_TARGET_TRIPLE is used to set what targets we are building for, not the target for which we "generate code".
Differential Revision: https://reviews.llvm.org/D114007
|
 | runtimes/CMakeLists.txt |
Commit
7c3d19ab7bcb79636bd65ee55a0fefef224fcb25
by martin[runtimes] Fix building initial libunwind+libcxxabi+libcxx with compiler implied -lunwind
This does mostly the same as D112126, but for the runtimes cmake files. Most of that is straightforward, but the interdependency between libcxx and libunwind is tricky:
Libunwind is built at the same time as libcxx, but libunwind is not installed yet. LIBCXXABI_USE_LLVM_UNWINDER makes libcxx link directly against the just-built libunwind, but the compiler implicit -lunwind isn't found. This patch avoids that by adding --unwindlib=none if supported, if we are going to link explicitly against a newly built unwinder anyway.
Differential Revision: https://reviews.llvm.org/D113253
|
 | runtimes/CMakeLists.txt |
 | libcxx/CMakeLists.txt |
 | libcxx/cmake/config-ix.cmake |
Commit
913d78c40c37c9c3428285d868ce454b058e40f3
by eugenis[scudo] Regression test for the MTE crash in storeEndMarker.
The original problem was fixed in D105261.
Differential Revision: https://reviews.llvm.org/D114022
|
 | compiler-rt/lib/scudo/standalone/tests/combined_test.cpp |
Commit
4c2cf3a314d9131b1b288e7c8ab0c75ac1b2be1d
by Lawrence D'Anna[lldb] fix -print-script-interpreter-info on windows
Apparently "{sys.prefix}/bin/python3" isn't where you find the python interpreter on windows, so the test I wrote for -print-script-interpreter-info is failing.
We can't rely on sys.executable at runtime, because that will point to lldb.exe not python.exe.
We can't just record sys.executable from build time, because python could have been moved to a different location.
But it should be OK to apply relative path from sys.prefix to sys.executable from build-time to the sys.prefix at runtime.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D113650
|
 | lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt |
 | lldb/CMakeLists.txt |
 | lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp |
 | lldb/test/API/functionalities/paths/TestPaths.py |
 | lldb/bindings/python/get-python-config.py |
Commit
25bcd94234530955c58c6530a9271c813827637c
by leonardchan[llvm-objcopy] Add --update-section
This is another attempt at D59351 which attempted to add --update-section, but with some heuristics for adjusting segment/section offsets/sizes in the event the data copied into the section is larger than the original size of the section. We are opting to not support this case. GNU's objcopy was able to do this because the linker and objcopy are tightly coupled enough that segment reformatting was simpler. This is not the case with llvm-objcopy and lld where they like to be separated.
This will attempt to copy data into the section without changing any other properties of the parent segment (if the section is part of one).
Differential Revision: https://reviews.llvm.org/D112116
|
 | llvm/tools/llvm-objcopy/ConfigManager.cpp |
 | llvm/tools/llvm-objcopy/ObjcopyOpts.td |
 | llvm/tools/llvm-objcopy/ELF/Object.cpp |
 | llvm/tools/llvm-objcopy/CommonConfig.h |
 | llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp |
 | llvm/test/tools/llvm-objcopy/ELF/update-section.test |
 | llvm/tools/llvm-objcopy/ELF/Object.h |
Commit
39e9f5d3685f3cfca0df072928ad96d973704dff
by sivachandra[libc][NFC][Obvious] Fix the benchmarks after the switch to llvm/third-party
|
 | libc/benchmarks/LibcBenchmark.cpp |
Commit
ae389b2450bd604a3f3bbe5b09b333b2d99801dd
by Lawrence D'Anna[lldb] use EXT_SUFFIX for python extension
LLDB doesn't use only the python stable ABI, which means loading it into an incompatible python can cause the process to crash. _lldb.so should be named with the full EXT_SUFFIX from sysconfig -- such as _lldb.cpython-39-darwin.so -- so this doesn't happen.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D112972
|
 | lldb/CMakeLists.txt |
 | lldb/bindings/python/get-python-config.py |
 | lldb/bindings/python/CMakeLists.txt |
Commit
77898a4c0c8c6d2366909aee4e145b01c534162e
by Duncan P. N. Exon SmithCoverage: Fix iterated type for LineCoverageIterator
LineCoverageIterator is not providing access to a mutable object. Fix it to iterate over `const LineCoverageStats` so that `operator->()` compiles again after 6b9b86db9dd974585a5c71cf2e5231d1e3385f7c.
|
 | llvm/unittests/ProfileData/CoverageMappingTest.cpp |
 | llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h |
Commit
b75cc51df71d9415c8013917ab3302fc8870054d
by leonardchanLimit test to x86 for now.
|
 | llvm/test/tools/llvm-objcopy/ELF/update-section.test |
Commit
4e37e32563a0a3a69581a3d00d4dd5a7de91fe40
by david.green[ARM] Update test comments after D114018. NFC
The TODOs are now fixed as of D114018, so can be removed. Which is nice.
|
 | llvm/test/Transforms/HardwareLoops/ARM/structure.ll |
Commit
8b8e8704cebe2b989cd04938650945c77baf2e01
by benny.kra[PowerPC] Fix a nullptr dereference
LiMI1/LiMI2 can be null, so don't call a method on them before checking. Found by ubsan.
|
 | llvm/lib/Target/PowerPC/PPCMIPeephole.cpp |
Commit
86b3100cde841b2344327f8f628b8a09a4ac5b0c
by aaronpuchert[DebugInfo] Use DbgEntityKind in DbgEntity interface (NFC)
It was being used occasionally already, and using it on the constructor and getDbgEntityID has obvious type safety benefits.
Also use llvm_unreachable in the switch as usual, but since only these two values are used in constructor calls I think it's still NFC.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D113862
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h |
Commit
b20da5117fb66e7f9bcb56cb14af86dcafe2ee9a
by aaronpuchertDon't add irrelevant items to queue in DwarfCompileUnit::createScopeChildrenDIE (NFC)
Instead of popping them and then immediately throwing them away, we can just filter out globals and items in different scopes before adding them to WorkList. Shouldn't change anything but keep the queue smaller.
Reviewed By: aprantl
Differential Revision: https://reviews.llvm.org/D113864
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp |
Commit
068483978b37c23a81045b6410b10d06ead78029
by springerm[ADT] Add unit test for EquivalanceClasses comparator
This unit tests tests new functionality added by D112052.
Differential Revision: https://reviews.llvm.org/D113461
|
 | llvm/unittests/ADT/EquivalenceClassesTest.cpp |
Commit
a8e8e2d5a22636dba2f38d5eda7440a31933e8be
by thakis[gn build] (manually) port 1ee32055ea1d (benchmark move)
|
 | llvm/utils/gn/secondary/third-party/benchmark/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/utils/benchmark/BUILD.gn |
 | llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/benchmarks/BUILD.gn |
Commit
a0dc6001df20fcd92e8eb9e196d403859f1b5192
by thakis[gn build] (manually) port 1ee32055ea1d more (benchmark move)
The new benchmark dep apparently has more source files than the old one.
|
 | llvm/utils/gn/secondary/third-party/benchmark/BUILD.gn |
Commit
b715b79d54d5ca2d4e8c91089b8f6a9389d9dc48
by jinghamMake it possible for lldb to launch a remote binary with no local file.
We don't actually need a local copy of the main executable to debug a remote process. So instead of treating "no local module" as an error, see if the LaunchInfo has an executable it wants lldb to use, and if so use it. Then report whatever error the remote server returns.
Differential Revision: https://reviews.llvm.org/D113521
|
 | lldb/source/Commands/CommandObjectProcess.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/TestNoLocalFile.py |
 | lldb/source/Target/Process.cpp |
Commit
637a3396b3f8292d2118973b90eff314c553f6d2
by smeenai[MachO] Fix struct size assertion
It was checking for 64-bit builds incorrectly. Unfortunately, ConcatInputSection has grown a bit in the meantime, and I don't see any obvious way to shrink it. Perhaps icfEqClass could use 32-bit hashes instead of 64-bit ones, but xxHash64 is supposed to be much faster than xxHash32 (https://github.com/Cyan4973/xxHash#benchmarks), so that sounds like a loss. (Unrelatedly, we should really look at using XXH3 instead of xxHash64 now.)
Reviewed By: #lld-macho, int3
Differential Revision: https://reviews.llvm.org/D113809
|
 | lld/MachO/InputSection.h |
Commit
31952978970dcc3a2b91a0ac240d9ab06c06c856
by smeenai[MachO] Reduce size of Symbol and Defined
We can lay out Symbol more optimally to reduce its size from 56 bytes to 48 bytes by eliminating unnecessary padding, and we can lay out Defined such that its bitfield members are placed in the tail padding of Symbol (on ABIs which support this), to reduce it from 96 bytes to 80 bytes (8 bytes from the Symbol reduction, and 8 bytes from the tail padding reuse).
This is perf-neutral for an internal app (results from two different machines):
``` smol-syms baseline difference (95% CI) sys_time 7.430 ± 0.202 7.440 ± 0.193 [ -2.6% .. +2.9%] user_time 21.443 ± 0.513 21.206 ± 0.396 [ -3.3% .. +1.1%] wall_time 20.453 ± 0.534 20.222 ± 0.488 [ -3.7% .. +1.5%] samples 9 8
smol-syms baseline difference (95% CI) sys_time 3.011 ± 0.050 3.040 ± 0.052 [ -0.4% .. +2.3%] user_time 10.416 ± 0.075 10.496 ± 0.091 [ +0.1% .. +1.4%] wall_time 12.229 ± 0.144 12.354 ± 0.192 [ -0.1% .. +2.1%] samples 14 13 ```
However, on the first machine, it reduces maximum resident set size by 65.9 MB (0.8%, from 7.92 GB to 7.85 GB). On the second machine, it reduces it by 92 MB (1.4%, from 6.40 GB to 6.31 GB).
Reviewed By: #lld-macho, int3
Differential Revision: https://reviews.llvm.org/D113813
|
 | lld/MachO/Symbols.h |
 | lld/MachO/Symbols.cpp |
Commit
93bf271f27439d133616815266b50db4a294e118
by smeenai[MachO] Shrink reloc from 32 bytes to 24 bytes
The `r_address` field of `relocation_info` is only 4 bytes, so our offset field (which is the `r_address` field adjusted for subsection splitting) also only needs to be 4 bytes. This reduces the structure size from 32 bytes to 24 bytes.
Combined with https://reviews.llvm.org/D113813, this is a minor perf improvement for linking an internal app, tested on two machines:
``` smol-relocs baseline difference (95% CI) sys_time 7.367 ± 0.138 7.543 ± 0.157 [ +0.9% .. +3.8%] user_time 21.843 ± 0.351 21.861 ± 0.450 [ -1.3% .. +1.4%] wall_time 20.301 ± 0.307 20.556 ± 0.324 [ +0.1% .. +2.4%] samples 16 16
smol-relocs baseline difference (95% CI) sys_time 2.923 ± 0.050 2.992 ± 0.018 [ +1.4% .. +3.4%] user_time 10.345 ± 0.039 10.448 ± 0.023 [ +0.8% .. +1.2%] wall_time 12.068 ± 0.071 12.229 ± 0.021 [ +1.0% .. +1.7%] samples 15 12 ```
More importantly though, this change by itself reduces our maximum resident set size by 220 MB (2.75%, from 7.85 GB to 7.64 GB) on the first machine. On the second machine, it reduces it by 125 MB (1.94%, from 6.31 GB to 6.19 GB).
Reviewed By: #lld-macho, int3
Differential Revision: https://reviews.llvm.org/D113818
|
 | lld/MachO/InputFiles.cpp |
 | lld/MachO/Relocations.h |
Commit
b2fbd45d2395f1f6ef39db72b7156724fc101e40
by mtrofinRevert "Reland "[benchmarks] Move libcxx's fork of google/benchmark and llvm/utils'"""
This reverts commit 1ee32055ea1dd4db70d1939cbd4f5105c2dce160.
We hit additional bot failures; in particular, Fuchsia's seems to be related to how CMakeLists are ingested, see https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8830380874445931681/overview
|
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test3_run0.json |
 | llvm/utils/benchmark/cmake/CXXFeatureCheck.cmake |
 | third-party/benchmark/test/diagnostics_test.cc |
 | libcxx/utils/google-benchmark/.github/workflows/build-and-test-perfcounters.yml |
 | third-party/benchmark/test/benchmark_test.cc |
 | third-party/benchmark/test/user_counters_test.cc |
 | llvm/utils/benchmark/cmake/Modules/FindLLVMNm.cmake |
 | libcxx/utils/google-benchmark/WORKSPACE |
 | libcxx/utils/google-benchmark/src/reporter.cc |
 | libcxx/utils/google-benchmark/docs/random_interleaving.md |
 | libcxx/utils/google-benchmark/src/timers.h |
 | third-party/benchmark/test/options_test.cc |
 | libcxx/utils/google-benchmark/tools/gbench/__init__.py |
 | llvm/utils/benchmark/src/counter.h |
 | third-party/benchmark/test/output_test.h |
 | llvm/utils/benchmark/test/filter_test.cc |
 | third-party/benchmark/bindings/python/build_defs.bzl |
 | third-party/benchmark/include/benchmark/benchmark.h |
 | libcxx/utils/google-benchmark/docs/perf_counters.md |
 | libcxx/utils/google-benchmark/src/string_util.h |
 | llvm/utils/benchmark/src/string_util.h |
 | libcxx/utils/google-benchmark/.github/workflows/sanitizer.yml |
 | libcxx/utils/google-benchmark/cmake/thread_safety_attributes.cpp |
 | third-party/benchmark/src/counter.h |
 | libcxx/utils/google-benchmark/cmake/llvm-toolchain.cmake |
 | libcxx/utils/google-benchmark/src/benchmark_runner.h |
 | libcxx/utils/google-benchmark/AUTHORS |
 | libcxx/utils/google-benchmark/test/options_test.cc |
 | libcxx/utils/google-benchmark/dependencies.md |
 | third-party/benchmark/src/cycleclock.h |
 | third-party/benchmark/test/display_aggregates_only_test.cc |
 | libcxx/utils/google-benchmark/test/link_main_test.cc |
 | third-party/benchmark/test/basic_test.cc |
 | third-party/benchmark/src/benchmark_name.cc |
 | third-party/benchmark/tools/gbench/report.py |
 | libcxx/utils/google-benchmark/tools/gbench/report.py |
 | llvm/utils/benchmark/CONTRIBUTORS |
 | libcxx/utils/google-benchmark/test/donotoptimize_test.cc |
 | llvm/utils/benchmark/src/internal_macros.h |
 | third-party/benchmark/src/log.h |
 | third-party/benchmark/test/args_product_test.cc |
 | libcxx/utils/google-benchmark/test/output_test.h |
 | libcxx/utils/google-benchmark/src/thread_timer.h |
 | llvm/utils/benchmark/test/diagnostics_test.cc |
 | third-party/benchmark/tools/gbench/Inputs/test1_run2.json |
 | libcxx/utils/google-benchmark/test/benchmark_random_interleaving_gtest.cc |
 | llvm/utils/benchmark/AUTHORS |
 | llvm/utils/benchmark/cmake/split_list.cmake |
 | third-party/benchmark/src/benchmark_api_internal.h |
 | libcxx/utils/google-benchmark/test/CMakeLists.txt |
 | libcxx/utils/google-benchmark/.github/workflows/bazel.yml |
 | third-party/benchmark/test/perf_counters_test.cc |
 | libcxx/utils/google-benchmark/.clang-format |
 | third-party/benchmark/cmake/thread_safety_attributes.cpp |
 | third-party/benchmark/src/complexity.cc |
 | libcxx/utils/google-benchmark/src/complexity.cc |
 | llvm/utils/benchmark/test/basic_test.cc |
 | third-party/benchmark/test/benchmark_random_interleaving_gtest.cc |
 | llvm/utils/benchmark/src/thread_manager.h |
 | llvm/utils/benchmark/src/benchmark.cc |
 | third-party/benchmark/tools/requirements.txt |
 | llvm/utils/benchmark/WORKSPACE |
 | libcxx/utils/google-benchmark/src/sleep.cc |
 | third-party/benchmark/bindings/python/python_headers.BUILD |
 | libcxx/utils/google-benchmark/src/benchmark_api_internal.h |
 | third-party/benchmark/docs/tools.md |
 | third-party/benchmark/test/benchmark_name_gtest.cc |
 | third-party/benchmark/test/filter_test.cc |
 | llvm/utils/benchmark/test/benchmark_gtest.cc |
 | llvm/utils/benchmark/test/donotoptimize_assembly_test.cc |
 | third-party/benchmark/cmake/GoogleTest.cmake |
 | libcxx/utils/google-benchmark/test/AssemblyTests.cmake |
 | libcxx/utils/google-benchmark/test/benchmark_test.cc |
 | libcxx/utils/google-benchmark/cmake/CXXFeatureCheck.cmake |
 | libcxx/utils/google-benchmark/src/benchmark_main.cc |
 | libcxx/utils/google-benchmark/src/counter.h |
 | third-party/benchmark/src/perf_counters.cc |
 | libcxx/utils/google-benchmark/README.md |
 | third-party/benchmark/bindings/python/BUILD |
 | third-party/benchmark/LICENSE |
 | libcxx/utils/google-benchmark/cmake/split_list.cmake |
 | third-party/benchmark/test/templated_fixture_test.cc |
 | third-party/benchmark/src/thread_timer.h |
 | libcxx/utils/google-benchmark/tools/gbench/util.py |
 | libcxx/utils/google-benchmark/.ycm_extra_conf.py |
 | llvm/utils/benchmark/test/multiple_ranges_test.cc |
 | llvm/utils/benchmark/cmake/gnu_posix_regex.cpp |
 | runtimes/CMakeLists.txt |
 | third-party/benchmark/test/commandlineflags_gtest.cc |
 | third-party/benchmark/src/check.h |
 | libcxx/utils/google-benchmark/src/complexity.h |
 | libcxx/utils/google-benchmark/.github/.libcxx-setup.sh |
 | llvm/utils/benchmark/src/mutex.h |
 | libcxx/utils/google-benchmark/docs/AssemblyTests.md |
 | third-party/benchmark/test/clobber_memory_assembly_test.cc |
 | libcxx/utils/google-benchmark/test/args_product_test.cc |
 | libcxx/utils/google-benchmark/CMakeLists.txt |
 | llvm/utils/benchmark/src/complexity.h |
 | third-party/benchmark/test/donotoptimize_test.cc |
 | llvm/utils/benchmark/cmake/benchmark.pc.in |
 | third-party/benchmark/appveyor.yml |
 | third-party/benchmark/dependencies.md |
 | llvm/utils/benchmark/include/benchmark/benchmark.h |
 | libcxx/utils/google-benchmark/src/mutex.h |
 | libcxx/utils/google-benchmark/test/complexity_test.cc |
 | llvm/utils/benchmark/cmake/posix_regex.cpp |
 | llvm/utils/benchmark/src/check.h |
 | llvm/utils/benchmark/test/donotoptimize_test.cc |
 | third-party/benchmark/bindings/python/google_benchmark/example.py |
 | libcxx/utils/google-benchmark/src/perf_counters.cc |
 | third-party/benchmark/bindings/python/google_benchmark/BUILD |
 | llvm/utils/benchmark/test/output_test_helper.cc |
 | libcxx/utils/google-benchmark/src/arraysize.h |
 | third-party/benchmark/src/console_reporter.cc |
 | third-party/benchmark/cmake/benchmark.pc.in |
 | llvm/utils/benchmark/tools/gbench/Inputs/test1_run2.json |
 | libcxx/utils/google-benchmark/src/csv_reporter.cc |
 | llvm/utils/benchmark/test/complexity_test.cc |
 | libcxx/utils/google-benchmark/test/clobber_memory_assembly_test.cc |
 | libcxx/utils/google-benchmark/cmake/std_regex.cpp |
 | third-party/benchmark/src/commandlineflags.h |
 | third-party/benchmark/src/thread_manager.h |
 | llvm/utils/benchmark/src/csv_reporter.cc |
 | libcxx/utils/google-benchmark/.github/workflows/pylint.yml |
 | libcxx/utils/google-benchmark/requirements.txt |
 | libcxx/utils/google-benchmark/cmake/gnu_posix_regex.cpp |
 | libcxx/utils/google-benchmark/bindings/python/BUILD |
 | llvm/utils/benchmark/cmake/Modules/FindLLVMAr.cmake |
 | libcxx/utils/google-benchmark/test/map_test.cc |
 | llvm/utils/benchmark/cmake/AddCXXCompilerFlag.cmake |
 | third-party/benchmark/test/reporter_output_test.cc |
 | llvm/utils/benchmark/src/timers.h |
 | llvm/utils/benchmark/tools/compare.py |
 | llvm/utils/benchmark/src/log.h |
 | third-party/benchmark/test/skip_with_error_test.cc |
 | third-party/benchmark/src/sysinfo.cc |
 | third-party/benchmark/cmake/llvm-toolchain.cmake |
 | llvm/CMakeLists.txt |
 | libcxx/utils/google-benchmark/src/check.h |
 | libcxx/utils/google-benchmark/test/user_counters_thousands_test.cc |
 | third-party/benchmark/src/benchmark_register.h |
 | libcxx/utils/google-benchmark/.gitignore |
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test1_run1.json |
 | llvm/utils/benchmark/test/user_counters_tabular_test.cc |
 | libcxx/utils/google-benchmark/.github/ISSUE_TEMPLATE/bug_report.md |
 | third-party/benchmark/docs/_config.yml |
 | libcxx/utils/google-benchmark/docs/tools.md |
 | third-party/benchmark/cmake/split_list.cmake |
 | third-party/benchmark/src/timers.h |
 | libcxx/utils/google-benchmark/test/internal_threading_test.cc |
 | llvm/utils/benchmark/src/commandlineflags.h |
 | third-party/benchmark/CONTRIBUTORS |
 | libcxx/utils/google-benchmark/src/benchmark.cc |
 | libcxx/utils/google-benchmark/.travis.yml |
 | llvm/utils/benchmark/src/statistics.h |
 | third-party/benchmark/bindings/python/google_benchmark/__init__.py |
 | llvm/utils/benchmark/cmake/steady_clock.cpp |
 | libcxx/utils/google-benchmark/src/CMakeLists.txt |
 | third-party/benchmark/src/statistics.h |
 | libcxx/utils/google-benchmark/test/cxx03_test.cc |
 | libcxx/utils/google-benchmark/test/display_aggregates_only_test.cc |
 | llvm/utils/benchmark/src/sysinfo.cc |
 | third-party/benchmark/CMakeLists.txt |
 | llvm/utils/benchmark/cmake/HandleGTest.cmake |
 | llvm/utils/benchmark/test/reporter_output_test.cc |
 | third-party/benchmark/src/benchmark_api_internal.cc |
 | third-party/benchmark/test/string_util_gtest.cc |
 | llvm/utils/benchmark/cmake/Config.cmake.in |
 | llvm/utils/benchmark/tools/strip_asm.py |
 | third-party/benchmark/tools/gbench/Inputs/test3_run1.json |
 | libcxx/utils/google-benchmark/cmake/GetGitVersion.cmake |
 | llvm/utils/benchmark/tools/gbench/__init__.py |
 | libcxx/utils/google-benchmark/bindings/python/requirements.txt |
 | libcxx/utils/google-benchmark/src/colorprint.h |
 | libcxx/utils/google-benchmark/src/counter.cc |
 | third-party/benchmark/src/perf_counters.h |
 | llvm/utils/benchmark/test/statistics_gtest.cc |
 | third-party/benchmark/test/internal_threading_test.cc |
 | third-party/benchmark/cmake/Config.cmake.in |
 | libcxx/utils/google-benchmark/src/sleep.h |
 | llvm/utils/benchmark/src/benchmark_register.cc |
 | libcxx/utils/google-benchmark/test/benchmark_gtest.cc |
 | llvm/utils/benchmark/cmake/GetGitVersion.cmake |
 | llvm/utils/benchmark/cmake/std_regex.cpp |
 | libcxx/utils/google-benchmark/docs/releasing.md |
 | llvm/utils/benchmark/test/cxx03_test.cc |
 | libcxx/utils/google-benchmark/docs/_config.yml |
 | libcxx/utils/google-benchmark/src/benchmark_api_internal.cc |
 | third-party/benchmark/src/csv_reporter.cc |
 | third-party/benchmark/bindings/python/google_benchmark/benchmark.cc |
 | libcxx/utils/google-benchmark/CONTRIBUTING.md |
 | third-party/benchmark/src/timers.cc |
 | libcxx/utils/google-benchmark/bindings/python/google_benchmark/BUILD |
 | libcxx/utils/google-benchmark/cmake/GoogleTest.cmake.in |
 | libcxx/utils/google-benchmark/src/benchmark_runner.cc |
 | third-party/benchmark/test/CMakeLists.txt |
 | third-party/benchmark/cmake/AddCXXCompilerFlag.cmake |
 | third-party/benchmark/tools/BUILD.bazel |
 | llvm/utils/benchmark/docs/tools.md |
 | libcxx/utils/google-benchmark/test/user_counters_tabular_test.cc |
 | llvm/utils/benchmark/test/state_assembly_test.cc |
 | llvm/utils/benchmark/src/string_util.cc |
 | llvm/utils/benchmark/tools/gbench/report.py |
 | libcxx/utils/google-benchmark/src/re.h |
 | third-party/benchmark/src/sleep.h |
 | third-party/benchmark/docs/random_interleaving.md |
 | llvm/utils/benchmark/src/sleep.cc |
 | libcxx/utils/google-benchmark/bindings/python/google_benchmark/example.py |
 | libcxx/utils/google-benchmark/CONTRIBUTORS |
 | libcxx/utils/google-benchmark/src/cycleclock.h |
 | libcxx/utils/google-benchmark/.github/ISSUE_TEMPLATE/feature_request.md |
 | llvm/utils/benchmark/cmake/Modules/FindLLVMRanLib.cmake |
 | third-party/benchmark/test/cxx03_test.cc |
 | llvm/utils/benchmark/src/counter.cc |
 | third-party/benchmark/src/benchmark.cc |
 | third-party/benchmark/src/benchmark_main.cc |
 | libcxx/utils/google-benchmark/test/skip_with_error_test.cc |
 | libcxx/utils/google-benchmark/bindings/python/pybind11.BUILD |
 | third-party/benchmark/cmake/gnu_posix_regex.cpp |
 | third-party/benchmark/test/map_test.cc |
 | third-party/benchmark/test/fixture_test.cc |
 | llvm/utils/benchmark/test/fixture_test.cc |
 | libcxx/utils/google-benchmark/test/repetitions_test.cc |
 | third-party/benchmark/test/state_assembly_test.cc |
 | third-party/benchmark/src/reporter.cc |
 | libcxx/utils/google-benchmark/tools/BUILD.bazel |
 | llvm/utils/benchmark/test/output_test.h |
 | third-party/benchmark/cmake/GoogleTest.cmake.in |
 | llvm/utils/benchmark/test/CMakeLists.txt |
 | third-party/benchmark/cmake/posix_regex.cpp |
 | third-party/benchmark/WORKSPACE |
 | llvm/utils/benchmark/tools/gbench/Inputs/test1_run1.json |
 | third-party/benchmark/tools/gbench/__init__.py |
 | third-party/benchmark/src/benchmark_runner.cc |
 | libcxx/utils/google-benchmark/test/output_test_helper.cc |
 | libcxx/utils/google-benchmark/src/statistics.cc |
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test4_run.json |
 | libcxx/utils/google-benchmark/appveyor.yml |
 | llvm/utils/benchmark/src/colorprint.cc |
 | llvm/utils/benchmark/cmake/llvm-toolchain.cmake |
 | third-party/benchmark/requirements.txt |
 | llvm/utils/benchmark/src/sleep.h |
 | third-party/benchmark/src/complexity.h |
 | third-party/benchmark/src/statistics.cc |
 | third-party/benchmark/docs/AssemblyTests.md |
 | llvm/utils/benchmark/src/thread_timer.h |
 | libcxx/utils/google-benchmark/.github/workflows/build-and-test.yml |
 | third-party/benchmark/bindings/python/pybind11.BUILD |
 | llvm/utils/benchmark/test/templated_fixture_test.cc |
 | libcxx/utils/google-benchmark/test/state_assembly_test.cc |
 | llvm/utils/benchmark/test/map_test.cc |
 | third-party/benchmark/test/output_test_helper.cc |
 | llvm/utils/benchmark/src/benchmark_register.h |
 | libcxx/utils/google-benchmark/_config.yml |
 | llvm/utils/benchmark/src/reporter.cc |
 | libcxx/utils/google-benchmark/bindings/python/build_defs.bzl |
 | libcxx/utils/google-benchmark/test/register_benchmark_test.cc |
 | libcxx/utils/google-benchmark/src/benchmark_register.cc |
 | libcxx/utils/google-benchmark/test/benchmark_name_gtest.cc |
 | llvm/utils/benchmark/src/cycleclock.h |
 | third-party/benchmark/src/benchmark_runner.h |
 | third-party/benchmark/tools/gbench/Inputs/test3_run0.json |
 | third-party/benchmark/tools/gbench/Inputs/test1_run1.json |
 | libcxx/utils/google-benchmark/setup.py |
 | third-party/benchmark/test/benchmark_gtest.cc |
 | libcxx/utils/google-benchmark/src/json_reporter.cc |
 | libcxx/utils/google-benchmark/bindings/python/google_benchmark/__init__.py |
 | llvm/utils/benchmark/test/AssemblyTests.cmake |
 | llvm/utils/benchmark/test/options_test.cc |
 | libcxx/utils/google-benchmark/src/internal_macros.h |
 | libcxx/utils/google-benchmark/src/perf_counters.h |
 | libcxx/utils/google-benchmark/test/filter_test.cc |
 | third-party/benchmark/test/perf_counters_gtest.cc |
 | libcxx/utils/google-benchmark/tools/strip_asm.py |
 | libcxx/utils/google-benchmark/test/perf_counters_gtest.cc |
 | libcxx/utils/google-benchmark/src/thread_manager.h |
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test1_run2.json |
 | libcxx/utils/google-benchmark/test/memory_manager_test.cc |
 | third-party/benchmark/tools/gbench/util.py |
 | libcxx/utils/google-benchmark/BUILD.bazel |
 | libcxx/utils/google-benchmark/cmake/posix_regex.cpp |
 | third-party/benchmark/test/BUILD |
 | libcxx/utils/google-benchmark/src/colorprint.cc |
 | llvm/utils/benchmark/test/skip_with_error_test.cc |
 | llvm/utils/benchmark/test/user_counters_test.cc |
 | libcxx/utils/google-benchmark/test/fixture_test.cc |
 | llvm/utils/benchmark/src/benchmark_main.cc |
 | libcxx/utils/google-benchmark/src/benchmark_register.h |
 | third-party/benchmark/BUILD.bazel |
 | third-party/benchmark/src/colorprint.cc |
 | third-party/benchmark/test/statistics_gtest.cc |
 | llvm/utils/benchmark/tools/gbench/util.py |
 | libcxx/utils/google-benchmark/src/log.h |
 | third-party/benchmark/src/string_util.cc |
 | libcxx/utils/google-benchmark/test/report_aggregates_only_test.cc |
 | third-party/benchmark/src/sleep.cc |
 | llvm/utils/benchmark/releasing.md |
 | llvm/utils/benchmark/src/colorprint.h |
 | third-party/benchmark/bindings/python/requirements.txt |
 | third-party/benchmark/test/donotoptimize_assembly_test.cc |
 | libcxx/utils/google-benchmark/.github/workflows/test_bindings.yml |
 | third-party/benchmark/test/multiple_ranges_test.cc |
 | third-party/benchmark/src/json_reporter.cc |
 | libcxx/utils/google-benchmark/test/perf_counters_test.cc |
 | llvm/utils/benchmark/test/link_main_test.cc |
 | third-party/benchmark/src/mutex.h |
 | third-party/benchmark/test/AssemblyTests.cmake |
 | llvm/utils/benchmark/appveyor.yml |
 | third-party/benchmark/tools/gbench/Inputs/test2_run.json |
 | llvm/utils/benchmark/LICENSE |
 | libc/benchmarks/CMakeLists.txt |
 | libcxx/utils/google-benchmark/test/donotoptimize_assembly_test.cc |
 | libcxx/utils/google-benchmark/test/string_util_gtest.cc |
 | libcxx/utils/google-benchmark/test/basic_test.cc |
 | libcxx/utils/google-benchmark/tools/requirements.txt |
 | llvm/utils/benchmark/test/benchmark_test.cc |
 | llvm/utils/benchmark/cmake/thread_safety_attributes.cpp |
 | libcxx/utils/google-benchmark/cmake/AddCXXCompilerFlag.cmake |
 | llvm/utils/benchmark/tools/gbench/Inputs/test2_run.json |
 | libcxx/utils/google-benchmark/src/benchmark_name.cc |
 | libcxx/utils/google-benchmark/src/console_reporter.cc |
 | third-party/benchmark/src/counter.cc |
 | llvm/utils/benchmark/README.LLVM |
 | third-party/benchmark/cmake/steady_clock.cpp |
 | llvm/utils/benchmark/src/CMakeLists.txt |
 | llvm/utils/benchmark/src/benchmark_api_internal.h |
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test2_run.json |
 | third-party/benchmark/docs/releasing.md |
 | libcxx/utils/google-benchmark/src/statistics.h |
 | libcxx/utils/google-benchmark/test/multiple_ranges_test.cc |
 | third-party/benchmark/test/report_aggregates_only_test.cc |
 | libcxx/utils/google-benchmark/tools/compare.py |
 | libcxx/utils/google-benchmark/test/statistics_gtest.cc |
 | third-party/benchmark/src/CMakeLists.txt |
 | third-party/benchmark/src/colorprint.h |
 | third-party/benchmark/tools/gbench/Inputs/test4_run.json |
 | llvm/utils/benchmark/src/statistics.cc |
 | libcxx/utils/google-benchmark/src/string_util.cc |
 | libcxx/utils/google-benchmark/LICENSE |
 | third-party/benchmark/tools/strip_asm.py |
 | llvm/utils/benchmark/mingw.py |
 | libcxx/utils/google-benchmark/cmake/GoogleTest.cmake |
 | llvm/utils/benchmark/src/arraysize.h |
 | libcxx/utils/google-benchmark/test/BUILD |
 | third-party/benchmark/src/commandlineflags.cc |
 | llvm/utils/benchmark/src/complexity.cc |
 | third-party/benchmark/src/arraysize.h |
 | libcxx/utils/google-benchmark/test/reporter_output_test.cc |
 | libcxx/utils/google-benchmark/tools/gbench/Inputs/test3_run1.json |
 | llvm/utils/benchmark/src/json_reporter.cc |
 | llvm/utils/benchmark/src/re.h |
 | llvm/utils/benchmark/CMakeLists.txt |
 | libcxx/utils/google-benchmark/test/diagnostics_test.cc |
 | libcxx/benchmarks/CMakeLists.txt |
 | third-party/benchmark/cmake/std_regex.cpp |
 | third-party/benchmark/cmake/GetGitVersion.cmake |
 | third-party/benchmark/test/repetitions_test.cc |
 | third-party/benchmark/CONTRIBUTING.md |
 | third-party/benchmark/test/complexity_test.cc |
 | third-party/benchmark/docs/perf_counters.md |
 | third-party/benchmark/tools/compare.py |
 | llvm/utils/benchmark/src/console_reporter.cc |
 | third-party/benchmark/_config.yml |
 | third-party/benchmark/README.md |
 | third-party/benchmark/test/register_benchmark_test.cc |
 | llvm/utils/benchmark/CONTRIBUTING.md |
 | llvm/utils/benchmark/src/timers.cc |
 | third-party/benchmark/cmake/CXXFeatureCheck.cmake |
 | third-party/benchmark/setup.py |
 | third-party/benchmark/test/user_counters_tabular_test.cc |
 | libcxx/utils/google-benchmark/src/commandlineflags.cc |
 | libcxx/utils/google-benchmark/cmake/Config.cmake.in |
 | libcxx/utils/google-benchmark/src/sysinfo.cc |
 | libcxx/utils/google-benchmark/cmake/benchmark.pc.in |
 | third-party/benchmark/test/user_counters_thousands_test.cc |
 | llvm/utils/benchmark/test/register_benchmark_test.cc |
 | libcxx/utils/google-benchmark/src/commandlineflags.h |
 | third-party/benchmark/test/memory_manager_test.cc |
 | llvm/utils/benchmark/docs/AssemblyTests.md |
 | third-party/benchmark/src/string_util.h |
 | third-party/benchmark/test/link_main_test.cc |
 | third-party/benchmark/src/re.h |
 | libcxx/utils/google-benchmark/test/templated_fixture_test.cc |
 | llvm/utils/benchmark/README.md |
 | llvm/utils/benchmark/test/clobber_memory_assembly_test.cc |
 | third-party/benchmark/AUTHORS |
 | libcxx/utils/google-benchmark/include/benchmark/benchmark.h |
 | third-party/benchmark/src/benchmark_register.cc |
 | libcxx/utils/google-benchmark/cmake/steady_clock.cpp |
 | libcxx/utils/google-benchmark/test/commandlineflags_gtest.cc |
 | libcxx/utils/google-benchmark/bindings/python/python_headers.BUILD |
 | third-party/benchmark/src/internal_macros.h |
 | libcxx/utils/google-benchmark/src/timers.cc |
 | libcxx/utils/google-benchmark/test/user_counters_test.cc |
 | llvm/utils/benchmark/src/commandlineflags.cc |
 | libcxx/utils/google-benchmark/bindings/python/google_benchmark/benchmark.cc |
Commit
47f76bb0f478f8c5c1c0d8e8ba374b995b1dccde
by jeffniu22[mlir][lsp] Use ResultGroupDefinition struct
This struct was added and was intended to be used, but it was missed in the original patch.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D114041
|
 | mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp |
 | mlir/include/mlir/Parser/AsmParserState.h |
 | mlir/lib/Parser/AsmParserState.cpp |
Commit
dd5505a8f2c75a903ec944b6e46aed2042610673
by jinghamRevert "Make it possible for lldb to launch a remote binary with no local file."
The reworking of the gdb client tests into the PlatformClientTestBase broke the test for this. I did the mutatis mutandis for the move, but the test still fails. Reverting till I have time to figure out why.
This reverts commit b715b79d54d5ca2d4e8c91089b8f6a9389d9dc48.
|
 | lldb/source/Commands/CommandObjectProcess.cpp |
 | lldb/source/Target/Process.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/TestNoLocalFile.py |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
Commit
00e11fdf09f194bfcd22c9150ddea56a5456498e
by gcmn[Bazel] Ignore both old and new benchmark directories
This is getting reverted and relanded a lot, breaking the build each time.
Differential Revision: https://reviews.llvm.org/D114043
|
 | utils/bazel/llvm-project-overlay/.bazelignore |
Commit
67de95b8c9556a1c2e715a0b1d4cec709f37055f
by mtrofinRevert "[libc][NFC][Obvious] Fix the benchmarks after the switch to llvm/third-party"
This reverts commit 39e9f5d3685f3cfca0df072928ad96d973704dff.
Reverting, as we needed to re-revert the benchmarks move because it was causing a build failure in the Fuchsia bots due to the way they consume libcxx's CMakeLists. I want to make sure I understand where the fix should be for that. After that, I'll incorporate the change here in the re-reland.
|
 | libc/benchmarks/LibcBenchmark.cpp |
Commit
209dadf2693220a0998d19ada617b09eaab42c24
by jeffniu22[mlir] Fix formatting in Ops.td files (NFC)
MemRefOps.td has some inconsistencies in its formatting of argument lists.
|
 | mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td |
 | mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td |
Commit
34d15eaced9db0a9769a7cdb1899ffa534b6ed44
by vyng[lld-macho][nfc] Sanity check on template type
Differential Revision: https://reviews.llvm.org/D114044
|
 | lld/MachO/InputFiles.cpp |
Commit
bbccf4992219222c5b905e9965ec26b35e2c6af8
by thakisRevert "[gn build] (manually) port 1ee32055ea1d (benchmark move)"
1ee32055ea1d was reverted in 67de95b8c955.
This reverts commit a8e8e2d5a22636dba2f38d5eda7440a31933e8be and follow-up a0dc6001df20fcd92e8eb9e196d403859f1b5192
|
 | llvm/utils/gn/secondary/third-party/benchmark/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/utils/benchmark/BUILD.gn |
 | llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/benchmarks/BUILD.gn |
Commit
01510ac08474a6c4beae033794b71b6b5ab1e89d
by smeenai[MachO] Move type size asserts to source files. NFC
As discussed in https://reviews.llvm.org/D113809#3128636. It's a bit unfortunate to move the asserts away from the structs whose sizes they're checking, but it's a far better developer experience when one of the asserts is violated, because you get a single error instead of every single source file including the header erroring out.
|
 | lld/MachO/Relocations.cpp |
 | lld/MachO/Symbols.h |
 | lld/MachO/Symbols.cpp |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/InputSection.h |
 | lld/MachO/Relocations.h |
Commit
d00256bac07e56fe7ccac2b16fb4e52267616e8e
by Duncan P. N. Exon SmithADT: Adding a key_type definition to MapVector
The key_type type definition for map containers is useful in some generic, template-based programming scenarios. The addition of key_type to MapVector is consistent with other map types like DenseMap.
Differential Revision: https://reviews.llvm.org/D113242
|
 | llvm/include/llvm/ADT/MapVector.h |
Commit
82fc4cc60bec6d0eacad7e8575f404dcdf5144c5
by Vitaly Buka[scudo] Handle mallinfo2
mallinfo is deprecated by GLIBC
Reviewed By: cryptoad
Differential Revision: https://reviews.llvm.org/D113951
|
 | compiler-rt/lib/scudo/standalone/wrappers_c.h |
 | compiler-rt/lib/scudo/standalone/wrappers_c.inc |
 | compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp |
Commit
73c9cf820409834b134a8c8c8039efe4113845d9
by freddy.ye[X86][FP16] add alias for f*mul_*ch intrinsics
*_mul_*ch is to align with *_mul_*s, *_mul_*d and *_mul_*h.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D112777
|
 | clang/lib/Headers/avx512fp16intrin.h |
 | clang/test/CodeGen/X86/avx512vlfp16-builtins.c |
 | clang/test/CodeGen/X86/avx512fp16-builtins.c |
 | clang/lib/Headers/avx512vlfp16intrin.h |
Commit
d2124bfccf5982f5fa0f9b2c2253fc0bb65beb4c
by llvm-project[flang] Remove default argument from function template specialization. NFC.
Patch D113697 added default function arguments to template specializations of `ConvertToBinary`.
According to https://en.cppreference.com/w/cpp/language/template_specialization this not allowed: > Default function arguments cannot be specified in explicit specializations of function templates, member function templates, and member functions of class templates when the class is implicitly instantiated.
It happens to compile with gcc, clang and msvc 14.30 (Visual Studio 2022), but not msvc 14.29 (Visual Studio 2020). Even for the compilers that syntactically accept it, the default argument will never be used (only the default argument of the template declaration). From https://en.cppreference.com/w/cpp/language/function_template > Note that only non-template and primary template overloads participate in overload resolution.
That is, the explicit function template specialization is not added to the overload candidate set. Only after all the parameter types are known, are the explicit specializations chosen, at which point the default function argument is ignored.
Also see D85657.
Reviewed By: klausler
Differential Revision: https://reviews.llvm.org/D114032
|
 | flang/include/flang/Decimal/decimal.h |
Commit
663693f3f792083a7a4a64180d2ddc87e8b609e3
by mtrofin[libc] Fix incorrect revert of 1ee3205
The revert, b2fbd45d2395f1f6ef39db72b7156724fc101e40, incorrectly re-introduced a few lines removed in 7c3d19ab7bcb79636bd65ee55a0fefef224fcb25
|
 | runtimes/CMakeLists.txt |
Commit
f5ca3ac748af2c88736212d7dbc105d99ac721c1
by martin[libcxx] [ci] Add CI configurations for MinGW
Mention support for MinGW in the docs. Rename the existing windows CI jobs to Clang-cl, as both Clang-cl and MinGW are equally much "Windows", just different toolchain environments.
Add an XFAIL for a recently added test that fails in the MinGW DLL configuration (with an explanation of what's causing the failure).
Differential Revision: https://reviews.llvm.org/D112215
|
 | libcxx/utils/ci/buildkite-pipeline.yml |
 | libcxx/cmake/caches/MinGW.cmake |
 | libcxx/docs/index.rst |
 | libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp |
 | libcxx/utils/ci/run-buildbot |
Commit
9f0b5f9a39ea6e70c98c69a720d7e4f5d3800bf6
by georgiev[lldb/test] Added lldbutil function to test a breakpoint
Testing the breakpoint itself rather than the lldb string.
Differential Revision: https://reviews.llvm.org/D111899
|
 | lldb/test/API/lang/cpp/inlines/TestInlines.py |
 | lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py |
 | lldb/test/API/functionalities/memory/find/TestMemoryFind.py |
 | lldb/test/API/lang/c/forward/TestForwardDeclaration.py |
 | lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py |
 | lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py |
 | lldb/test/API/lang/cpp/class_types/TestClassTypes.py |
 | lldb/test/API/lang/c/register_variables/TestRegisterVariables.py |
 | lldb/test/API/lang/c/anonymous/TestAnonymous.py |
 | lldb/test/API/lang/c/set_values/TestSetValues.py |
 | lldb/test/API/lang/c/function_types/TestFunctionTypes.py |
 | lldb/test/API/lang/c/shared_lib/TestSharedLib.py |
 | lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py |
 | lldb/test/API/functionalities/dead-strip/TestDeadStrip.py |
 | lldb/test/API/lang/c/array_types/TestArrayTypes.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py |
 | lldb/test/API/lang/objc/real-definition/TestRealDefinition.py |
 | lldb/test/API/functionalities/load_unload/TestLoadUnload.py |
 | lldb/test/API/lang/c/enum_types/TestEnumTypes.py |
 | lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py |
 | lldb/test/API/lang/c/local_variables/TestLocalVariables.py |
 | lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py |
 | lldb/test/API/lang/c/global_variables/TestGlobalVariables.py |
 | lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py |
 | lldb/test/API/lang/c/modules/TestCModules.py |
 | lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py |
 | lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py |
 | lldb/test/API/lang/objc/modules/TestObjCModules.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py |
 | lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py |
 | lldb/test/API/functionalities/memory/cache/TestMemoryCache.py |
 | lldb/test/API/functionalities/memory/read/TestMemoryRead.py |
 | lldb/test/API/lang/cpp/namespace_definitions/TestNamespaceDefinitions.py |
 | lldb/test/API/lang/c/const_variables/TestConstVariables.py |
 | lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py |
 | lldb/packages/Python/lldbsuite/test/lldbutil.py |
 | lldb/test/API/commands/command/nested_alias/TestNestedAlias.py |
 | lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py |
Commit
f7eb061a5f1ee8e357cb8a735f789719415eba66
by sander.desmalen[SelectionDAG] Make WidenVecRes_SELECT work for scalable vectors
This change make WidenVecRes_SELECT work for scalable vectors.
This patch is split from [D110319](https://reviews.llvm.org/D110319)
Signed-off-by: Eric Tang <tangxingxin1008@gmail.com>
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D110388
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/test/CodeGen/RISCV/rvv/vselect-int-rv32.ll |
 | llvm/test/CodeGen/AArch64/sve-select.ll |
 | llvm/test/CodeGen/RISCV/rvv/vselect-int-rv64.ll |
 | llvm/test/CodeGen/AArch64/sve-pred-log.ll |
Commit
23b194bf18a5d580ee2e84a7be4887ca6fcfe257
by lebedev.ri[X86][Costmodel] `trunc v32i16 to v64i1` can appear after legalization, cost is same as for `trunc v32i16 to v32i1`
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113913
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/trunc.ll |
 | llvm/test/Analysis/CostModel/X86/min-legal-vector-width.ll |
Commit
2037ec725ff243cef1aa9472df54341fd9324203
by lebedev.ri[X86][Costmodel] `*ext v64i1 to v32i16` can appear after legalization, cost is same as for `*ext v32i1 to v32i16`
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D113914
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/extend.ll |
Commit
496ccb543e21de1bbce0a7fba08ec712619034e6
by lebedev.ri[NFC][X86][Costmodel] Improve test coverage for i32->i64 vector *ext
|
 | llvm/test/Analysis/CostModel/X86/extend.ll |
Commit
c74f2e5b27687913b3c4d592dd044ade005804f0
by Stanislav.Mekhanoshin[InstCombine] Use SpecificBinaryOp_match in two more places
Differential Revision: https://reviews.llvm.org/D114038
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
Commit
13744e3d73970b391f70d69d2af7bfb481a889e7
by gchatelet[libc][benchmark] add memmove to size distribution, also update other distributions
Differential Revision: https://reviews.llvm.org/D113260
|
 | libc/benchmarks/distributions/MemcmpGoogleD.csv |
 | libc/benchmarks/distributions/MemcmpGoogleL.csv |
 | libc/benchmarks/distributions/MemcmpGoogleQ.csv |
 | libc/benchmarks/distributions/MemmoveGoogleL.csv |
 | libc/benchmarks/distributions/MemsetGoogleW.csv |
 | libc/benchmarks/distributions/MemmoveGoogleU.csv |
 | libc/benchmarks/distributions/MemsetGoogleQ.csv |
 | libc/benchmarks/MemorySizeDistributions.h |
 | libc/benchmarks/distributions/MemcmpGoogleS.csv |
 | libc/benchmarks/distributions/MemcpyGoogleQ.csv |
 | libc/benchmarks/distributions/MemmoveGoogleA.csv |
 | libc/benchmarks/distributions/MemcpyGoogleA.csv |
 | libc/benchmarks/distributions/MemmoveGoogleB.csv |
 | libc/benchmarks/distributions/MemcmpGoogleU.csv |
 | libc/benchmarks/distributions/MemsetGoogleL.csv |
 | libc/benchmarks/distributions/MemcmpGoogleA.csv |
 | libc/benchmarks/MemorySizeDistributions.cpp |
 | libc/benchmarks/distributions/MemmoveGoogleS.csv |
 | libc/benchmarks/distributions/MemcmpGoogleB.csv |
 | libc/benchmarks/distributions/MemmoveGoogleD.csv |
 | libc/benchmarks/distributions/MemcpyGoogleD.csv |
 | libc/benchmarks/distributions/MemmoveGoogleW.csv |
 | libc/benchmarks/distributions/MemcmpGoogleM.csv |
 | libc/benchmarks/distributions/MemmoveGoogleQ.csv |
 | libc/benchmarks/distributions/MemsetGoogleA.csv |
 | libc/benchmarks/distributions/MemsetGoogleS.csv |
 | libc/benchmarks/distributions/MemcpyGoogleW.csv |
 | libc/benchmarks/distributions/MemsetGoogleM.csv |
 | libc/benchmarks/distributions/MemsetGoogleU.csv |
 | libc/benchmarks/distributions/MemcpyGoogleL.csv |
 | libc/benchmarks/distributions/MemsetGoogleD.csv |
 | libc/benchmarks/distributions/MemcpyGoogleM.csv |
 | libc/benchmarks/distributions/MemcmpGoogleW.csv |
 | libc/benchmarks/distributions/MemcpyGoogleU.csv |
 | libc/benchmarks/distributions/MemmoveGoogleM.csv |
 | libc/benchmarks/distributions/MemcpyGoogleS.csv |
 | libc/benchmarks/distributions/MemcpyGoogleB.csv |
 | libc/benchmarks/distributions/MemsetGoogleB.csv |
Commit
1ed5a90f70eb04997a27026dfc2d9cae1d8cfa75
by clementval[fir] Add conversion patterns for slice, shape, shapeshift and shift ops
The information in these perations is used by other operation. At this point they should not have anymore uses.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D113971
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/test/Fir/convert-to-llvm-invalid.fir |
 | flang/test/Fir/convert-to-llvm.fir |
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
Commit
3264e95938ac01c2991697cdebf492d771914a97
by jay.foad[CodeGen] Update LiveIntervals in TargetInstrInfo::convertToThreeAddress
Delegate updating of LiveIntervals to each target's convertToThreeAddress implementation, instead of repairing LiveIntervals after the fact in TwoAddressInstruction::convertInstTo3Addr.
Differential Revision: https://reviews.llvm.org/D113493
|
 | llvm/lib/CodeGen/TwoAddressInstructionPass.cpp |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.h |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp |
 | llvm/lib/Target/ARM/ARMBaseInstrInfo.h |
 | llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp |
 | llvm/lib/Target/X86/X86InstrInfo.h |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/lib/Target/SystemZ/SystemZInstrInfo.h |
 | llvm/include/llvm/CodeGen/TargetInstrInfo.h |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.h |
 | llvm/lib/Target/X86/X86FixupLEAs.cpp |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
Commit
4be705d6e5630899f6dac5d7e02a83c59beab9a7
by jay.foad[RISCV] Add extra -early-live-intervals test coverage
Add test coverage for a problem that was fixed by D113493: when updating live intervals, fix handling of live ranges that were previously tied to an early-clobber def but no longer are.
|
 | llvm/test/CodeGen/RISCV/rvv/vwadd.w-rv32.ll |
 | llvm/test/CodeGen/RISCV/rvv/vwadd.w-rv64.ll |
Commit
ca18fcc2c0645e3b76992da9e49a6fad2fc8ebb4
by david.sherwood[IR] Change CreateStepVector to work with element types smaller than i8
Currently the stepvector intrinsic only supports element types that are integers of size 8 bits or more. This patch adds support for the creation of stepvectors with smaller element types by creating the intrinsic with i8 elements that we then truncate to the requested size.
It's not currently possible to write a vectoriser test to exercise this code path so I have added a unit test here:
llvm/unittests/IR/IRBuilderTest.cpp
Differential Revision: https://reviews.llvm.org/D113767
|
 | llvm/unittests/IR/IRBuilderTest.cpp |
 | llvm/lib/IR/IRBuilder.cpp |
Commit
efbe9ae23f05aeaca667b925a1efbe12094d0987
by martinRevert "[runtimes] Fix building initial libunwind+libcxxabi+libcxx with compiler implied -lunwind"
This reverts commit 7c3d19ab7bcb79636bd65ee55a0fefef224fcb25.
This commit was reported as causing build problems for the amdgpu buildbot in https://reviews.llvm.org/D113253#3137097.
|
 | libcxx/cmake/config-ix.cmake |
 | libcxx/CMakeLists.txt |
 | runtimes/CMakeLists.txt |
Commit
9574da8f51c82aa437c3b968251225932cc970a5
by georgiev[lldb/test] TestRegisterVariables test fix
|
 | lldb/test/API/lang/c/register_variables/TestRegisterVariables.py |
Commit
e8b55cf7b70a695d158d3e172d1124e36d81a8fc
by flo[SCEV] Apply loop guards when computing max BTC for arbitrary steps.
Similar other cases in the current function (e.g. when the step is 1 or -1), applying loop guards can lead to tighter upper bounds for the backedge-taken counts.
Fixes PR52464.
Reviewed By: reames, nikic
Differential Revision: https://reviews.llvm.org/D113578
|
 | llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
e38ef2ff711ca1aa68c541e973e68fbbb8efc575
by clementval[fir] Add fir.box_tdesc conversion
This patch adds the conversion pattern for `fir.box_tdes`.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D113931
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/test/Fir/convert-to-llvm.fir |
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
Commit
7b39ae513cd2043025588e4adece157b3f46dfb3
by flo[Thumb2] Regenerate test impacted by e8b55cf7b70a695d158d.
|
 | llvm/test/CodeGen/Thumb2/mve-blockplacement.ll |
Commit
1dc0e47cb96a45fe8ca1576c603b0f8258b0e40b
by jeremy.morse[DebugInfo][NFC] Force some tests to not use instruction-referencing
There are various tests that need to be adjusted to test the right thing with instruction referencing -- usually because the internal representation of variables is different, sometimes that location lists change. This patch makes a bunch of tests explicitly not use instruction referencing, so that a check-llvm test with instruction referencing on for x86_64 doesn't fail. I'll then convert the tests to have instr-ref CHECK lines, and similar.
Differential Revision: https://reviews.llvm.org/D113194
|
 | llvm/test/DebugInfo/X86/dbg-addr-dse.ll |
 | llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll |
 | llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll |
 | llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll |
 | llvm/test/DebugInfo/X86/sdag-salvage-add.ll |
 | llvm/test/DebugInfo/X86/live-debug-values.ll |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir |
 | llvm/test/DebugInfo/X86/pieces-4.ll |
 | llvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll |
 | llvm/test/DebugInfo/X86/sdagsplit-1.ll |
 | llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll |
 | llvm/test/CodeGen/X86/debug-loclists.ll |
 | llvm/test/DebugInfo/COFF/types-array-advanced.ll |
 | llvm/test/tools/llvm-locstats/locstats.ll |
 | llvm/test/DebugInfo/X86/dbg-value-funcarg3.ll |
 | llvm/test/DebugInfo/MIR/X86/backup-entry-values-usage.mir |
 | llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-3.ll |
 | llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-join.mir |
 | llvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir |
 | llvm/test/DebugInfo/COFF/pieces.ll |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir |
 | llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir |
 | llvm/test/DebugInfo/X86/op_deref.ll |
 | llvm/test/DebugInfo/X86/live-debug-values-remove-range.ll |
 | llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll |
 | llvm/test/DebugInfo/X86/stack-value-dwarf2.ll |
 | llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir |
 | llvm/test/DebugInfo/X86/fission-ranges.ll |
 | llvm/test/DebugInfo/X86/sdag-combine.ll |
 | llvm/test/DebugInfo/Generic/linear-dbg-value.ll |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-restore-collide.mir |
 | llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir |
 | llvm/test/DebugInfo/X86/pr34545.ll |
 | llvm/test/DebugInfo/X86/dbg-value-funcarg2.ll |
 | llvm/test/DebugInfo/X86/constant-loclist.ll |
 | llvm/test/DebugInfo/X86/live-debug-vars-discard-invalid.mir |
 | llvm/test/DebugInfo/MIR/X86/kill-after-spill.mir |
 | llvm/test/CodeGen/MIR/X86/diexpr-win32.mir |
 | llvm/test/DebugInfo/X86/float_const_loclist.ll |
 | llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll |
 | llvm/test/DebugInfo/X86/pr40427.ll |
 | llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir |
 | llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-cutoffs.mir |
 | llvm/test/DebugInfo/X86/sdag-transfer-dbgvalue.ll |
 | llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-movements.mir |
 | llvm/test/DebugInfo/X86/pieces-3.ll |
 | llvm/test/DebugInfo/X86/dbg-addr.ll |
 | llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll |
 | llvm/test/DebugInfo/COFF/fp-stack.ll |
 | llvm/test/DebugInfo/X86/sdag-ir-salvage.ll |
 | llvm/test/DebugInfo/COFF/register-variables.ll |
 | llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-clobber.mir |
 | llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-5.ll |
 | llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir |
 | llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll |
 | llvm/test/DebugInfo/X86/spill-nontrivial-param.ll |
 | llvm/test/DebugInfo/COFF/fpo-stack-protect.ll |
 | llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir |
 | llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll |
 | llvm/test/DebugInfo/X86/spill-nospill.ll |
 | llvm/test/DebugInfo/MIR/X86/dvl-livedebugvalues-spillrestore.mir |
 | llvm/test/CodeGen/X86/dbg-value-superreg-copy.mir |
 | llvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-4.ll |
 | llvm/test/DebugInfo/X86/live-debug-variables.ll |
 | llvm/test/DebugInfo/X86/sdag-split-arg.ll |
 | llvm/test/DebugInfo/MIR/X86/live-debug-values-bad-transfer.mir |
 | llvm/test/DebugInfo/X86/dbg-value-funcarg.ll |
 | llvm/test/DebugInfo/X86/instr-ref-selectiondag.ll |
 | llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll |
Commit
670dd402441fdda4779fd59604a8b9b526efd7e6
by david.sherwood[Analysis] Fix getNumberOfParts to return 0 when the answer is unknown
When asking how many parts are required for a scalable vector type there are occasions when it cannot be computed. For example, <vscale x 1 x i3> is one such vector for AArch64+SVE because at the moment no matter how we promote the i3 type we never end up with a legal vector. This means that getTypeConversion returns TypeScalarizeScalableVector as the LegalizeKind, and then getTypeLegalizationCost returns an invalid cost. This then causes BasicTTImpl::getNumberOfParts to dereference an invalid cost, which triggers an assert. This patch changes getNumberOfParts to return 0 for such cases, since the definition of getNumberOfParts in TargetTransformInfo.h states that we can use a return value of 0 to represent an unknown answer.
Currently, LoopVectorize.cpp is the only place where we need to check for 0 as a return value, because all other instances will not currently ask for the number of parts for <vscale x 1 x iX> types.
In addition, I have changed the target-independent interface for getNumberOfParts to return 1 and assume there is a single register that can fit the type. The loop vectoriser has lots of tests that are target-independent and they relied upon the 0 value to mean the answer is known and that we are not scalarising the vector.
I have added tests here that show we correctly return an invalid cost for VF=vscale x 1 when the loop contains unusual types such as i7:
Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
Differential Revision: https://reviews.llvm.org/D113772
|
 | llvm/include/llvm/CodeGen/BasicTTIImpl.h |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll |
Commit
964536cf04e29ebc125cdb44484e2c2cd8e0bd9b
by clementval[fir] !fir.tdesc type conversion
Add !fir.tdesc type conversion. !fir.tdesc is converted to a llvm.ptr<i8>.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D113769
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/TypeConverter.h |
 | flang/test/Fir/types-to-llvm.fir |
Commit
5fedbd5b181523541331eee3008467a39f0334cb
by llvm-dev[DAG] SimplifyDemandedVectorElts - zero_extend_vector_inreg(and(x,c)) -> and(x,c')
If we've only demanded the 0'th element, and it comes from a (one-use) AND, try to convert the zero_extend_vector_inreg into a mask and constant fold it with the AND.
|
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-512.ll |
 | llvm/test/CodeGen/X86/vector-fshr-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-256.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/X86/vector-shift-lshr-512.ll |
 | llvm/test/CodeGen/X86/vector-fshl-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-shift-lshr-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-256.ll |
 | llvm/test/CodeGen/X86/vector-shift-ashr-128.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-512.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-128.ll |
 | llvm/test/CodeGen/X86/vector-shift-shl-512.ll |
Commit
aeedbd39a34deed30ca80acfa64ee2d8d1716c78
by jay.foad[AMDGPU] Generate test checks for mad_64_32.ll
Differential Revision: https://reviews.llvm.org/D113985
|
 | llvm/test/CodeGen/AMDGPU/mad_64_32.ll |
Commit
8d77555b1234a2620238125328160dbe88a5e487
by david.sherwood[Analysis] Ensure getTypeLegalizationCost returns a simple VT for TypeScalarizeScalableVector
When getTypeConversion returns TypeScalarizeScalableVector we were sometimes returning a non-simple type from getTypeLegalizationCost. However, many callers depend upon this being a simple type and will crash if not. This patch changes getTypeLegalizationCost to ensure that we always a return sensible simple VT. If the vector type contains unusual integer types, e.g. <vscale x 2 x i3>, then we just set the type to MVT::i64 as a reasonable default.
A test has been added here that demonstrates the vectoriser can correctly calculate the cost of vectorising a "zext i3 to i64" instruction with a VF=vscale x 1:
Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
Differential Revision: https://reviews.llvm.org/D113777
|
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
Commit
3874277f415dca0bb222956983f117a6211c0e39
by aaronImprove docs & test for #pragma clang attribute's any clause; NFC
There was some confusion during the discussion of a patch as to whether `any` can be used to blast an attribute with no subject list onto basically everything in a program by not specifying a subrule. This patch adds documentation and tests to make it clear that this situation is not supported and will be diagnosed.
|
 | clang/docs/LanguageExtensions.rst |
 | clang/test/Parser/pragma-attribute.cpp |
Commit
db6bc2ab51371f69569c25514c20c3786398a032
by Mirko.Brkusanin[AMDGPU][GlobalISel] Fold G_FNEG above when users cannot fold mods
If possible fold fneg into instruction above if users cannot fold mods and we know it will decrease instruction count. Follows same logic as SDAG combiner in choosing opportunities to combine.
Differential Revision: https://reviews.llvm.org/D112827
|
 | llvm/lib/Target/AMDGPU/AMDGPUCombine.td |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/combine-foldable-fneg.mir |
 | llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn |
 | llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp |
 | llvm/lib/Target/AMDGPU/CMakeLists.txt |
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
 | llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
Commit
f2d402e58b90eb2ee747ed96a2f7c5e7667023bd
by Mirko.Brkusanin[NFC][AMDGPU][GlobalISel] Fix some legalizer tests
Instructions being tested were accidentally left dead.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-frint.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-trunc.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fceil.mir |
Commit
2b4948448f03104b4b957860dd8c019d0b9df2f0
by yitzhakmAdd a clang-transformer tutorial
Differential Revision: https://reviews.llvm.org/D114011
|
 | clang/docs/ClangTransformerTutorial.rst |
 | clang/docs/index.rst |
Commit
a7c57c4ec8100523e200ed1f608e1efbfd43a2f6
by dvyukovtsan: don't consider debug calls as calls
Tsan pass does 2 optimizations based on presence of calls: 1. Don't emit function entry/exit callbacks if there are no calls and no memory accesses. 2. Combine read/write of the same variable if there are no intervening calls. However, all debug info is represented as CallInst as well and thus effectively disables these optimizations. Don't consider debug info calls as calls.
Reviewed By: glider, melver
Differential Revision: https://reviews.llvm.org/D114079
|
 | llvm/test/Instrumentation/ThreadSanitizer/debug_calls.ll |
 | llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp |
Commit
033b94ab52992ec9c450d86f418f3791a8d8901c
by dvyukovlsan: remove pthread_detach/join interceptors
They don't seem to do anything useful in lsan. They are needed only if a tools needs to execute some custom logic during detach/join, or if it uses thread registry quarantine. Lsan does none of this. And if a tool cares then it would also need to intercept pthread_tryjoin_np and pthread_timedjoin_np, otherwise it will mess thread states. Fwiw, asan does not intercept these functions either.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D113920
|
 | compiler-rt/lib/lsan/lsan_posix.cpp |
 | compiler-rt/lib/lsan/lsan_thread.h |
 | compiler-rt/lib/lsan/lsan_interceptors.cpp |
 | compiler-rt/lib/lsan/lsan_thread.cpp |
 | compiler-rt/lib/lsan/lsan_fuchsia.cpp |
 | compiler-rt/lib/lsan/lsan_mac.cpp |
Commit
d1f72f02d00d3bc6cf5e7f77d26f21c25682064c
by dvyukovmemprof: don't use thread user_id
memprof does not use user_id for anything, so don't pass it to ThreadCreate. Passing a random field of MemprofThread as user_id does not make much sense anyway.
Depends on D113920.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D113921
|
 | compiler-rt/lib/memprof/memprof_thread.cpp |
Commit
bdabf3c38a2efcbe1b5d28a262cb1b96a08a3156
by dvyukovasan: don't use thread user_id
asan does not use user_id for anything, so don't pass it to ThreadCreate. Passing a random uninitialized field of AsanThread as user_id does not make much sense anyway.
Depends on D113921.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D113922
|
 | compiler-rt/lib/asan/asan_fuchsia.cpp |
 | compiler-rt/lib/asan/asan_thread.cpp |
Commit
4ea066acc928d772c2a610024b7f0656b36e6afd
by hokein.wu[clangd] Fix assertion crashes on unmatched NOLINTBEGIN comments.
The overload shouldSuppressDiagnostic seems unnecessary, and it is only used in clangd.
This patch removes it and use the real one (suppression diagnostics are discarded in clangd at the moment).
Fixes https://github.com/clangd/clangd/issues/929
Differential Revision: https://reviews.llvm.org/D113999
|
 | clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp |
 | clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h |
 | clang-tools-extra/clangd/ParsedAST.cpp |
Commit
ec4a2c956591e97904eae5102022f343dadfb8f1
by kuhnel[NFC][clangd] cleanup llvm-else-after-return findings
Cleanup of clang-tidy findings: removing "else" after a return statement to improve readability of the code.
This patch was created by applying the clang-tidy fixes automatically.
Differential Revision: https://reviews.llvm.org/D113892
|
 | clang-tools-extra/clangd/TUScheduler.cpp |
 | clang-tools-extra/clangd/Hover.cpp |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/JSONTransport.cpp |
 | clang-tools-extra/clangd/Protocol.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp |
 | clang-tools-extra/clangd/FuzzyMatch.cpp |
 | clang-tools-extra/clangd/PathMapping.cpp |
 | clang-tools-extra/clangd/Selection.cpp |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/index/Serialization.cpp |
 | clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp |
Commit
8924ba3bf8c6b0e8d14dff455e4e449a426a2700
by zarko[NFC][clang] Inclusive terms: replace uses of blacklist in clang/test/
Replace filenames, variable names, check prefixes uses of blacklist with ignore list.
Reviewed By: jkorous
Differential Revision: https://reviews.llvm.org/D113211
|
 | clang/test/CodeGen/ubsan-ignorelist-vfs.c |
 | clang/test/CodeGen/catch-alignment-assumption-ignorelist.c |
 | clang/test/CodeGen/catch-implicit-integer-sign-changes-true-negatives.c |
 | clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c |
 | clang/test/CodeGen/ubsan-blacklist.c |
 | clang/test/CodeGen/catch-nullptr-and-nonzero-offset-ignorelist.c |
 | clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c |
 | clang/test/CodeGen/cfi-check-fail2.c |
 | clang/test/CodeGen/catch-implicit-integer-truncations.c |
 | clang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml |
 | clang/test/CodeGen/asan-globals.cpp |
 | clang/test/CodeGen/catch-alignment-assumption-blacklist.c |
 | clang/test/CodeGenCXX/catch-implicit-integer-sign-changes-true-negatives.cpp |
 | clang/test/CodeGen/address-safety-attr.cpp |
 | clang/test/CodeGenCXX/cfi-blacklist.cpp |
 | clang/test/CodeGen/sanitize-thread-attr.cpp |
 | clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c |
 | clang/test/CodeGen/catch-nullptr-and-nonzero-offset-blacklist.c |
 | clang/test/CodeGen/ubsan-ignorelist.c |
 | clang/test/CodeGen/Inputs/sanitizer-ignorelist-vfsoverlay.yaml |
 | clang/test/CodeGenCXX/cfi-ignorelist.cpp |
Commit
35ff3a0095d5b2dafa2fc8dd762377342aef9c50
by balazs.benics[analyzer][NFC] Make the API of CallDescription safer slightly
The new //deleted// constructor overload makes sure that no implicit conversion from `0` would happen to `ArrayRef<const char*>`.
Also adds nodiscard to the `CallDescriptionMap::lookup()`
|
 | clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h |
Commit
ddf2d62c7dddf1e4a9012d96819ff1ed005fbb05
by nicolas.vasilache[mlir][Vector] First step for 0D vector type
There seems to be a consensus that we should allow 0D vectors: https://llvm.discourse.group/t/should-we-have-0-d-vectors/3097
This commit is only the first step: it changes the verifier and the parser to allow vectors like `vector<f32>` (but does not allow explicit 0 dimensions, i.e., `vector<0xf32>` is not allowed).
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D114086
|
 | mlir/test/IR/parser.mlir |
 | mlir/lib/IR/BuiltinTypes.cpp |
 | mlir/test/IR/invalid.mlir |
 | mlir/include/mlir/IR/BuiltinTypes.td |
 | mlir/lib/Parser/TypeParser.cpp |
Commit
392da6428dba1885b888654c7365198de73661ba
by gchatelet[libc] Fix documentation typo
|
 | libc/src/string/memory_utils/elements.h |
Commit
5ee5acf7d94c9e83dd0917fb5f4bd52a27ae18bd
by gchatelet[libc] Fix missing restricts
|
 | libc/src/string/memory_utils/elements_x86.h |
Commit
649d95371680cbf7f740c990c0357372c2bd4058
by gchatelet[libc] Use more consistent if defined syntax
|
 | libc/test/src/string/memory_utils/elements_test.cpp |
Commit
76313f8ec9fc79e68eb1880b16c111a5cbfa60a9
by quinn.pham[NFC][gn build] Inclusive language: replace master with main in sync_source_lists_from_cmake.py
[NFC] As part of using inclusive language within the llvm project and to match the renamed master branch, this patch replaces master with main in sync_source_lists_from_cmake.py.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D113926
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
ea23cc7120af81f52c50e1008127501da5ca63f3
by Louis Dionne[libc++abi] Don't re-define _LIBCPP_HAS_NO_THREADS in single-threaded mode
Libc++ already defines the macro inside its __config_site header, so libc++abi doesn't need to do it. Doing it just leads to -Wmacro-redefined warnings when building libc++abi.
|
 | libcxxabi/CMakeLists.txt |
Commit
c0f87e83820b73610e9352a46f0c386d6aa91767
by Louis Dionne[libc++] Remove _LIBCPP_HAS_NO_SPACESHIP_OPERATOR
All supported compilers support spaceship in C++20 nowadays.
Differential Revision: https://reviews.llvm.org/D113938
|
 | libcxx/include/__compare/three_way_comparable.h |
 | libcxx/include/__compare/common_comparison_category.h |
 | libcxx/include/__coroutine/coroutine_handle.h |
 | libcxx/include/__ranges/transform_view.h |
 | libcxx/include/__compare/ordering.h |
 | libcxx/include/__config |
 | libcxx/include/__compare/compare_three_way.h |
 | libcxx/include/__compare/synth_three_way.h |
 | libcxx/include/tuple |
 | libcxx/include/__utility/pair.h |
 | libcxx/include/compare |
Commit
9b2b54983765abd365f6e43428c6a2697c8e4c03
by martin[OpenMP] Silence build warnings when built with MinGW
There's an attempt to upstream this change in https://github.com/intel/ittapi/pull/25 too.
Differential Revision: https://reviews.llvm.org/D114069
|
 | openmp/runtime/src/thirdparty/ittnotify/disable_warnings.h |
Commit
f1c159cc908d23a381500c68ccabcd84bb6355c8
by kazu[Format, Sema] Use range-based for loops with llvm::reverse (NFC)
|
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/lib/Sema/SemaInit.cpp |
 | clang/lib/Format/TokenAnnotator.cpp |
 | clang/lib/Sema/AnalysisBasedWarnings.cpp |
 | clang/lib/Format/FormatTokenLexer.cpp |
Commit
2e7f12d5e9f998dcce62dd4a2e93a7a10dfc2515
by a.bataev[SLP][NFC]Add a test for multiple alternate nodes with cost estimation, NFC.
|
 | llvm/test/Transforms/SLPVectorizer/X86/remark_alternate.ll |
Commit
e3e25b51122573c12c30f25b1b3a1b556fca237b
by aeubanks[NewPM] Add option to prevent rerunning function pipeline on functions in CGSCC adaptor
In a CGSCC pass manager, we may visit the same function multiple times due to SCC mutations. In the inliner pipeline, this results in running the function simplification pipeline on a function multiple times even if it hasn't been changed since the last function simplification pipeline run.
We use a newly introduced analysis to keep track of whether or not a function has changed since the last time the function simplification pipeline has run on it. If we see this analysis available for a function in a CGSCCToFunctionPassAdaptor, we skip running the function passes on the function. The analysis is queried at the end of the function passes so that it's available after the first time the function simplification pipeline runs on a function. This is a per-adaptor option so it doesn't apply to every adaptor.
The goal of this is to improve compile times. However, currently we can't turn this on by default at least for the higher optimization levels since the function simplification pipeline is not robust enough to be idempotent in many cases, resulting in performance regressions if we stop running the function simplification pipeline on a function multiple times. We may be able to turn this on for -O1 in the near future, but turning this on for higher optimization levels would require more investment in the function simplification pipeline.
Heavily inspired by D98103.
Example compile time improvements with flag turned on: https://llvm-compile-time-tracker.com/compare.php?from=998dc4a5d3491d2ae8cbe742d2e13bc1b0cacc5f&to=5c27c913687d3d5559ef3ab42b5a3d513531d61c&stat=instructions
Reviewed By: asbirlea, nikic
Differential Revision: https://reviews.llvm.org/D113947
|
 | llvm/lib/Passes/PassRegistry.def |
 | llvm/test/Other/no-rerun-function-simplification-pipeline.ll |
 | llvm/lib/Transforms/IPO/Inliner.cpp |
 | llvm/lib/Analysis/CGSCCPassManager.cpp |
 | llvm/include/llvm/Analysis/CGSCCPassManager.h |
 | llvm/lib/Passes/PassBuilderPipelines.cpp |
 | llvm/include/llvm/Transforms/IPO/Inliner.h |
Commit
e1ef14069efb6e28bc575cf7ddb2e328f57e9194
by aeubanks[gn build] Add missed comma
|
 | llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn |
Commit
394d6fcf3eb98f99045df506e587ac7cbf15e7a4
by jperier[flang] Check ArrayRef base for contiguity in IsSimplyContiguousHelper
Previous code was returning true for `x(:)` where x is a pointer without the contiguous attribute. In case the array ref is a whole array section, check the base for contiguity to solve the issue.
Differential Revision: https://reviews.llvm.org/D114084
|
 | flang/lib/Evaluate/check-expression.cpp |
 | flang/test/Semantics/assign03.f90 |
Commit
f07ddbc620a0466ebbb41ccbc78f20a8591bed5a
by Lawrence D'Anna[lldb] build failure for LLDB_PYTHON_EXE_RELATIVE_PATH on greendragon
see: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/38387/console
``` Could not find a relative path to sys.executable under sys.prefix tried: /usr/local/opt/python/bin/python3.7 tried: /usr/local/opt/python/bin/../Frameworks/Python.framework/Versions/3.7/bin/python3.7 sys.prefix: /usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7 ```
It was unable to find LLDB_PYTHON_EXE_RELATIVE_PATH because it was not resolving the real path of sys.prefix.
caused by: https://reviews.llvm.org/D113650
|
 | lldb/bindings/python/get-python-config.py |
Commit
5273773580f631f853ca43586d9912c000b473d4
by blangmuir[JITLink] Allow duplicate symbol names for locals
Local symbols can have the same name. I ran into this with JITLink while working with an object file that had been run through `strip -S` that had many "func.eh" symbols, but it can also happen using `ld -r`.
rdar://85352156
Differential Revision: https://reviews.llvm.org/D114042
|
 | llvm/test/ExecutionEngine/JITLink/X86/MachO-duplicate-local.test |
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
Commit
1e9fa0b12a7619add4a259f80315f984b5f7e2ce
by jinlFix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction.
This is the diff associated with {D95267}, and we need to mark $x0 as live whether or not $x0 is dead.
The compiler also needs to mark register $x0 as live in for the following case.
``` $x1 = ADDXri $sp, 16, 0 BL @spam, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit killed $x1, implicit-def $sp, implicit-def $x0 ```
This change fixes an issue where the wrong registers were used when -machine-outliner-reruns>0. As an example:
``` lang=c typedef struct { double v1; double v2; } D16;
typedef struct { D16 v1; D16 v2; } D32;
typedef long long LL8; typedef struct { long long v1; long long v2; } LL16; typedef struct { LL16 v1; LL16 v2; } LL32;
typedef struct { LL32 v1; LL32 v2; } LL64;
LL8 needx0(LL8 v0, LL8 v1);
void bar(LL64 v1, LL32 v2, LL16 v3, LL32 v4, LL8 v5, D16 v6, D16 v7, D16 v8);
LL8 foo(LL8 v0, LL64 v1, LL32 v2, LL16 v3, LL32 v4, LL8 v5, D16 v6, D16 v7, D16 v8) { LL8 result = needx0(v0, 0); bar(v1, v2, v3, v4, v5, v6, v7, v8); return result + 1; } ```
As you can see from the `foo` function, we should not modify the value of `x0` until we call `needx0`. This code is compiled to give the following instruction MIR code.
``` $sp = frame-setup SUBXri $sp, 256, 0 frame-setup STPDi killed $d13, killed $d12, $sp, 16 frame-setup STPDi killed $d11, killed $d10, $sp, 18 frame-setup STPDi killed $d9, killed $d8, $sp, 20
frame-setup STPXi killed $x26, killed $x25, $sp, 22 frame-setup STPXi killed $x24, killed $x23, $sp, 24 frame-setup STPXi killed $x22, killed $x21, $sp, 26 frame-setup STPXi killed $x20, killed $x19, $sp, 28 ... $x1 = MOVZXi 0, 0 BL @needx0, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit $x1, implicit-def $sp, implicit-def $x0 ... ```
Since there are some other instruction sequences that duplicate `foo`, after the first execution of Machine Outliner you will get: ``` $sp = frame-setup SUBXri $sp, 256, 0 frame-setup STPDi killed $d13, killed $d12, $sp, 16 frame-setup STPDi killed $d11, killed $d10, $sp, 18 frame-setup STPDi killed $d9, killed $d8, $sp, 20
$x7 = ORRXrs $xzr, $lr, 0 BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit $sp, implicit $xzr, implicit $x7, implicit $x19, implicit $x20, implicit $x21, implicit $x22, implicit $x23, implicit $x24, implicit $x25, implicit $x26 $lr = ORRXrs $xzr, $x7, 0 ... BL @OUTLINED_FUNCTION_1, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $sp, implicit-def $x0, implicit-def $x1, implicit $sp ... ```
For the first time we outlined the following sequence: ``` frame-setup STPXi killed $x26, killed $x25, $sp, 22 frame-setup STPXi killed $x24, killed $x23, $sp, 24 frame-setup STPXi killed $x22, killed $x21, $sp, 26 frame-setup STPXi killed $x20, killed $x19, $sp, 28 ``` and ``` $x1 = MOVZXi 0, 0 BL @needx0, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit $x1, implicit-def $sp, implicit-def $x0 ```
When we execute the outline again, we will get: ``` $x0 = ORRXrs $xzr, $lr, 0 <---- here BL @OUTLINED_FUNCTION_2_0, implicit-def $lr, implicit $sp, implicit-def $sp, implicit-def $lr, implicit $sp, implicit $xzr, implicit $d8, implicit $d9, implicit $d10, implicit $d11, implicit $d12, implicit $d13, implicit $x0 $lr = ORRXrs $xzr, $x0, 0
$x7 = ORRXrs $xzr, $lr, 0 BL @OUTLINED_FUNCTION_0, implicit-def $lr, implicit $sp, implicit-def $lr, implicit $sp, implicit $xzr, implicit $x7, implicit $x19, implicit $x20, implicit $x21, implicit $x22, implicit $x23, implicit $x24, implicit $x25, implicit $x26 $lr = ORRXrs $xzr, $x7, 0 ... BL @OUTLINED_FUNCTION_1, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $sp, implicit-def $x0, implicit-def $x1, implicit $sp ```
When calling `OUTLINED_FUNCTION_2_0`, we used `x0` to save the `lr` register. The reason for the above error appears to be that: ``` BL @OUTLINED_FUNCTION_1, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $sp, implicit-def $x0, implicit-def $x1, implicit $sp ``` should be: ``` BL @OUTLINED_FUNCTION_1, implicit-def $lr, implicit $sp, implicit-def $lr, implicit-def $sp, implicit-def $x0, implicit-def $x1, implicit $sp, implicit $x0 ```
When processing the same instruction with both `implicit-def $x0` and `implicit $x0` we should keep `implicit $x0`. A reproducible demo is available at: [https://github.com/DianQK/reproduce_outlined_function_use_live_x0](https://github.com/DianQK/reproduce_outlined_function_use_live_x0).
Reviewed By: jinlin
Differential Revision: https://reviews.llvm.org/D112911
|
 | llvm/test/CodeGen/AArch64/machine-outliner-side-effect-2.mir |
 | llvm/lib/CodeGen/MachineOutliner.cpp |
 | llvm/test/CodeGen/AArch64/machine-outliner-side-effect.mir |
Commit
78d60094c741ef96927424ad92d4ffcf4b025531
by pklausler[flang] Deal with negative character lengths in semantics
Fortran defines LEN(X) = 0 after CHARACTER(LEN=-1)::X so apply MAX(0, ...) to character length expressions.
Differential Revision: https://reviews.llvm.org/D114030
|
 | flang/include/flang/Evaluate/tools.h |
 | flang/lib/Semantics/runtime-type-info.cpp |
 | flang/lib/Evaluate/variable.cpp |
Commit
693b02023e997f3733b63ae316891509894d344a
by keithbsmiley[llvm-objdump/mac] Add support for new load commands
Differential Revision: https://reviews.llvm.org/D113733
|
 | llvm/test/tools/llvm-objdump/MachO/chained-fixups.yaml |
 | llvm/tools/llvm-objdump/MachODump.cpp |
Commit
e76e5729896c4a62f1f5ccbf784a59de96f74cbd
by kadircet[clangd] Dont include file version in task name
This will drop file version information from span names, reducing overall cardinality and also effect logging when skipping actions in scheduler.
Differential Revision: https://reviews.llvm.org/D113390
|
 | clang-tools-extra/clangd/TUScheduler.cpp |
Commit
103cc914d63371212fdc81e450572ee096952211
by thakis[x86/asm] Make variants work when converting at&t inline asm input to intel asm output
`asm` always has AT&T-style input (`asm inteldialect` has Intel-style asm input), so EmitGCCInlineAsmStr() always has to pick the same variant since it cares about the input asm string, not the output asm string.
For PowerPC, that default variant is 1. For other targets, it's 0.
Without this, the included test case errors out with
error: unknown use of instruction mnemonic without a size suffix mov rax, rbx
since it picks the intel branch and then tries to interpret it as AT&T when selecting intel-style output with `-x86-asm-syntax=intel`.
Differential Revision: https://reviews.llvm.org/D113894
|
 | llvm/test/CodeGen/X86/asm-dialect.ll |
 | llvm/lib/Target/PowerPC/PPCTargetMachine.h |
 | llvm/include/llvm/Target/TargetMachine.h |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp |
Commit
0274be28d7f8266e441a45adc1a208fc0ca04dd4
by craig.topper[RISCV] Lower vector CTLZ_ZERO_UNDEF/CTTZ_ZERO_UNDEF by converting to FP and extracting the exponent.
If we have a large enough floating point type that can exactly represent the integer value, we can convert the value to FP and use the exponent to calculate the leading/trailing zeros.
The exponent will contain log2 of the value plus the exponent bias. We can then remove the bias and convert from log2 to leading/trailing zeros.
This doesn't work for zero since the exponent of zero is zero so we can only do this for CTLZ_ZERO_UNDEF/CTTZ_ZERO_UNDEF. If we need a value for zero we can use a vmseq and a vmerge to handle it.
We need to be careful to make sure the floating point type is legal. If it isn't we'll continue using the integer expansion. We could split the vector and concatenate the results but that needs some additional work and evaluation.
Differential Revision: https://reviews.llvm.org/D111904
|
 | llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll |
 | llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
Commit
bf834b26292e58d86bc289a3eb0c736c400e600a
by thakis[x86/asm] Let EmitMSInlineAsmStr() handle variants too
This is preparation for D113707, where I want to make `-masm=intel` emit `asm inteldialect` instructions.
`{movq %rbx, %rax|mov rax, rbx}` is supposed to evaluate to the bit between { and | for att and to the bit between | and } for intel. Since intel will become `asm inteldialect`, which alls EmitMSInlineAsmStr(), EmitMSInlineAsmStr() has to support variants as well.
(clang translates `{...|...}` to `$(...$|...$)`. I'm not sure why it doesn't just send along only the first `...` or the second `...` to LLVM, but given the notes in PR23933 let's not do a big reorganization in this codepath.)
Differential Revision: https://reviews.llvm.org/D113932
|
 | llvm/test/CodeGen/X86/asm-dialect.ll |
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp |
Commit
3e957e5d66aaab08c33ccea2768f74993f6f554f
by Louis Dionne[libc++] Refactor tests for trivially copyable atomics
- Replace irrelevant synopsis by a comment - Use a .verify.cpp test instead of .compile.fail.cpp - Remove unnecessary includes in one of the tests (was a copy-paste error)
Differential Revision: https://reviews.llvm.org/D114094
|
 | libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.compile.fail.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp |
 | libcxx/include/atomic |
 | libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp |
Commit
68311f21eb5f065dd8d63e83d9628dd8db51a946
by keithbsmiley[llvm-objcopy][MachO] Add llvm-strip support for newer load commands
Previously llvm-strip would fail because of unknown commands.
Fixes https://bugs.llvm.org/show_bug.cgi?id=50044
Differential Revision: https://reviews.llvm.org/D113734
|
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-chained-fixups.yaml |
 | llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp |
 | llvm/tools/llvm-objcopy/MachO/MachOReader.h |
 | llvm/tools/llvm-objcopy/MachO/Object.cpp |
 | llvm/tools/llvm-objcopy/MachO/Object.h |
 | llvm/tools/llvm-objcopy/MachO/MachOWriter.h |
 | llvm/test/tools/llvm-objcopy/MachO/strip-all.test |
 | llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp |
 | llvm/tools/llvm-objcopy/MachO/MachOReader.cpp |
Commit
ae98182cf7341181e4aa815c372a072dec82779f
by thakis[clang] Make -masm=intel affect inline asm style
With this,
void f() { __asm__("mov eax, ebx"); }
now compiles with clang with -masm=intel.
This matches gcc.
The flag is not accepted in clang-cl mode. It has no effect on MSVC-style `__asm {}` blocks, which are unconditionally in intel mode both before and after this change.
One difference to gcc is that in clang, inline asm strings are "local" while they're "global" in gcc. Building the following with -masm=intel works with clang, but not with gcc where the ".att_syntax" from the 2nd __asm__() is in effect until file end (or until a ".intel_syntax" somewhere later in the file):
__asm__("mov eax, ebx"); __asm__(".att_syntax\nmovl %ebx, %eax"); __asm__("mov eax, ebx");
This also updates clang's intrinsic headers to work both in -masm=att (the default) and -masm=intel modes. The official solution for this according to "Multiple assembler dialects in asm templates" in gcc docs->Extensions->Inline Assembly->Extended Asm is to write every inline asm snippet twice:
bt{l %[Offset],%[Base] | %[Base],%[Offset]}
This works in LLVM after D113932 and D113894, so use that.
(Just putting `.att_syntax` at the start of the snippet works in some but not all cases: When LLVM interpolates in parameters like `%0`, it uses at&t or intel syntax according to the inline asm snippet's flavor, so the `.att_syntax` within the snippet happens to late: The interpolated-in parameter is already in intel style, and then won't parse in the switched `.att_syntax`.)
It might be nice to invent a `#pragma clang asm_dialect push "att"` / `#pragma clang asm_dialect pop` to be able to force asm style per snippet, so that the inline asm string doesn't contain the same code in two variants, but let's leave that for a follow-up.
Fixes PR21401 and PR20241.
Differential Revision: https://reviews.llvm.org/D113707
|
 | clang/test/CodeGen/ms-intrinsics-cpuid.c |
 | clang/test/Driver/masm.c |
 | clang/lib/Headers/immintrin.h |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/lib/Headers/x86gprintrin.h |
 | clang/test/CodeGen/inline-asm-intel.c |
 | clang/test/CodeGen/ms-intrinsics.c |
 | clang/include/clang/Basic/CodeGenOptions.h |
 | clang/include/clang/Driver/Options.td |
 | clang/test/CodeGen/inline-asm-mixed-style.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/lib/CodeGen/CGStmt.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/lib/Headers/intrin.h |
Commit
1718fe4643925f4c9788ccb3f7c5779cae394a2a
by thakis[llvm-objcopy] Fix some comment typos
|
 | llvm/tools/llvm-objcopy/MachO/Object.h |
Commit
6d3db28088267203ab4a42c5da0d53c0a259f316
by Stanislav.Mekhanoshin[InstCombine] Generalize complex OR patterns to AND
For every pattern with only NOT, OR, and AND operations there is always a symmetrical attern with AND and OR swapped.
This adds 2 transformations: https://reviews.llvm.org/D113526
``` (~(a & b) | c) & (~(a & c) | b) --> ~((b ^ c) & a) (~(a & b) | c) & ~(a & c) --> ~((b | c) & a) ```
``` ---------------------------------------- define i4 @src(i4 %a, i4 %b, i4 %c) { %0: %and1 = and i4 %b, %a %not1 = xor i4 %and1, 15 %and2 = and i4 %a, %c %not2 = xor i4 %and2, 15 %or = or i4 %not2, %b %r = and i4 %or, %not1 ret i4 %r } => define i4 @tgt(i4 %a, i4 %b, i4 %c) { %0: %or = or i4 %b, %c %and = and i4 %or, %a %r = xor i4 %and, 15 ret i4 %r } Transformation seems to be correct!
---------------------------------------- define i4 @src(i4 %a, i4 %b, i4 %c) { %0: %and1 = and i4 %a, %b %not1 = xor i4 %and1, 15 %or1 = or i4 %not1, %c %and2 = and i4 %a, %c %not2 = xor i4 %and2, 15 %or2 = or i4 %not2, %b %and3 = and i4 %or1, %or2 ret i4 %and3 } => define i4 @tgt(i4 %a, i4 %b, i4 %c) { %0: %xor = xor i4 %b, %c %and = and i4 %xor, %a %not = xor i4 %and, 15 ret i4 %not } Transformation seems to be correct! ```
Differential Revision: https://reviews.llvm.org/D113526
|
 | llvm/test/Transforms/InstCombine/and-xor-or.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
Commit
69f35f89691255eeed0dac26b2b642fea5c7db93
by michael.p.rice[OpenMP] Add version macro support for 5.1 and 5.2
Differential Revision: https://reviews.llvm.org/D114102
|
 | clang/test/OpenMP/driver.c |
 | clang/test/OpenMP/declare_variant_clauses_messages.cpp |
 | clang/lib/Frontend/InitPreprocessor.cpp |
Commit
e76032c17301bf929b16a56f8d1dbb366c3c49d8
by llvm-dev[X86] LowerRotate - improve vXi8 rotate-by-scalar lowering with direct use of (extended) shift-by-scalar helpers.
If we're rotating vXi8 by a splatted amount, then unpack to vXi16, perform a SHL by the (extended) scalar, and then pack the results.
This is a vector equivalent to the "rotl(x,y) -> (((aext(x) << bw) | zext(x)) << (y & (bw-1))) >> bw" style expansion we do for scalars in LowerFunnelShift.
I think we can usefully use this for other vector types and vector funnel-shifts in the future, depending how we expand beyond D113192 for matching rotations/funnel-shifts for more type/ops.
|
 | llvm/test/CodeGen/X86/vector-fshr-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-fshr-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
 | llvm/test/CodeGen/X86/min-legal-vector-width.ll |
 | llvm/test/CodeGen/X86/vector-rotate-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-128.ll |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
3020608b619583ebafed618f6113ccc153a06fe1
by llvm-devFix MSVC signed/unsigned mismatch warning. NFC.
|
 | llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp |
Commit
47d0c83e1f5fb0826d265f163d00cb57615b89d4
by michaelrj[libc] fix strtof/d/ld NaN parsing
Fix the fact that previously strtof/d/ld would only accept a NaN as having parentheses if the thing in the parentheses was a valid number, now it will accept any combination of letters and numbers, but will only put valid numbers in the mantissa.
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D113790
|
 | libc/test/src/stdlib/strtof_test.cpp |
 | libc/src/__support/str_to_float.h |
Commit
b1ad813b474ab7935b2c40d84c99c2b59cd67f79
by thakis[clang] Address review comments on https://reviews.llvm.org/D113707
- Drop a needless `l` size suffix on a mov instruction in AT&T mode - Move varying bits of test flags to front - Add a comment about MS mode test
|
 | clang/lib/Headers/x86gprintrin.h |
 | clang/test/CodeGen/inline-asm-intel.c |
Commit
1b468f1c1b46734f64f15c22cfbd403bada9fed8
by pavel[lldb] Port PlatformWindows, PlatformOpenBSD and PlatformRemoteGDBServer to GetSupportedArchitectures
|
 | lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h |
 | lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h |
 | lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp |
 | lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp |
 | lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp |
 | lldb/source/Plugins/Platform/Windows/PlatformWindows.h |
Commit
a11d27f4ff3bd4e3d2d987cd2bb0dcd7d7c230e3
by thakis[clang] Try to fix test after ae98182cf7341181e
The test assumes an integrated assembler, so use a triple where that's the default.
|
 | clang/test/CodeGen/inline-asm-intel.c |
Commit
5f99f771ec7134898d67ed0d2234562df756e332
by llvm-dev[X86] splitVector - only extract lower half subvector from splats
If we're splitting a source vector that is a splat (with no undefs), just extract (for free) the lower half subvector and use it for both halfs.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vector-fshl-rot-256.ll |
 | llvm/test/CodeGen/X86/vector-rotate-256.ll |
Commit
4c32e3d967ecbc4e7f90fef546b5ed38bbd2f7a6
by paulsson[SystemZ] [Sanitizer] Bugfixes in internal_clone().
The __flags variable needs to be of type 'long' in order to get sign extended properly.
internal_clone() uses an svc (Supervisor Call) directly (as opposed to internal_syscall), and therefore needs to take care to set errno and return -1 as needed.
Review: Ulrich Weigand
|
 | compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cpp |
Commit
b861c3600c4a684dcfabf84e2482c34d16dd94ce
by michael.hliaoFix -Wparentheses warnings. NFC.
|
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
Commit
ad69402f3e19f027fc6fb179ad59a2851e615c41
by listmail[SCEVAA] Avoid forming malformed pointer diff expressions
This solves the same crash as in D104503, but with a different approach.
The test case test_non_dom demonstrates a case where scev-aa crashes today. (If exercised either by -eval-aa or -licm.) The basic problem is that SCEV-AA expects to be able to compute a pointer difference between two SCEVs for any two pair of pointers we do an alias query on. For (valid, but out of scope) reasons, we can end up asking whether expressions in different sub-loops can alias each other. This results in a subtraction expression being formed where neither operand dominates the other.
The approach this patch takes is to leverage the "defining scope" notion we introduced for flag semantics to detect and disallow the formation of the problematic SCEV. This ends up being relatively straight forward on that new infrastructure. This change does hint that we should probably be verifying a similar property for all SCEVs somewhere, but I'll leave that to a follow on change.
Differential Revision: D114112
|
 | llvm/test/Analysis/ScalarEvolution/scev-aa.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp |
 | llvm/include/llvm/Analysis/ScalarEvolution.h |
Commit
c46becf500df2a7fb4b4fce16178a036c344315a
by jonathan.l.peyton[OpenMP][libomp][NFC] Remove non-ASCII apostrophe in comment
|
 | openmp/runtime/src/z_Linux_util.cpp |
Commit
36873fb768dbedeb3e9167117d3bb63b3720d214
by thakis[clang] Try to fix test more after ae98182cf7341181e
We need to use the td-based marshalling instead of doing this manually, else the setting gets lost on the way to codegen in most build configs.
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Driver/Options.td |
Commit
3623163ae83799933bbeabe2cb3060537250c4b3
by thakis[clang] Fix typo in 36873fb768dbe
|
 | clang/include/clang/Driver/Options.td |
Commit
ccd729faa5d46a2656fa2b889f4339d399fca070
by yitzhakm[NFC] Update comments to refer to unique_ptr instead of raw pointers.
|
 | clang/include/clang/Tooling/Tooling.h |
Commit
95741660b4938a0f6f9effd8575d1e0fe77bfbed
by Louis Dionne[libc++][NFC] Re-indent and re-order includes in uses_alloc_types.h
|
 | libcxx/test/support/uses_alloc_types.h |
Commit
63270710f13af10808aac980795128db127153f5
by Lawrence D'Anna[lldb] remove usage of distutils, fix python path on debian/ubuntu
distutils is deprecated and will be removed, so we shouldn't be using it.
We were using it to compute LLDB_PYTHON_RELATIVE_PATH.
Discussing a similar issue [at python.org](https://bugs.python.org/issue41282), Filipe Laíns said:
If you are relying on the value of distutils.sysconfig.get_python_lib() as you shown in your system, you probably don't want to. That directory (dist-packages) should be for Debian provided packages only, so moving to sysconfig.get_path() would be a good thing, as it has the correct value for user installed packages on your system.
So I propose using a relative path from `sys.prefix` to `sysconfig.get_path("platlib")` instead.
On Mac and windows, this results in the same paths as we had before, which are `lib/python3.9/site-packages` and `Lib\site-packages`, respectively.
On ubuntu however, this will change the path from `lib/python3/dist-packages` to `lib/python3.9/site-packages`.
This change seems to be correct, as Filipe said above, `dist-packages` belongs to the distribution, not us.
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D114106
|
 | lldb/bindings/python/get-python-config.py |
 | lldb/CMakeLists.txt |
Commit
a0afb9d0fc2b6b1a0e89c9cd8f0bd1d839e740ce
by jonathan.l.peyton[OpenMP][libomp] Allow users to specify KMP_HW_SUBSET in any order
Remove restriction forcing users to specify the KMP_HW_SUBSET value in topology order. This patch sorts the user KMP_HW_SUBSET value before trying to apply it. For example: 1s,4c,2t is equivalent to 2t,1s,4c
Differential Revision: https://reviews.llvm.org/D112027
|
 | openmp/runtime/test/affinity/kmp-hw-subset.c |
 | openmp/runtime/src/kmp_affinity.h |
 | openmp/runtime/src/kmp_affinity.cpp |
Commit
eb8650a75793b2bd079d0c8901ff066f129061da
by Louis Dionne[runtimes][NFC] Remove filenames at the top of the license notice
We've stopped doing it in libc++ for a while now because these names would end up rotting as we move things around and copy/paste stuff. This cleans up all the existing files so as to stop the spreading as people copy-paste headers around.
|
 | libcxx/include/__ranges/data.h |
 | libcxx/include/stdlib.h |
 | libcxx/src/regex.cpp |
 | libunwind/src/AddressSpace.hpp |
 | libunwind/src/DwarfInstructions.hpp |
 | libcxx/src/support/ibm/mbsnrtowcs.cpp |
 | libcxx/include/type_traits |
 | libcxxabi/src/cxa_exception.h |
 | libcxx/include/atomic |
 | libcxx/include/utility |
 | libcxx/src/ios.cpp |
 | libcxx/include/ext/hash_map |
 | libcxx/include/experimental/type_traits |
 | libcxx/include/regex |
 | libcxx/src/format.cpp |
 | libcxxabi/test/noexception2.pass.cpp |
 | libcxxabi/test/test_exception_storage.pass.cpp |
 | libcxx/include/experimental/regex |
 | libcxx/include/filesystem |
 | libcxx/include/experimental/set |
 | libcxx/include/experimental/filesystem |
 | libcxx/include/string |
 | libcxx/src/barrier.cpp |
 | libcxxabi/test/unwind_04.pass.cpp |
 | libunwind/src/UnwindCursor.hpp |
 | libcxxabi/test/inherited_exception.pass.cpp |
 | libcxx/include/forward_list |
 | libcxxabi/src/private_typeinfo.h |
 | libcxx/include/iterator |
 | libcxx/include/compare |
 | libcxxabi/test/catch_ptr.pass.cpp |
 | libcxx/include/__string |
 | libcxx/include/semaphore |
 | libcxx/src/debug.cpp |
 | libcxxabi/test/thread_local_destruction_order.pass.cpp |
 | libunwind/src/DwarfParser.hpp |
 | libunwind/src/UnwindRegistersRestore.S |
 | libcxx/include/limits |
 | libcxx/src/algorithm.cpp |
 | libcxx/src/string.cpp |
 | libcxxabi/test/unwind_06.pass.cpp |
 | libunwind/src/dwarf2.h |
 | libcxx/include/ranges |
 | libcxxabi/src/stdlib_typeinfo.cpp |
 | libcxx/include/experimental/unordered_set |
 | libcxx/include/ciso646 |
 | libcxx/src/mutex.cpp |
 | libcxx/include/barrier |
 | libcxx/include/latch |
 | libcxxabi/test/uncaught_exception.pass.cpp |
 | libcxx/include/inttypes.h |
 | libcxx/include/cstdlib |
 | libcxx/src/mutex_destructor.cpp |
 | libcxxabi/src/cxa_demangle.cpp |
 | libcxxabi/test/dynamic_cast3.pass.cpp |
 | libcxx/include/algorithm |
 | libcxx/src/hash.cpp |
 | libcxxabi/src/cxa_aux_runtime.cpp |
 | libcxx/include/complex |
 | libcxx/docs/DesignDocs/CapturingConfigInfo.rst |
 | libcxxabi/test/dynamic_cast14.pass.cpp |
 | libcxx/include/typeindex |
 | libcxx/include/exception |
 | libcxxabi/test/test_aux_runtime.pass.cpp |
 | libcxx/include/new |
 | libcxx/include/system_error |
 | libcxx/include/cctype |
 | libcxx/include/condition_variable |
 | libcxxabi/src/cxa_exception.cpp |
 | libcxxabi/test/unwind_05.pass.cpp |
 | libunwind/src/libunwind_ext.h |
 | libunwind/src/Registers.hpp |
 | libcxxabi/src/cxa_default_handlers.cpp |
 | libcxx/include/charconv |
 | libcxx/include/__ranges/access.h |
 | libcxx/include/stdint.h |
 | libcxx/include/climits |
 | libcxx/src/utility.cpp |
 | libcxxabi/test/noexception1.pass.cpp |
 | libcxxabi/test/catch_array_02.pass.cpp |
 | libcxx/include/setjmp.h |
 | libcxx/include/__errc |
 | libcxx/include/tuple |
 | libunwind/include/libunwind.h |
 | libcxx/include/execution |
 | libunwind/src/UnwindLevel1.c |
 | libcxxabi/src/stdlib_stdexcept.cpp |
 | libcxxabi/src/cxa_vector.cpp |
 | libcxx/include/csignal |
 | libcxx/include/experimental/algorithm |
 | libcxx/src/valarray.cpp |
 | libcxxabi/test/unittest_demangle.pass.cpp |
 | libcxx/include/experimental/list |
 | libcxx/include/cwctype |
 | libcxx/include/ext/__hash |
 | libcxx/include/cstddef |
 | libcxxabi/src/fallback_malloc.h |
 | libcxx/include/initializer_list |
 | libcxxabi/src/cxa_virtual.cpp |
 | libcxxabi/src/fallback_malloc.cpp |
 | libcxxabi/test/cxa_bad_cast.pass.cpp |
 | libcxx/include/experimental/utility |
 | libcxxabi/test/cxa_thread_atexit_test.pass.cpp |
 | libcxx/include/strstream |
 | libcxxabi/test/catch_member_data_pointer_01.pass.cpp |
 | libcxx/include/experimental/forward_list |
 | libcxx/src/variant.cpp |
 | libcxx/src/random.cpp |
 | libcxxabi/test/incomplete_type.sh.cpp |
 | libcxx/include/__config |
 | libcxx/include/fenv.h |
 | libcxx/src/future.cpp |
 | libcxx/src/include/refstring.h |
 | libunwind/src/RWMutex.hpp |
 | libcxxabi/test/catch_multi_level_pointer.pass.cpp |
 | libcxx/include/codecvt |
 | libcxx/include/streambuf |
 | libcxx/include/float.h |
 | libcxx/include/any |
 | libcxx/include/__debug |
 | libcxx/src/strstream.cpp |
 | libunwind/include/mach-o/compact_unwind_encoding.h |
 | libcxx/src/vector.cpp |
 | libcxx/include/iostream |
 | libunwind/src/Unwind-sjlj.c |
 | libcxx/include/numeric |
 | libcxx/include/chrono |
 | libcxx/include/stdexcept |
 | libcxx/src/support/runtime/stdexcept_vcruntime.ipp |
 | libcxxabi/test/catch_const_pointer_nullptr.pass.cpp |
 | libcxxabi/test/test_demangle.pass.cpp |
 | libcxx/include/clocale |
 | libcxxabi/test/catch_reference_nullptr.pass.cpp |
 | libcxx/include/stack |
 | libcxxabi/test/catch_ptr_02.pass.cpp |
 | libcxxabi/test/test_vector3.pass.cpp |
 | libcxx/include/math.h |
 | libcxx/src/support/runtime/stdexcept_default.ipp |
 | libcxxabi/src/cxa_exception_storage.cpp |
 | libcxx/src/filesystem/directory_iterator.cpp |
 | libcxx/include/__undef_macros |
 | libcxxabi/test/noexception3.pass.cpp |
 | libcxx/include/tgmath.h |
 | libcxx/include/stdio.h |
 | libcxx/include/__nullptr |
 | libcxx/include/csetjmp |
 | libcxx/include/unordered_map |
 | libcxx/src/filesystem/operations.cpp |
 | libcxx/src/bind.cpp |
 | libcxx/src/random_shuffle.cpp |
 | libcxxabi/include/cxxabi.h |
 | libcxx/include/scoped_allocator |
 | libcxxabi/test/exception_object_alignment.pass.cpp |
 | libcxxabi/test/catch_member_function_pointer_01.pass.cpp |
 | libunwind/include/__libunwind_config.h |
 | libcxx/src/system_error.cpp |
 | libcxx/include/cstring |
 | libcxx/src/condition_variable.cpp |
 | libcxxabi/include/__cxxabi_config.h |
 | libunwind/include/unwind_arm_ehabi.h |
 | libcxx/include/__bsd_locale_defaults.h |
 | libcxx/include/ctype.h |
 | libcxx/include/thread |
 | libcxxabi/test/backtrace_test.pass.cpp |
 | libunwind/src/Unwind-EHABI.cpp |
 | libcxx/include/ccomplex |
 | libcxx/include/string.h |
 | libcxxabi/test/test_guard.pass.cpp |
 | libcxx/src/exception.cpp |
 | libcxxabi/test/dynamic_cast.pass.cpp |
 | libcxx/include/span |
 | libcxx/include/sstream |
 | libcxx/src/experimental/memory_resource.cpp |
 | libcxxabi/test/dynamic_cast5.pass.cpp |
 | libcxxabi/test/catch_function_02.pass.cpp |
 | libcxx/include/iosfwd |
 | libcxxabi/test/catch_pointer_reference.pass.cpp |
 | libcxx/include/limits.h |
 | libcxx/include/bitset |
 | libcxx/include/cstdarg |
 | libcxx/include/optional |
 | libcxx/include/experimental/__config |
 | libcxx/include/iomanip |
 | libcxx/include/cwchar |
 | libcxx/include/typeinfo |
 | libcxx/include/cstdint |
 | libcxx/src/support/ibm/wcsnrtombs.cpp |
 | libcxx/include/experimental/vector |
 | libcxx/include/experimental/functional |
 | libcxx/include/experimental/unordered_map |
 | libcxx/include/experimental/string |
 | libunwind/src/Unwind_AppleExtras.cpp |
 | libcxx/include/cmath |
 | libcxx/src/charconv.cpp |
 | libcxx/include/ostream |
 | libunwind/src/Unwind-EHABI.h |
 | libunwind/src/libunwind.cpp |
 | libcxxabi/test/cxa_bad_typeid.pass.cpp |
 | libcxxabi/test/catch_array_01.pass.cpp |
 | libcxx/include/wctype.h |
 | libcxxabi/src/stdlib_exception.cpp |
 | libcxxabi/test/catch_class_03.pass.cpp |
 | libcxxabi/test/catch_function_03.pass.cpp |
 | libcxx/src/functional.cpp |
 | libcxx/include/variant |
 | libcxx/include/__bsd_locale_fallbacks.h |
 | libcxx/include/bit |
 | libcxx/src/atomic.cpp |
 | libcxxabi/src/private_typeinfo.cpp |
 | libcxx/include/wchar.h |
 | libcxxabi/test/catch_class_01.pass.cpp |
 | libcxx/include/complex.h |
 | libcxx/include/future |
 | libcxxabi/src/stdlib_new_delete.cpp |
 | libunwind/src/UnwindRegistersSave.S |
 | libcxx/include/ios |
 | libcxxabi/test/test_vector1.pass.cpp |
 | libcxx/include/fstream |
 | libcxx/include/stddef.h |
 | libunwind/src/CompactUnwinder.hpp |
 | libcxx/include/random |
 | libcxx/src/include/config_elast.h |
 | libcxx/src/optional.cpp |
 | libcxx/include/list |
 | libunwind/include/unwind_itanium.h |
 | libunwind/include/unwind.h |
 | libcxx/include/experimental/simd |
 | libcxx/include/mutex |
 | libcxx/src/chrono.cpp |
 | libunwind/src/UnwindLevel1-gcc-ext.c |
 | libunwind/src/cet_unwind.h |
 | libcxx/src/any.cpp |
 | libcxxabi/test/test_fallback_malloc.pass.cpp |
 | libcxx/include/ctgmath |
 | libcxx/src/include/apple_availability.h |
 | libcxx/src/typeinfo.cpp |
 | libcxx/include/cerrno |
 | libcxx/include/array |
 | libcxx/include/cinttypes |
 | libcxx/include/shared_mutex |
 | libcxx/src/stdexcept.cpp |
 | libcxxabi/test/catch_class_04.pass.cpp |
 | libcxx/include/queue |
 | libcxxabi/src/cxa_guard.cpp |
 | libcxx/include/__ranges/enable_borrowed_range.h |
 | libcxx/include/experimental/propagate_const |
 | libcxx/include/set |
 | libcxx/include/experimental/iterator |
 | libcxxabi/test/unwind_02.pass.cpp |
 | libcxx/include/cstdio |
 | libcxxabi/test/catch_function_01.pass.cpp |
 | libcxxabi/test/dynamic_cast_stress.pass.cpp |
 | libcxxabi/test/test_vector2.pass.cpp |
 | libcxx/include/string_view |
 | libcxx/include/valarray |
 | libcxxabi/src/abort_message.h |
 | libcxx/include/memory |
 | libcxx/include/errno.h |
 | libcxx/src/iostream.cpp |
 | libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp |
 | libcxx/include/ratio |
 | libunwind/src/config.h |
 | libcxx/include/numbers |
 | libcxx/include/cfenv |
 | libcxx/include/vector |
 | libcxxabi/test/uncaught_exceptions.pass.cpp |
 | libcxx/include/ctime |
 | libcxxabi/src/cxa_personality.cpp |
 | libcxxabi/src/cxa_noexception.cpp |
 | libcxxabi/test/catch_pointer_nullptr.pass.cpp |
 | libcxx/src/new.cpp |
 | libcxxabi/src/abort_message.cpp |
 | libcxxabi/test/catch_member_function_pointer_02.pass.cpp |
 | libcxx/include/locale.h |
 | libcxxabi/test/unwind_01.pass.cpp |
 | libcxx/include/map |
 | libcxx/include/experimental/deque |
 | libcxx/src/shared_mutex.cpp |
 | libcxxabi/test/noexception4.pass.cpp |
 | libcxxabi/src/cxa_thread_atexit.cpp |
 | libunwind/src/Unwind-seh.cpp |
 | libcxxabi/test/unwind_03.pass.cpp |
 | libcxx/include/cfloat |
 | libcxxabi/src/cxa_handlers.cpp |
 | libcxxabi/test/catch_member_pointer_nullptr.pass.cpp |
 | libcxx/include/experimental/memory_resource |
 | libcxx/include/format |
 | libcxx/src/locale.cpp |
 | libunwind/src/EHHeaderParser.hpp |
 | libcxx/include/cassert |
 | libcxx/include/cstdbool |
 | libcxx/src/condition_variable_destructor.cpp |
 | libcxx/include/deque |
 | libcxx/include/ext/hash_set |
 | libcxx/include/unordered_set |
 | libcxxabi/test/catch_class_02.pass.cpp |
 | libcxx/include/__utility/to_underlying.h |
 | libcxx/include/experimental/coroutine |
 | libcxx/include/experimental/map |
 | libcxx/include/istream |
 | libcxxabi/src/cxa_handlers.h |
 | libcxx/include/__ranges/concepts.h |
 | libcxx/include/stdbool.h |
 | libcxx/include/locale |
 | libcxx/src/memory.cpp |
Commit
e852cc0d5a8f2bf65a04822a51a85ea8309f3adf
by owenca[clang-format][NFC] Add a default value to parseBlock()
Differential Revision: https://reviews.llvm.org/D114073
|
 | clang/lib/Format/UnwrappedLineParser.cpp |
 | clang/lib/Format/UnwrappedLineParser.h |
Commit
bca003dea8df9d87ce3cf17defb4e89b3166462d
by zinenko[mlir] Fix wrong variable name in Linalg OpDSL
The name seems to have been left over from a renaming effort on an unexercised codepaths that are difficult to catch in Python. Fix it and add a test that exercises the codepath.
Reviewed By: gysit
Differential Revision: https://reviews.llvm.org/D114004
|
 | mlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py |
 | mlir/python/mlir/dialects/linalg/opdsl/lang/dsl.py |
Commit
7a8c7946fc3aa75beac6fb5e7cd7b15f1a69d411
by zeratul976[clang] Allocate 2 bits to store the constexpr specifier kind when serializing
Now that consteval and constinit are possible values, 1 bit is no longer enough.
Fixes https://github.com/clangd/clangd/issues/887
Differential Revision: https://reviews.llvm.org/D111971
|
 | clang/lib/Serialization/ASTWriterDecl.cpp |
 | clang/test/AST/ast-dump-constant-expr.cpp |
Commit
0d0c46a35b3b30782107c63e833a91dbbe087feb
by jpienaar[mlir] Improve documentation of shape dialect
Add small example of usage (brief which will be further refined).
|
 | mlir/docs/Dialects/Shape.md |
Commit
9cc489a4b2b58b70f7b7d84a8544e22f39423ae6
by gkm[lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff
In order to keep signal:noise high for the `__eh_frame` diff, I have teased-out the NFC changes and put them here.
Differential Revision: https://reviews.llvm.org/D114017
|
 | lld/MachO/InputSection.h |
 | lld/MachO/InputSection.cpp |
 | lld/MachO/Symbols.cpp |
 | lld/MachO/Symbols.h |
 | lld/MachO/UnwindInfoSection.cpp |
 | lld/MachO/InputFiles.h |
 | lld/MachO/MarkLive.cpp |
 | lld/MachO/ICF.cpp |
 | lld/MachO/Driver.cpp |
 | lld/MachO/InputFiles.cpp |
Commit
1dd797168e9f8cb592c254c642f196dab3447092
by jonathan.l.peyton[OpenMP][libomp] Add support for offline CPUs in Linux
If some CPUs are offline, then make sure they are not included in the fullMask even if norespect is given to KMP_AFFINITY.
Differential Revision: https://reviews.llvm.org/D112274
|
 | openmp/runtime/src/z_Linux_util.cpp |
 | openmp/runtime/src/kmp.h |
 | openmp/runtime/src/kmp_affinity.cpp |
Commit
286094af9bc0cfc89d00d8d645e8eaca3d78cd91
by jonathan.l.peyton[OpenMP][libomp] Improve Windows Processor Group handling within topology
The current implementation of Windows Processor Groups has a separate topology method to handle them. This patch deprecates that specific method and uses the regular CPUID topology method by default and inserts the Windows Processor Group objects in the topology manually.
Notes: * The preference for processor groups is lowered to a value less than socket so that the user will see sockets in the KMP_AFFINITY=verbose output instead of processor groups when sockets=processor groups. * The topology's capacity is modified to handle additional topology layers without the need for reallocation. * If a user asks for a granularity setting that is "above" the processor group layer, then the granularity is adjusted "down" to the processor group since this is the coarsest layer available for threads.
Differential Revision: https://reviews.llvm.org/D112273
|
 | openmp/runtime/src/i18n/en_US.txt |
 | openmp/runtime/src/kmp_affinity.cpp |
 | openmp/runtime/src/kmp_settings.cpp |
 | openmp/runtime/src/kmp_affinity.h |
Commit
edc6c0ecb9627c7c57fdb8e0ca8267295dd77bcd
by riddleriver[mlir] Refactor AbstractOperation and OperationName
The current implementation is quite clunky; OperationName stores either an Identifier or an AbstractOperation that corresponds to an operation. This has several problems:
* OperationNames created before and after an operation are registered are different * Accessing the identifier name/dialect/etc. from an OperationName are overly branchy - they need to dyn_cast a PointerUnion to check the state
This commit refactors this such that we create a single information struct for every operation name, even operations that aren't registered yet. When an OperationName is created for an unregistered operation, we only populate the name field. When the operation is registered, we populate the remaining fields. With this we now have two new classes: OperationName and RegisteredOperationName. These both point to the same underlying operation information struct, but only RegisteredOperationName can assume that the operation is actually registered. This leads to a much cleaner API, and we can also move some AbstractOperation functionality directly to OperationName.
Differential Revision: https://reviews.llvm.org/D114049
|
 | mlir/include/mlir/IR/OperationSupport.h |
 | mlir/include/mlir/Support/InterfaceSupport.h |
 | mlir/include/mlir/IR/Dialect.h |
 | mlir/include/mlir/IR/MLIRContext.h |
 | mlir/lib/CAPI/IR/IR.cpp |
 | mlir/lib/Rewrite/ByteCode.cpp |
 | mlir/lib/Parser/Parser.cpp |
 | mlir/lib/Parser/AsmParserState.cpp |
 | mlir/lib/IR/AsmPrinter.cpp |
 | mlir/lib/Rewrite/FrozenRewritePatternSet.cpp |
 | mlir/include/mlir/IR/Builders.h |
 | mlir/lib/IR/MLIRContext.cpp |
 | mlir/lib/IR/Operation.cpp |
 | mlir/include/mlir/IR/OpDefinition.h |
 | mlir/include/mlir/IR/Operation.h |
 | mlir/lib/CAPI/Interfaces/Interfaces.cpp |
 | mlir/lib/Transforms/Canonicalizer.cpp |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/lib/IR/Verifier.cpp |
 | mlir/lib/Dialect/PDL/IR/PDL.cpp |
Commit
a733b18bdbe28778cf34705447ee7691b2064b6e
by jonathan.l.peyton[OpenMP][libomp] Enable HWLOC topology detection of multiple CPU kinds
Teach the HWLOC topology method how to detect Atom and Core types so hybrid CPUs are properly detected and represented when using the HWLOC topology method.
Differential Revision: https://reviews.llvm.org/D112270
|
 | openmp/runtime/src/kmp_affinity.cpp |
Commit
a340a491b2550b24539adced79ffefd3ec2e13bf
by jamesfarrellAdd Android test case for -Wpartial-availability. Also update Android availability tests to match on the whole string, so we can distinguish between "Android 16" and "Android 16.0.0" at the end of warning messages.
Reviewed By: danalbert, srhines
Differential Revision: https://reviews.llvm.org/D114036
|
 | clang/test/Sema/attr-availability-android.c |
Commit
044e7e013ef066590282549f31ab51a64359706b
by rob.suderman[mlir][tosa] Fixed shape inference for tosa.transpose_conv2d
Transpose conv2d shape inference was incorrect, tests did not properly validate that the shape inference was executing. Corrected shape inference, and extended tests to actually execute.
Reviewed By: NatashaKnk
Differential Revision: https://reviews.llvm.org/D114026
|
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
 | mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir |
Commit
a82ee2be9c6378cd34deb3ab002d78acd2b04ff3
by Vitaly Buka[sanitizer] Add a few of type_traits tools
For D114047
|
 | compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h |
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp |
Commit
951b107eedab1829f18049443f03339dbb0db165
by gclayton[NFC] Refactor symbol table parsing.
Symbol table parsing has evolved over the years and many plug-ins contained duplicate code in the ObjectFile::GetSymtab() that used to be pure virtual. With this change, the "Symbtab *ObjectFile::GetSymtab()" is no longer virtual and will end up calling a new "void ObjectFile::ParseSymtab(Symtab &symtab)" pure virtual function to actually do the parsing. This helps centralize the code for parsing the symbol table and allows the ObjectFile base class to do all of the common work, like taking the necessary locks and creating the symbol table object itself. Plug-ins now just need to parse when they are asked to parse as the ParseSymtab function will only get called once.
Differential Revision: https://reviews.llvm.org/D113965
|
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp |
 | lldb/source/Symbol/Symtab.cpp |
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp |
 | lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h |
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp |
 | lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
 | lldb/include/lldb/Symbol/ObjectFile.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h |
 | lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp |
 | lldb/source/Symbol/ObjectFile.cpp |
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h |
 | lldb/include/lldb/Symbol/Symtab.h |
 | lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp |
Commit
d78fdf111dda26307e88d16f5f5d1411f3bd7e61
by craig.topper[LegalizeTypes] Further limit expansion of CTTZ during type promotion.
Don't expand CTTZ if CTPOP or CTLZ is supported on the promoted type. We have special handling for CTTZ expansion to use those ops with a small conversion. The setup for that doesn't generate extra code or large constants so we don't gain anything from expanding early and we make CTTZ_ZERO_UNDEF codegen worse.
Follow up from post commit feedback on D112268. We don't seem to have any in tree tests that care about this.
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
1f7827e6aa15ff457089bca9351ed452b46474f8
by jryans[MLIR][Docs] Fix link syntax in Rationale.md
|
 | mlir/docs/Rationale/Rationale.md |
Commit
22e66a97cb37b0072c87ab7aced3e6f1be49b126
by Vitaly BukaRevert "[sanitizer] Add a few of type_traits tools"
Does not work with GCC
This reverts commit a82ee2be9c6378cd34deb3ab002d78acd2b04ff3.
|
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h |
Commit
1a84d1c81e1265ec09bcf8a636be3ec8585d5fc3
by leonardchan[compiler-rt][asan] Re-add `self`
We ran into errors where this wasn't defined in Fuchsia's asan implementation.
|
 | compiler-rt/lib/asan/asan_fuchsia.cpp |
Commit
5a6dac66db67225e2443f4e61dfe9d2f96780611
by daan.j.demeyerLiteralSupport: Don't assert() on invalid input
When using clangd, it's possible to trigger assertions in NumericLiteralParser and CharLiteralParser when switching git branches. This commit removes the initial asserts on invalid input and replaces those asserts with the error handling mechanism from those respective classes instead. This allows clangd to gracefully recover without crashing.
See https://github.com/clangd/clangd/issues/888 for more information on the clangd crashes.
|
 | clang/include/clang/Basic/DiagnosticLexKinds.td |
 | clang/lib/Lex/LiteralSupport.cpp |
Commit
adfbb5411b0b0461c230b51623c9128e0ccc60c9
by leevince[lld-macho] Add warn flags to enable/disable warnings on -install_name
ld64 doesn't warn on builds using `-install_name` if it's a bundle. But, the current warning is nice to have because `install_name` only works with dylib. To prevent an overflow of warnings in build logs and have parity with ld64, create a `--warn-dylib-install-name` and `--warn-no-dylib-install-name` flag that enables this LLD specific warning.
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D113534
|
 | lld/test/MachO/install-name.s |
 | lld/MachO/Driver.cpp |
 | lld/MachO/Config.h |
 | lld/MachO/Options.td |
Commit
d6b7576f210b6962de757c733c68fe8e96e9c760
by pklausler[flang] Fix INQUIRE(PAD=) and (POSITION=) for predefined units
The predefined units were not being initialized with FORM='FORMATTED', so INQUIRE(PAD=) was failing if no I/O had already been done.
INQUIRE(POSITION=) was returning 'REWIND' on stdin/stdout (which is somewhat defensible from the definition, and is what Intel Fortran does), but most implementations return 'ASIS'. Change the runtime to return 'REWIND' only for positionable external files, but 'ASIS' for terminals, sockets, &c.
Differential Revision: https://reviews.llvm.org/D114028
|
 | flang/runtime/io-stmt.cpp |
 | flang/runtime/unit.cpp |
Commit
6d28dffb6bf4c97848290b9aee3c19025470e54a
by carl.ritson[AMDGPU] Update GFX10 memory model to account for MALL
Document memory attached last level (MALL) cache added in GFX10.3.
Reviewed By: t-tye
Differential Revision: https://reviews.llvm.org/D114076
|
 | llvm/docs/AMDGPUUsage.rst |
Commit
c1becf483c9f00b9465a999766a1505e2f4ea0be
by damian[flang] Add a semantics test for co_sum
Test a range of acceptable forms of co_sum calls, including combinations of keyword and non-keyword actual arguments of numeric types. Also test that several invalid forms of co_sum call generate the correct error messages.
Reviewed By: kiranchandramohan, ktras
Differential Revision: https://reviews.llvm.org/D113076
|
 | flang/test/Semantics/collectives01.f90 |
Commit
eb9dc0c78f97984ed1ef08feb33422e2c7463cac
by freddy.ye[X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_ps
Reviewed By: craig.topper, pengfei
Differential Revision: https://reviews.llvm.org/D114059
|
 | clang/lib/Headers/avx512bf16intrin.h |
 | clang/test/CodeGen/X86/avx512vlbf16-builtins.c |
 | clang/lib/Headers/avx512vlbf16intrin.h |
Commit
0623f52a46cf5af3a6d77238a7ad91b37b812fe1
by listmailAutogen a test for ease of update
|
 | llvm/test/Analysis/ScalarEvolution/ne-overflow.ll |
Commit
c4dba47196c280dcf3763ccb6133f3dec5285e78
by yuanke.luo[X86][AMX] Don't emit tilerelease for old AMX instrisic.
We should avoid mixing old AMX instrinsic with new AMX intrinsic. For old AMX intrinsic, user is responsible for invoking tile release. This patch is to check if there is any tile config generated by compiler. If so it emit tilerelease instruction, otherwise it don't emit the instruction.
Differential Revision: https://reviews.llvm.org/D114066
|
 | llvm/lib/Target/X86/X86FrameLowering.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-bf16-intrinsics.ll |
 | llvm/lib/Target/X86/X86PreTileConfig.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-int8-intrinsics.ll |
 | llvm/lib/Target/X86/X86MachineFunctionInfo.h |
 | llvm/lib/Target/X86/X86FastTileConfig.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-tile-intrinsics.ll |
Commit
6e41a0691132482478c4e82d0610fe19a4128f74
by rob.suderman[mlir][tosa] Revert add-0 canonicalization for floating-point
Floating point optimization can produce incorrect numerical resutls for -0.0 + 0.0 optimization as result needs to be -0.0.
Reviewed By: eric-k256
Differential Revision: https://reviews.llvm.org/D114127
|
 | mlir/test/Dialect/Tosa/canonicalize.mlir |
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
Commit
af9f3c6d86b4afc93fb0a29ee430fc42f593800f
by yedeng.yd[Coroutine] Warn deprecated 'std::experimental::coro' uses
Since we've decided the to not support std::experimental::coroutine*, we should tell the user they need to update.
Reviewed By: Quuxplusone, ldionne, Mordante
Differential Revision: https://reviews.llvm.org/D113977
|
 | clang/test/SemaCXX/coroutine-traits-undefined-template-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutine-rvo-exp-namespace.cpp |
 | clang/test/SemaCXX/coreturn-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutine-seh-exp-namespace.cpp |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/test/SemaCXX/coroutine_handle-address-return-type-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutine-final-suspend-noexcept-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutines-exp-namespace.cpp |
 | libcxx/test/std/experimental/language.support/support.coroutines/lit.local.cfg |
 | clang/lib/Sema/SemaCoroutine.cpp |
 | clang/test/SemaCXX/co_await-range-for-exp-namespace.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | libcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp |
 | clang/test/SemaCXX/coreturn-eh-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutine-mixed2-exp-namespace.cpp |
 | clang/test/SemaCXX/coroutine-unhandled_exception-warning-exp-namespace.cpp |
Commit
02eca53a50ea306d2d4fb305364fd538b2cfc0be
by Vitaly Buka[sanitizer] Add a few of type_traits tools
For D114047
|
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h |
Commit
92eaad2dd7adb5ee92f397cef85ab11f2612294e
by jinghamRevert "Revert "Make it possible for lldb to launch a remote binary with no local file.""
This reverts commit dd5505a8f2c75a903ec944b6e46aed2042610673.
I picked the wrong class for the test, should have been GDBRemoteTestBase.
|
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/TestNoLocalFile.py |
 | lldb/source/Target/Process.cpp |
 | lldb/source/Commands/CommandObjectProcess.cpp |
Commit
a68ccda203aad2cc4fd386d5e893237f09fa1ffb
by gclaytonRevert "[NFC] Refactor symbol table parsing."
This reverts commit 951b107eedab1829f18049443f03339dbb0db165.
Buildbots were failing, there is a deadlock in /Users/gclayton/Documents/src/llvm/clean/llvm-project/lldb/test/Shell/SymbolFile/DWARF/DW_AT_range-DW_FORM_sec_offset.s when ELF files try to relocate things.
|
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp |
 | lldb/include/lldb/Symbol/ObjectFile.h |
 | lldb/include/lldb/Symbol/Symtab.h |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h |
 | lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp |
 | lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp |
 | lldb/source/Symbol/ObjectFile.cpp |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h |
 | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h |
 | lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h |
 | lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp |
 | lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp |
 | lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp |
 | lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h |
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h |
 | lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp |
 | lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp |
 | lldb/source/Symbol/Symtab.cpp |
Commit
1ce77b562de4d9a6fc703d39c9242f9786082ef1
by ajcbik[mlir][sparse] refine lexicographic insertion to any tensor
First version was vectors only. With some clever "path" insertion, we now support any d-dimensional tensor. Up next: reductions too
Reviewed By: bixia, wrengr
Differential Revision: https://reviews.llvm.org/D114024
|
 | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir |
 | mlir/lib/ExecutionEngine/SparseTensorUtils.cpp |
 | mlir/test/Dialect/SparseTensor/sparse_out.mlir |
 | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir |
 | mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp |
Commit
254f9311fe05897ec9ef600c81112f85f9d8c95d
by Vitaly Buka[NFC][sanitizer] Fix veradic-macro warning in RAW_CHECK
|
 | compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h |
Commit
062ef8f6b472a71685941391ab93bfd68ce93d71
by i[Driver][Android] Remove unneeded isNoExecStackDefault
ld.lld used by Android ignores .note.GNU-stack and defaults to noexecstack, so the `-z noexecstack` linker option is unneeded.
The `--noexecstack` assembler option is unneeded because AsmPrinter.cpp prints `.section .note.GNU-stack,"",@progbits` (when `llvm.init.trampoline` is unused), so the assembler won't synthesize an executable .note.GNU-stack.
Reviewed By: danalbert
Differential Revision: https://reviews.llvm.org/D113840
|
 | clang/lib/Driver/ToolChains/Gnu.cpp |
 | clang/lib/Driver/ToolChain.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/include/clang/Driver/ToolChain.h |
 | clang/test/Driver/linux-as.c |
 | clang/test/Driver/linux-ld.c |
 | clang/lib/Driver/ToolChains/Linux.h |
 | clang/test/Driver/integrated-as.c |
 | clang/lib/Driver/ToolChains/Linux.cpp |
Commit
4a9523c55fa11d85a4edbf24abc2c17bb3849fbc
by richardPR52537: When performing a no-op TreeTransform of a rewritten binary operator, mark any functions it calls as referenced.
|
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/TreeTransform.h |
 | clang/test/SemaCXX/compare-cxx2a.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
5b8bbbecfae3bc1cb98726bd0b1ea829adb726be
by zarko[NFC][llvm] Inclusive language: reword and remove uses of sanity in llvm/lib/Target
Reworded removed code comments that contain `sanity check` and `sanity test`.
|
 | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp |
 | llvm/lib/Target/Lanai/LanaiISelLowering.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/Mips/MipsISelLowering.cpp |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/lib/Target/AVR/AVRISelLowering.cpp |
 | llvm/lib/Target/VE/VEInstrInfo.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp |
 | llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp |
 | llvm/lib/Target/XCore/XCoreISelLowering.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp |
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp |
 | llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp |
 | llvm/lib/Target/BPF/BPFISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp |
 | llvm/lib/Target/MSP430/MSP430ISelLowering.cpp |
 | llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp |
 | llvm/lib/Target/ARC/ARCISelLowering.cpp |
Commit
54adc1675eb893a416e1d2f97a8a4c79a8b5a0aa
by Vitaly Buka[NFC][sanitizer] Add unchanged DenseMap
It's just a copy even without reformatting.
Reviewed By: dvyukov, melver
Differential Revision: https://reviews.llvm.org/D114045
|
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h |
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp |
Commit
234a8301cd6275b948b7e89fb84accc370cb71ae
by Vitaly Buka[NFC][sanitizer] Clang format copied code
Depends on D114045.
Differential Revision: https://reviews.llvm.org/D114046
|
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h |
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp |
Commit
7612cfd31d84f9370af10f1952352b29a0003004
by Vitaly Buka[NFC][sanitizer] Fix headers of DenseMap
Depends on D114046.
Differential Revision: https://reviews.llvm.org/D114047
|
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h |
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp |
Commit
c26dbc4ab4b891c978f8eac76e892af5765e6ac3
by Vitaly Buka[sanitizer] Fix DenseMap for compiler-rt
Depends on D114047.
Differential Revision: https://reviews.llvm.org/D114048
|
 | compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h |
 | compiler-rt/lib/sanitizer_common/CMakeLists.txt |
 | compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h |
 | llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn |
 | compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt |
Commit
24d1673c8b9ba32083ad3fa8d587a9fab8b637ad
by zixuan.wu[llvm-tblgen][RISCV] Make llvm-tblgen RISCVCompressInstEmitter to be common infra across different targets
Not only RISCV but also other target such as CSKY, there are compressed instructions mixed with normal instructions. To reuse the basic infra to compress/uncompress and predict instruction, we need reconstruct the RISCVCompressInstEmitter and make it more general and suitable for other target.
Differential Revision: https://reviews.llvm.org/D113475
|
 | llvm/utils/TableGen/CompressInstEmitter.cpp |
 | llvm/test/TableGen/AsmPredicateCombiningRISCV.td |
 | llvm/utils/TableGen/RISCVCompressInstEmitter.cpp |
 | llvm/include/llvm/Target/Target.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfoC.td |
 | llvm/utils/TableGen/CMakeLists.txt |
Commit
59c84774d21ab5a38c59d62239d37010f2a1e9cf
by zarko[NFC][llvm] Inclusive language: remove uses of sanity in llvm/lib/ExecutionEngine/
Reworded and removed code comments to avoid using `sanity check` and `sanity test`.
|
 | llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp |
 | llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp |
 | llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp |
 | llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h |
 | llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp |
 | llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp |
Commit
de34a940ae72dfa6425a025538484f9505ca1d42
by pengfei.wang[X86] Add -mskip-rax-setup support to align with GCC
AMD64 ABI mandates caller to specify the number of used SSE registers when passing variable arguments. GCC also provides option -mskip-rax-setup to skip the setup of rax when SSE is disabled. This helps to reduce the code size, see pr23258.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D112413
|
 | llvm/test/CodeGen/X86/pr23258.ll |
 | clang/include/clang/Driver/Options.td |
 | clang/test/Driver/x86_features.c |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/CodeGen/pr23258.c |
Commit
972219195eff52437e578d89accabc563de0be3f
by llvmgnsyncbot[gn build] Port 24d1673c8b9b
|
 | llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn |
Commit
74115602e82d0e758f8e311d545e127ce0a48cd7
by kazu[clang] Use range-based for loops with llvm::reverse (NFC)
|
 | clang/lib/Driver/SanitizerArgs.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp |
 | clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp |
 | clang/lib/Serialization/ModuleManager.cpp |
 | clang/lib/Serialization/ASTWriter.cpp |
Commit
49682f14bf3fb8db5e2721d9896b27bb4c2bd635
by alexey.bader[SPIR-V] Add translator tool
Add a tool for constructing commands for translating LLVM IR to SPIR-V.
Used by HIPSPV tool chain (D110618).
Reviewed By: bader
Differential Revision: https://reviews.llvm.org/D112404
|
 | clang/lib/Driver/ToolChains/SPIRV.h |
 | clang/lib/Driver/CMakeLists.txt |
 | clang/lib/Driver/ToolChains/SPIRV.cpp |
Commit
111d8f785b3a2a163411cef00327248d35571612
by Vitaly Bukatsan: remove quadratic behavior in pthread_join
pthread_join needs to map pthread_t of the joined thread to our Tid. Currently we do this with linear search over all threads. This has quadratic complexity and becomes much worse with the new tsan runtime, which memorizes all threads that ever existed.
To resolve this add a hash map of live threads only (that are still associated with pthread_t) and use it for the mapping.
With the new tsan runtime some programs spent 1/3 of time in this mapping. After this change the mapping disappears from profiles.
Depends on D113996.
Reviewed By: vitalybuka, melver
Differential Revision: https://reviews.llvm.org/D113997
|
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp |
Commit
d61840c168a34339aa8e602adf5aba98924a6f61
by llvmgnsyncbot[gn build] Port 49682f14bf3f
|
 | llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn |
Commit
92832e4889ae6038cc8b3e6e449af2a9b9374ab4
by Louis Dionne[libc++] Enable <atomic> when threads are disabled
std::atomic is, for the most part, just a thin veneer on top of compiler builtins. Hence, it should be available even when threads are not available on the system, and in fact there has been requests for such support.
This patch: - Moves __libcpp_thread_poll_with_backoff to its own header so it can be used in <atomic> when threads are disabled. - Adds a dummy backoff policy for atomic polling that doesn't know about threads. - Adjusts the <atomic> feature-test macros so they are provided even when threads are disabled. - Runs the <atomic> tests when threads are disabled.
rdar://77873569
Differential Revision: https://reviews.llvm.org/D114109
|
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/default.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp |
 | libcxx/include/atomic |
 | libcxx/include/__threading_support |
 | libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/bool.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.order/memory_order_new.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp |
 | libcxx/test/std/atomics/types.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.volatile.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp |
 | libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp |
 | libcxx/src/memory.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp |
 | libcxx/utils/generate_header_tests.py |
 | libcxx/test/libcxx/no_assert_include.compile.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/test_and_set.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/init.pass.cpp |
 | libcxx/test/std/atomics/atomics.general/replace_failure_order.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp |
 | libcxx/include/CMakeLists.txt |
 | libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp |
 | libcxx/include/__memory/shared_ptr.h |
 | libcxx/test/std/atomics/atomics.types.generic/address.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp |
 | libcxx/test/libcxx/double_include.sh.cpp |
 | libcxx/test/std/atomics/atomics.order/memory_order.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.ptr.volatile.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/throw.pass.cpp |
 | libcxx/utils/generate_feature_test_macro_components.py |
 | libcxx/include/module.modulemap |
 | libcxx/test/libcxx/atomics/atomics.order/memory_order.underlying_type.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/standard_layout.compile.pass.cpp |
 | libcxx/test/std/atomics/atomics.fences/atomic_thread_fence.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp |
 | libcxx/test/libcxx/atomics/version.pass.cpp |
 | libcxx/test/libcxx/atomics/libcpp-has-no-threads.compile.fail.cpp |
 | libcxx/include/__config |
 | libcxx/test/std/atomics/atomics.flag/clear.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp |
 | libcxx/test/std/atomics/atomics.fences/atomic_signal_fence.pass.cpp |
 | libcxx/test/libcxx/atomics/libcpp-has-no-threads.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp |
 | libcxx/test/libcxx/atomics/ext-int.verify.cpp |
 | libcxx/test/std/depr/depr.atomics/depr.atomics.nonmembers/atomic_init.depr_in_cxx20.verify.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp |
 | libcxx/test/std/atomics/atomics.lockfree/lockfree.pass.cpp |
 | libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp |
 | libcxx/test/libcxx/min_max_macros.compile.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/dtor.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp |
 | libcxx/include/thread |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp |
 | libcxx/test/std/atomics/atomics.order/kill_dependency.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_clear.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp |
 | libcxx/include/__thread/poll_with_backoff.h |
 | libcxx/test/std/atomics/atomics.general/replace_failure_order_codegen.sh.cpp |
 | libcxx/utils/generate_header_inclusion_tests.py |
 | libcxx/test/std/atomics/atomics.types.generic/constexpr_noexcept.compile.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp |
 | libcxx/include/version |
 | libcxx/test/std/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp |
 | libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp |
Commit
c72356951245e7c5ea8186174e7d16dc33f62cb1
by llvmgnsyncbot[gn build] Port 92832e4889ae
|
 | llvm/utils/gn/secondary/libcxx/include/BUILD.gn |
Commit
a9fba2be35db674971382e38b99a31403444d9bf
by pengfei.wang[X86][ABI] Do not return float/double from x87 registers when x87 is disabled
This is aligned with GCC's behavior. Also, alias `-mno-fp-ret-in-387` to `-mno-x87`, by which we can fix pr51498.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D112143
|
 | clang/test/Driver/x86-target-features.c |
 | clang/include/clang/Driver/Options.td |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/no-ret-in-x87-reg.ll |
 | llvm/lib/Target/X86/X86CallingConv.td |
Commit
6113ea8124d7db8620d392c85f96d78784918306
by pengfei.wang[X86][Driver] Add X86 target option to avoid fail to other targets. NFC
|
 | clang/test/Driver/x86_features.c |
Commit
4a8734deb7d54cf15f28b87cdb8a4f601852c10d
by arthur.j.odwyer[libc++] [test] Add "robust_re_difference_type.compile.pass.cpp" for all the algorithms.
Also, mark these tests as compile-only. They actually are safe to run — notice that the code "runs" at constexpr-time in C++20, without error — because both of the input ranges are entirely filled with nullptr, so no matter how you shuffle the elements, they remain sorted and partitioned and heapified and everything. But there's no real reason to run them at runtime, so let's just avoid the distraction.
Test cases that fail in trunk right now are commented out with `TODO FIXME`.
Differential Revision: https://reviews.llvm.org/D113906
|
 | libcxx/test/std/algorithms/robust_against_adl_on_new.pass.cpp |
 | libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp |
 | libcxx/test/support/test_macros.h |
 | libcxx/test/std/algorithms/robust_against_adl.compile.pass.cpp |
 | libcxx/test/std/algorithms/robust_against_adl.pass.cpp |
Commit
0c7890c844fdc7adb6d0cf58403e3fdd7407915d
by riddleriver[mlir] Convert NamedAttribute to be a class
NamedAttribute is currently represented as an std::pair, but this creates an extremely clunky .first/.second API. This commit converts it to a class, with better accessors (getName/getValue) and also opens the door for more convenient API in the future.
Differential Revision: https://reviews.llvm.org/D113956
|
 | mlir/test/lib/Dialect/Test/TestPatterns.cpp |
 | mlir/lib/Target/Cpp/TranslateToCpp.cpp |
 | mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp |
 | mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp |
 | mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp |
 | mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp |
 | mlir/unittests/TableGen/OpBuildGen.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp |
 | mlir/lib/IR/BuiltinDialect.cpp |
 | mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp |
 | mlir/test/lib/IR/TestBuiltinAttributeInterfaces.cpp |
 | mlir/include/mlir/IR/OperationSupport.h |
 | mlir/unittests/TableGen/StructsGenTest.cpp |
 | mlir/include/mlir/IR/FunctionSupport.h |
 | mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp |
 | mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp |
 | mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp |
 | flang/lib/Optimizer/Dialect/FIROps.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp |
 | mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp |
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/include/mlir/IR/Operation.h |
 | mlir/include/mlir/IR/Attributes.h |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/lib/CAPI/IR/IR.cpp |
 | mlir/lib/IR/Attributes.cpp |
 | mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp |
 | mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td |
 | mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp |
 | mlir/lib/IR/BuiltinAttributes.cpp |
 | mlir/test/lib/Dialect/Test/TestDialect.cpp |
 | mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp |
 | mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp |
 | mlir/test/mlir-tblgen/op-result.td |
 | mlir/unittests/IR/OperationSupportTest.cpp |
 | mlir/lib/IR/AsmPrinter.cpp |
 | mlir/lib/IR/Verifier.cpp |
 | mlir/lib/Transforms/Utils/Utils.cpp |
 | mlir/include/mlir/Target/LLVMIR/LLVMTranslationInterface.h |
 | mlir/lib/Dialect/DLTI/DLTI.cpp |
 | mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp |
 | mlir/lib/IR/OperationSupport.cpp |
 | mlir/test/lib/IR/TestPrintNesting.cpp |
 | mlir/lib/Dialect/Shape/IR/Shape.cpp |
 | mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp |
 | mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp |
 | mlir/lib/Dialect/GPU/IR/GPUDialect.cpp |
 | mlir/lib/Parser/Parser.cpp |
 | mlir/lib/CAPI/IR/BuiltinAttributes.cpp |
 | mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp |
 | mlir/lib/Dialect/SPIRV/Transforms/DecorateCompositeTypeLayoutPass.cpp |
 | mlir/lib/Target/SPIRV/Serialization/Serializer.cpp |
 | mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp |
 | mlir/lib/Transforms/ViewOpGraph.cpp |
Commit
26e90423f4b81de7d4a6011134308c3e454964c0
by springerm[mlir][linalg][bufferize][NFC] Decouple ComprehensiveBufferize from tensor dialect
Add a new BufferizableOpInterface method `isNotConflicting` that can be used to implement custom analysis rules.
Differential Revision: https://reviews.llvm.org/D113961
|
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp |
 | mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td |
Commit
ebf8d74e929d908829eda4ad8548ec21e2dbc6ae
by springerm[mlir][linalg][bufferize] Fix bufferize bug where non-tensor ops are not skipped
`BufferizableOpInterface::bufferize` will only be called on ops that have tensor operands and/or results.
Differential Revision: https://reviews.llvm.org/D113962
|
 | mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp |
 | mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir |
Commit
b10562612f2e67bda7813ae9586f0afd37dc3c29
by douglas.yungFix Windows build after commit 49682f1.
|
 | clang/lib/Driver/ToolChains/SPIRV.cpp |
Commit
54c99842079997b0fe208acdab01e540c0d81b51
by zinenko[mlir][Python] Fix generation of accessors for Optional
Previously, in case there was only one `Optional` operand/result within the list, we would always return `None` from the accessor, e.g., for a single optional result we would generate:
``` return self.operation.results[0] if len(self.operation.results) > 1 else None ```
But what we really want is to return `None` only if the length of `results` is smaller than the total number of element groups (i.e., the optional operand/result is in fact missing).
This commit also renames a few local variables in the generator to make the distinction between `isVariadic()` and `isVariableLength()` a bit more clear.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D113855
|
 | mlir/test/python/dialects/python_test.py |
 | mlir/test/mlir-tblgen/op-python-bindings.td |
 | mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp |
 | mlir/python/mlir/dialects/_linalg_ops_ext.py |
 | mlir/test/python/python_test_ops.td |
 | mlir/test/python/dialects/linalg/ops.py |
Commit
e81d73ed92336c607ac7c2aeec75f5cec873f2d1
by diana.picus[fir] Add fir.constc conversion
Add the codegen for fir.constc.
This patch is part of the upstreaming effort from fir-dev.
Differential Revision: https://reviews.llvm.org/D114063
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/test/Fir/convert-to-llvm.fir |
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
Commit
9bda9a39800f44e79f4379230bf0949739c86355
by czhengsz[PowerPC] fix typos in comments, NFC
|
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
Commit
7aa2ce0fab3c21cf87c5884f6bf8bdece1b6fe1c
by kuhnel[NFC][clangd] fix clang-tidy finding on isa_and_nonnull
This is a cleanup of the only llvm-prefer-isa-or-dyn-cast-in-conditionals finding in the clangd code base. This patch was created by automatically applying the fixes from clang-tidy.
Differential Revision: https://reviews.llvm.org/D113899
|
 | clang-tools-extra/clangd/Selection.cpp |
Commit
dd6281c4c172d7a9571ae8012cdf44d23d818b25
by flo[SCEV] Add additional guard tests with swapped condition ops.
|
 | llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll |
Commit
da9f2ba3b1a6ffddc548ff8da16ca882ef5bb716
by flo[SCEV] Reorder operands checks in collectConditions.
The initial two cases require a SCEVConstant as RHS. Pull up the condition to check and swap SCEVConstants from below. Also remove a redundant check & swap if RHS is SCEVUnknown.
|
 | llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
9cef7c1ca9c2b440674ccfd60bbeb27ab0931c09
by david.sherwood[CodeGen][SVE] Add missing isel patterns for vector_reverse
We were missing patterns for vector_reverse of unpacked FP vector types, as well as all the supported bfloat vectors.
Tests added here:
CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
Differential Revision: https://reviews.llvm.org/D114089
|
 | llvm/lib/Target/AArch64/SVEInstrFormats.td |
 | llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll |
Commit
af6ee58092a3af339ca50e2d4514c9597f65c33c
by clementval[fir] Add fir.embox conversion
Convert a `fir.embox` operation to LLVM IR dialect. A `fir.embox` is converted to a sequence of operation that create, allocate if needed, and populate a descriptor.
Current limitiation: alignment is set by default but should be retrieved in the specific target.
This patch is part of the upstreaming effort from fir-dev branch.
Reviewed By: kiranchandramohan, awarzynski
Differential Revision: https://reviews.llvm.org/D113756
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/include/flang/Optimizer/Dialect/FIRTypes.td |
 | flang/include/flang/Optimizer/Support/TypeCode.h |
 | flang/lib/Optimizer/Dialect/FIRType.cpp |
 | flang/test/Fir/convert-to-llvm.fir |
Commit
8a4fcfc242a0f12e346c3d6026f2ad8764b08f1e
by Jan SvobodaRemove non-affecting module maps from PCM files.
Problem: PCM file includes references to all module maps used in compilation which created PCM. This problem leads to PCM-rebuilds in distributed compilations as some module maps could be missing in isolated compilation. (For example in our distributed build system we create a temp folder for every compilation with only modules and headers that are needed for that particular command).
Solution: Add only affecting module map files to a PCM-file.
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D106876
|
 | clang/test/SemaCXX/Inputs/compare.modulemap |
 | clang/test/Modules/Inputs/AddRemoveIrrelevantModuleMap/b.modulemap |
 | clang/test/Modules/Inputs/AddRemoveIrrelevantModuleMap/a.modulemap |
 | clang/lib/Serialization/ASTWriter.cpp |
 | clang/test/Modules/add-remove-irrelevant-mobile-map.m |
 | clang/test/SemaCXX/compare-modules-cxx2a.cpp |
 | clang/include/clang/Serialization/ASTWriter.h |
Commit
9fe6b9e802543c75dbb1d1c12ade64b7734f55aa
by fraser[TargetLowering][RISCV] Fixed a scalable vector issue when lowering [s|u]mul.overflow intrinsics
Fixed the vector type issue that where we used getVectorNumElements() should be replaced by getVectorElementCount() when lowering these intrinsics.
This is similar to D94149
Signed-off-by: Eric Tang <tangxingxin1008@gmail.com>
Reviewed By: craig.topper, frasercrmck
Differential Revision: https://reviews.llvm.org/D109809
|
 | llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/smulo-sdnode.ll |
 | llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll |
Commit
09f39862dc08d3d1c9ca86ebc08df835da07d68c
by flo[docs] Remove mention of retired smooshlab IRC bot.
the smooshlab bot has been offline for years. Remove it from the list of IRC bots.
|
 | llvm/docs/GettingInvolved.rst |
Commit
1235ca37bd3f0504c7c3555cef48ef143bdf4720
by flo[docs] Update outdated mentions of lab.llvm.org:8011.
Some places were still referring to the outdated buildbot URL http://lab.llvm.org:8011. Update those to use the new URL http://lab.llvm.org/buildbot/#.
|
 | llvm/docs/MyFirstTypoFix.rst |
 | llvm/docs/GettingInvolved.rst |
Commit
c772a9b6eb1479e042105e4334f0b395fadb1462
by Jan Svoboda[clang][modules] NFC: Fix typo in test name
|
 | clang/test/Modules/add-remove-irrelevant-mobile-map.m |
 | clang/test/Modules/add-remove-irrelevant-module-map.m |
Commit
8e47b83ec93de6f92d077240a3665f3a03076957
by mubashar.ahmad[AArch64][ARM] Enablement of Cortex-A710 Support
Phabricator review: https://reviews.llvm.org/D113256
|
 | clang/test/Misc/target-invalid-cpu-note.c |
 | llvm/include/llvm/Support/ARMTargetParser.def |
 | llvm/lib/Target/ARM/ARMSubtarget.h |
 | clang/docs/ReleaseNotes.rst |
 | clang/test/Driver/arm-cortex-cpus.c |
 | llvm/unittests/Support/TargetParserTest.cpp |
 | llvm/lib/Target/AArch64/AArch64Subtarget.h |
 | llvm/lib/Target/ARM/ARM.td |
 | llvm/lib/Target/ARM/ARMSubtarget.cpp |
 | llvm/include/llvm/Support/AArch64TargetParser.def |
 | llvm/lib/Target/AArch64/AArch64Subtarget.cpp |
 | llvm/lib/Target/AArch64/AArch64.td |
 | clang/test/Driver/aarch64-cpus.c |
Commit
17ec9d1f6bc1c64a3a49d16852e6f9d705371433
by Jan Svoboda[clang][deps] Don't emit `-fmodule-map-file=`
During explicit modules build, when all modules are provided via `-fmodule-file=<path>` and implicit modules and implicit module maps are disabled (`-fno-implicit-modules`, `-fno-implicit-module-maps`), we don't need to load the original module map files at all. This patch stops emitting the `-fmodule-map-file=` arguments we don't need, saving some compilation time due to avoiding parsing such module maps and making the command line shorter.
Reviewed By: bnbarham
Differential Revision: https://reviews.llvm.org/D113473
|
 | clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp |
 | clang/test/ClangScanDeps/modules-inferred.m |
 | clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m |
 | clang/test/ClangScanDeps/modules-pch-common-submodule.c |
 | clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp |
 | clang/test/ClangScanDeps/modules-pch.c |
 | clang/test/ClangScanDeps/modules-full.cpp |
 | clang/test/ClangScanDeps/modules-pch-common-via-submodule.c |
Commit
7b6790850968031fe1c098ed6dcc196ddc547ea5
by Jan Svoboda[clang][lex] NFC: Remove unused HeaderFileInfo member
This patch removes `HeaderFileInfo::isNonDefault`, which is not being used anywhere.
Reviewed By: dexonsmith, vsapsai
Differential Revision: https://reviews.llvm.org/D114092
|
 | clang/include/clang/Lex/HeaderSearch.h |
Commit
197576c40986085cbd5250283e1e80a2679c9cf0
by Jan Svoboda[clang][lex] Refactor check for the first file include
This patch refactors the code that checks whether a file has just been included for the first time.
The `HeaderSearch::FirstTimeLexingFile` function is removed and the information is threaded to the original call site from `HeaderSearch::ShouldEnterIncludeFile`. This will make it possible to avoid tracking the number of includes in a follow up patch.
Depends on D114092.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D114093
|
 | clang/lib/Lex/PPLexerChange.cpp |
 | clang/include/clang/Lex/Lexer.h |
 | clang/include/clang/Lex/Preprocessor.h |
 | clang/lib/Lex/HeaderSearch.cpp |
 | clang/include/clang/Lex/HeaderSearch.h |
 | clang/lib/Lex/PPDirectives.cpp |
 | clang/lib/Lex/Lexer.cpp |
Commit
e1acbda158b3f35d7905787f04d8c2f64cfa8c8e
by fraser[AArch64][RISCV] Fix expected smulo/umulo test output
These tests were introduced in D109809 which I pushed on behalf of @tangxingxin1008. I must have not understood the correct arcanist workflow for this and as such may have locally tested a stale build.
This patch fixes the issue by re-running update_llc_test_checks.py on all four tests.
|
 | llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll |
 | llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/smulo-sdnode.ll |
 | llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll |
Commit
00200dbda31674e597493e3f05fcb293d7b3dc4a
by flo[LV] Add test case for PR52024.
This patch adds a reduced version of the test case from PR52024.
Together with 764d9aa97905 the test causes a crash, because LV expands a SCEV expression during code generation, when the dominator tree is not up-to-date.
|
 | llvm/test/Transforms/LoopVectorize/scev-during-mutation.ll |
Commit
cc505c0bb7335102eea98517e5ad0e9ca831133f
by kiran.chandramohan[Flang] Notify conversion failure for Proc ops, types
Add the FIR to LLVM conversion patterns for the BoxProcHostOp, EmboxProcOp, and UnboxProcOp ops and the boxproc type. These are currently unimplemented. Implementation will come at a later time when support for Fortran 2003 procedure pointer feature is added.
Reviewed By: clementval, rovka
Differential Revision: https://reviews.llvm.org/D113879
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/lib/Optimizer/CodeGen/TypeConverter.h |
 | flang/test/Fir/convert-to-llvm-invalid.fir |
Commit
3a56f5622f392660a3af52d85368661b812f5978
by pavel[lldb] Convert internal platform usages GetSupportedArchitectures
|
 | lldb/source/Target/Platform.cpp |
Commit
0800109d26336ac68bfc17d66b6d3087e7d68e1b
by diana.picus[fir] Add tests for mlir::ComplexType conversion
It turns out that mlir::ComplexType is translated the same way with or without a conversion in TypeConverter.h. Add tests to make sure this doesn't change in the future.
This patch is part of the upstreaming effort from fir-dev.
Differential Revision: https://reviews.llvm.org/D113883
|
 | flang/test/Fir/types-to-llvm.fir |
Commit
3950e1be8d6ec602fda525ea20340fd3f8e2e919
by thakis[clang] Remove CLANG_ROUND_TRIP_CC1_ARGS and always roundtrip in +assert builds
This removes the ability to disable roundtripping in assert builds. (Roundtripping happens by default in assert builds both before and after this patch.)
The CLANG_ROUND_TRIP_CC1_ARGS was added as an escape hatch 9 months ago in https://reviews.llvm.org/D97462, with a FIXME to remove it eventually. It's probably time to remove it.
Differential Revision: https://reviews.llvm.org/D114120
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/CMakeLists.txt |
Commit
4c56f734b35dd3e16b75da46c023cd4b92f83f8c
by pavel[lldb] (Partially) enable formatting of utf strings before the program is started
The StringPrinter class was using a Process instance to read memory. This automatically prevented it from working before starting the program.
This patch changes the class to use the Target object for reading memory, as targets are always available. This required moving ReadStringFromMemory from Process to Target.
This is sufficient to make frame/target variable work, but further changes are necessary for the expression evaluator. Preliminary analysis indicates the failures are due to the expression result ValueObjects failing to provide an address, presumably because we're operating on file addresses before starting. I haven't looked into what would it take to make that work.
Differential Revision: https://reviews.llvm.org/D113098
|
 | lldb/source/DataFormatters/StringPrinter.cpp |
 | lldb/include/lldb/Target/Process.h |
 | lldb/source/Plugins/Language/ObjC/NSString.cpp |
 | lldb/include/lldb/DataFormatters/FormattersHelpers.h |
 | lldb/include/lldb/DataFormatters/StringPrinter.h |
 | lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp |
 | lldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py |
 | lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp |
 | lldb/source/Target/Target.cpp |
 | lldb/source/DataFormatters/FormattersHelpers.cpp |
 | lldb/source/Target/Process.cpp |
 | lldb/include/lldb/Target/Target.h |
Commit
dead1c11ff1c31cf096b5183ed6da4d31a30c6a8
by flo[LV] Add basic check lines to test added in 00200dbda31674e59.
|
 | llvm/test/Transforms/LoopVectorize/scev-during-mutation.ll |
Commit
22d332a0a20f1d25d24bdefc6be2a71e91275224
by andrzej.warzynski[flang][codegen] Add `fir.end` conversion placeholder
This patch extends the FIRToLLVMLowering pass in Flang by adding a hook to transform fir.end. This is just a placeholder for now as fir.end is not required yet.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Patch originally written by: Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Differential Revision: https://reviews.llvm.org/D113295
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/test/Fir/convert-to-llvm-invalid.fir |
Commit
b2ad420a786a4148893b0c5a2a56aeb4810a6fc1
by andrzej.warzynski[flang][nfc] Remove trailing whitespaces from tests
|
 | flang/test/Fir/convert-to-llvm.fir |
 | flang/test/Fir/types-to-llvm.fir |
 | flang/test/Fir/convert-to-llvm-invalid.fir |
Commit
55a79318c60d8a39329195f43bf43b89da9a638e
by adamcz[clang][clangd] Improve signature help for variadic functions.
This covers both C-style variadic functions and template variadic w/ parameter packs.
Previously we would return no signatures when working with template variadic functions once activeParameter reached the position of the parameter pack (except when it was the only param, then we'd still show it when no arguments were given). With this commit, we now show signathure help correctly.
Additionally, this commit fixes the activeParameter value in LSP output of clangd in the presence of variadic functions (both kinds). LSP does not allow the activeParamter to be higher than the number of parameters in the active signature. With "..." or parameter pack being just one argument, for all but first argument passed to "..." we'd report incorrect activeParameter value. Clients such as VSCode would then treat it as 0, as suggested in the spec) and highlight the wrong parameter.
In the future, we should add support for per-signature activeParamter value, which exists in LSP since 3.16.0. This is not part of this commit.
Differential Revision: https://reviews.llvm.org/D111318
|
 | clang-tools-extra/clangd/CodeComplete.cpp |
 | clang/test/CodeCompletion/variadic-template.cpp |
 | clang/include/clang/Sema/Overload.h |
 | clang/lib/Sema/SemaOverload.cpp |
 | clang/lib/Sema/SemaCodeComplete.cpp |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
Commit
11982eed2bc818fdbd525e3237a77a3efeb6a497
by xingxue[libunwind][AIX] Mark signal_frame.pass.cpp UNSUPPORTED on AIX
Summary: This patch marks libunwind test case signal_frame.pass.cpp as UNSUPPORTED on AIX because the AIX assembler does not support CFI directives.
Reviewed by: danielkiss, MaskRay, ldionne, libunwind
Differential Revision: https://reviews.llvm.org/D113607
|
 | libunwind/test/signal_frame.pass.cpp |
Commit
7d11c5dac21015ca847e9989ec3623137d05010c
by aschwaighoferCoro: Remove coro_end and coro_suspend_retcon in private unprocessed functions
We might emit functions that are private and never called. The coro split pass only processes functions that might be called. Remove intrinsics that we can't generate code for.
rdar://84619859
Differential Revision: https://reviews.llvm.org/D114021
|
 | llvm/lib/Transforms/Coroutines/CoroCleanup.cpp |
 | llvm/test/Transforms/Coroutines/coro-retcon-once-private.ll |
Commit
26f56438e3dab44cea4c8f16d4cb16e9424b02c6
by bradley.smith[Clang][SVE] Properly enable/disable dependant SVE target features based upon +(no)sve.* options
Co-authored-by: Graham Hunter <graham.hunter@arm.com>
Differential Revision: https://reviews.llvm.org/D113776
|
 | clang/test/Driver/aarch64-implied-sve-features.c |
 | llvm/include/llvm/Support/AArch64TargetParser.def |
 | clang/lib/Driver/ToolChains/Arch/AArch64.cpp |
 | clang/test/Driver/aarch64-cpus.c |
 | llvm/unittests/Support/TargetParserTest.cpp |
Commit
1ce516d43f105f4ffc36da7627ee51c0c507d1e9
by arthur.j.odwyer[libc++] Minor fixups in the new introsort code.
Differential Revision: https://reviews.llvm.org/D114133
|
 | libcxx/include/__algorithm/sort.h |
Commit
18ba57a53a818bc155aa7d1f65dca79879aa5683
by jay.foad[AMDGPU] Regenerate test checks in splitkit-getsubrangeformask.ll
|
 | llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll |
Commit
bab39816085d715e52c2131fa249ccd10178764b
by housel[libunwind] Add an interface for dynamic .eh_frame registration
The libgcc runtime library provides __register_frame and __deregister_frame functions, which can be used by dynamic code generators to register an .eh_frame section, which contains one or more Call Frame Information records, each consisting of a Common Information Entry record followed by one or more Frame Description Entry records. This libunwind library also provides __register_frame and __deregister_frame functions, but they are aliases for __unw_add_dynamic_fde and __unw_remove_dynamic_fde and thus can only take a single FDE.
This patch adds __unw_add_dynamic_eh_frame_section and __unw_remove_dynamic_eh_frame_section functions which explicitly use the .eh_frame format. Clients such as the ORCv2 platform and runtime can check for these functions and use them if unwinding is being provided by libunwind, or fall back to __register_frame and __deregister_frame if unwinding is provided by libgcc.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D111863
|
 | libunwind/src/libunwind_ext.h |
 | libunwind/src/DwarfParser.hpp |
 | libunwind/src/libunwind.cpp |
Commit
a3f2be18b8fe440893d9dae260753b6bceb0e1aa
by jpienaar[mlir][doc] Rename doc to match previous name
Previous change inadvertently changed link.
|
 | mlir/docs/Dialects/ShapeDialect.md |
 | mlir/docs/Dialects/Shape.md |
Commit
fb1a06aa13815c20fe2fdffc520d530e98dfae7a
by Krzysztof.Drewniak[MLIR][GPU] Add target arguments to SerializeToHsaco
Compiling code for AMD GPUs requires knowledge of which chipset is being targeted, especially if the code uses chipset-specific intrinsics (which is the case in a downstream convolution generator). This commit adds `target`, `chipset` and `features` arguments to the SerializeToHsaco constructor to enable passing in this required information.
It also amends the ROCm integration tests to pass in the target chipset, which is set to the chipset of the first GPU on the system executing the tests.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D114107
|
 | mlir/test/Integration/GPU/ROCM/vecadd.mlir |
 | mlir/lib/Dialect/GPU/CMakeLists.txt |
 | mlir/test/Integration/GPU/ROCM/vector-transferops.mlir |
 | mlir/test/lit.site.cfg.py.in |
 | mlir/test/Integration/GPU/ROCM/two-modules.mlir |
 | mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp |
 | mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir |
 | mlir/lib/ExecutionEngine/CMakeLists.txt |
 | mlir/test/Integration/GPU/ROCM/lit.local.cfg |
Commit
e6c66ef55e63bb0e19f435de33eb12257680120c
by andrzej.warzynski[flang][CodeGen] Transform `fir.field_index` to a sequence of LLVM MLIR
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.field_index` to a sequence of LLVM MLIR instructions.
This is part of the upstreaming effort from the `fir-dev` branch in [1].
[1] https://github.com/flang-compiler/f18-llvm-project
Differential Revision: https://reviews.llvm.org/D113988
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
|
 | flang/lib/Optimizer/CodeGen/CodeGen.cpp |
 | flang/test/Fir/convert-to-llvm.fir |
Commit
ff64b2933a7df36b92630cef0e86995109a19e82
by kerry.mclaughlin[LoopVectorize] Check the number of uses of an FAdd before classifying as ordered
checkOrderedReductions looks for Phi nodes which can be classified as in-order, meaning they can be vectorised without unsafe math. In order to vectorise the reduction it should also be classified as in-loop by getReductionOpChain, which checks that the reduction has two uses.
In this patch, a similar check is added to checkOrderedReductions so that we now return false if there are more than two uses of the FAdd instruction. This fixes PR52515.
Reviewed By: fhahn, david-arm
Differential Revision: https://reviews.llvm.org/D114002
|
 | llvm/lib/Analysis/IVDescriptors.cpp |
 | llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll |
Commit
08c0a45ab89c64195d8302d3cde20719cbd81d30
by Adrian PrantlUnbreak test after D111899
|
 | lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py |
Commit
45e102a173680fd3c90def79a7f0766ed2786ff0
by bradley.smith[Clang][SVE] Fix windows test breakage in 26f56438e3dab44cea4c8f16d4cb16e9424b02c6
|
 | clang/test/Driver/aarch64-implied-sve-features.c |
Commit
a1f9bd32c57649b9f7695fa6564f3f92f09a1785
by kiran.chandramohan[Flang] Add a factory class for creating Complex Ops
Use the factory class in the FIRBuilder. Add unit tests for the factory class function and the convert function of the Complex class.
Reviewed By: clementval, rovka
Differential Revision: https://reviews.llvm.org/D114125
Co-authored-by: Jean Perier <jperier@nvidia.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
|
 | flang/include/flang/Optimizer/Builder/FIRBuilder.h |
 | flang/unittests/Optimizer/Builder/ComplexTest.cpp |
 | flang/lib/Optimizer/Builder/FIRBuilder.cpp |
 | flang/include/flang/Optimizer/Builder/Complex.h |
 | flang/lib/Optimizer/Builder/CMakeLists.txt |
 | flang/lib/Optimizer/Builder/Complex.cpp |
 | flang/unittests/Optimizer/CMakeLists.txt |
Commit
100df68496d1de6795fbc2878b91e5930ac231a6
by listmail[SCEV] Add test coverage for invertible functions of IVs
|
 | llvm/test/Analysis/ScalarEvolution/ne-overflow.ll |
Commit
3821d2ab3bec109a7a61335b75656f185f7a8957
by llvm-dev[X86] LowerRotate - pull out repeated is ISD::ROTL check. NFC.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
1dc1c944d8f940ea096f3d7ccfb8ef43e745d840
by jpienaar[mlir][doc] Avoid name overlap that confuses copy_docs.sh (NFC)
|
 | mlir/docs/Dialects/ShapeDialect.md |
 | mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt |
Commit
1e954a1c6678d315ae233f4141fa3ed8f0d9d122
by pklausler[flang] Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT
Every one was too low by one.
Differential Revision: https://reviews.llvm.org/D114027
|
 | flang/include/flang/Evaluate/real.h |
 | flang/test/Evaluate/folding07.f90 |
Commit
180625fcb478877bfada337705ec4e2e1ecb8d7e
by listmailAdd a breadcrumb comment to make debugging a user error when using ./utils/update_analyze_test_checks.py easier.
We won't talk about how long it took me to figure this out. The difference in batch vs interactive on the "did you mean to print bitcode" message made this confusing.
|
 | llvm/utils/UpdateTestChecks/common.py |
Commit
7796d81ae8204289c6ea07f19e538cf287d3213f
by jperier[flang] Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set
In 'STOP bye bye', do not print 'Fortran STOP:` before 'bye bye' when NO_STOP_MESSAGE environment variable is set at runtime.
Also only exit with code 1 in StopStatementText if this is an ERROR STOP. This matches other compiler behaviors.
Move STOP related unit tests in their own test file and add new tests to cover this change.
Differential Revision: https://reviews.llvm.org/D114152
|
 | flang/unittests/Runtime/Stop.cpp |
 | flang/runtime/stop.cpp |
 | flang/unittests/Runtime/RuntimeCrashTest.cpp |
 | flang/unittests/Runtime/CMakeLists.txt |
Commit
7ca14f6044bfa46efdbb4d4080e36c3265a09a78
by kazu[llvm] Use range-based for loops (NFC)
|
 | llvm/lib/Analysis/ObjCARCInstKind.cpp |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/lib/IR/AsmWriter.cpp |
 | llvm/lib/Target/X86/X86LowerAMXType.cpp |
 | llvm/lib/Analysis/MemorySSAUpdater.cpp |
 | llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp |
 | llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp |
 | llvm/lib/IR/TypeFinder.cpp |
 | llvm/lib/CodeGen/StackProtector.cpp |
 | llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp |
Commit
526dfe3f4d33eea3d32cd8730e5dcbc1b9010d3f
by ravishankarm[mlir][Linalg] Do not return failure when all tile sizes are zero.
Returning failure when tile sizes are all zero prevents the change in the marker. This makes pattern rewriter run the pattern multiple times only to exit when it hits a limit. Instead just clone the operation (since tiling is essentially cloning in this case). Then the transformation filter kicks in to avoid the pattern rewriter to be invoked many times.
Differential Revision: https://reviews.llvm.org/D113949
|
 | mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp |
 | mlir/test/Dialect/Linalg/tile-zero.mlir |
Commit
7a14244cc645bbbcbf5056e7a00fadbb339e92ed
by quinn.pham[NFC][clang] Inclusive language: replace masterPort with mainPort
[NFC] This patch replaces `masterPort` with `mainPort` in these testcases.
Reviewed By: ZarkoCA
Differential Revision: https://reviews.llvm.org/D113505
|
 | clang/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist |
 | clang/test/Analysis/retain-release-inline.m |
 | clang/test/Analysis/retain-release.m |
 | clang/test/ARCMT/objcmt-arc-cf-annotations.m.result |
 | clang/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist |
 | clang/test/Analysis/retain-release.mm |
 | clang/test/ARCMT/objcmt-arc-cf-annotations.m |
Commit
ea12c2cb9c4221095abfb2af7148140783040734
by listmail[SCEV] Move mustprogress based no-self-wrap logic so it applies to all exit conditions
This change moves logic which we'd added specifically for less than tests so that it applies to equalities and greater than tests as well. The basic idea is that if we can show an IV cycles infinitely through the same series on self-wrap, and that the exit condition must be taken to prevent UB, we can conclude that it must be taken before self-wrap and thus infer said flag.
The motivation here is simple loops with unsigned induction variables w/non-one steps and inequality tests. A toy example would be: for (unsigned i = 0; i != N; i += 2) { body; }
If body contains no side effects, and this is a mustprogress function, we can assume that this must be a finite loop and thus that the exit count is N/2.
Differential Revision: https://reviews.llvm.org/D103991
|
 | llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll |
 | llvm/test/Analysis/ScalarEvolution/ne-overflow.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
f1127914d3dcbfbe3bbd943ab84bea3805164295
by pavel[lldb] Deobfuscate python-swigsafecast.swig
This file was way more complicated than it needed to be.
This patch removes the automagic reference-to-pointer delegation and replaces the template specializations with regular free functions (taking reference arguments).
The reason I chose references is twofold: - there are more arguments being passed by reference than by pointer - the reference arguments make it more obvious that there is a lot of leaking going on in there.
Currently, the code was assuming that the pointer arguments have some kind of a special meaning and that pointer functions take ownership of their arguments, which isn't true (it's possible it was true at some point in the past, I haven't done the archeology).
This makes it easier to implement proper lifetime management in follow-up patches.
Differential Revision: https://reviews.llvm.org/D114150
|
 | lldb/bindings/python/python-wrapper.swig |
 | lldb/bindings/python/python-swigsafecast.swig |
Commit
95af9d888b086ecfecdb54c74910467d95128734
by quinn.pham[NFC][lldb] Inclusive language: remove instances of master from comments in lldb
[NFC] As part of using inclusive language within the llvm project, this patch replaces master in these comments.
Reviewed By: clayborg, JDevlieghere
Differential Revision: https://reviews.llvm.org/D114123
|
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp |
 | lldb/source/Core/Debugger.cpp |
Commit
5cf23ecc23afa0e04e5b5e2b3ca8e9e3c988d9ec
by Adrian Prantlfix syntax error
|
 | lldb/test/API/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py |
Commit
a1504281b6070af052a526c84bd03ed2291724e8
by quinn.pham[NFC][mlir] Inclusive language: Replace an instance of master in docs
[NFC] As part of using inclusive language within the llvm project, this patch replaces master with main in `SPIR-V.md`.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D114091
|
 | mlir/docs/Dialects/SPIR-V.md |
Commit
0a8a5902a694c12ae28233ae21bbf73a6d7204bb
by markus.boeck02[mlir] Fully qualify default generated type/attribute printer and parser
This patch makes it possible to use the newly added useDefaultAttributePrinterParser and useDefaultTypePrinterParser dialect options without any using namespace declarations. Two things had to be done to make this possible:
* Fully qualify any type usages or functions from the mlir namespace in the generated C++ code * Makes sure to emit the printers and parsers inside the same namespace as the Dialect
Differential Revision: https://reviews.llvm.org/D114168
|
 | mlir/test/mlir-tblgen/default-type-attr-print-parser.td |
 | mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp |
Commit
f1295563f13ecceeb1aa25d6a5be8ea084c436c4
by nikita.ppv[DSE] Move removePartiallyOverlappedStores() into DSEState (NFC)
So it can use getLocForWriteEx().
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
Commit
46c26991ae63fd47ed11f8420cf6382989baf6bb
by nikita.ppv[DSE] Remove getLocForWrite() (NFCI)
This implements nearly the same logic as getLocForWriteEx(), and is only used in one place. In that context, we should also know that getLocForWriteEx() returns a non-None result. As such, consolidate everything to use one function.
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
Commit
049f6c29a6f0a91263588d470c1b09dccd4c70d4
by muiez[libc++] Resolve missing table_size symbol
The aim of this patch is to resolve the missing `table_size` symbol (see reduced test case). That const variable is declared and defined in //libcxx/include/locale//; however, the test case suggests that the symbol is missing. This is due to a C++ pitfall (highlighted [[ https://quuxplusone.github.io/blog/2020/09/19/value-or-pitfall/ | here ]]). In summary, assigning the reference of `table_size` doesn't enforce the const-ness and expects to find `table_size` in the DLL. The fix is to use `constexpr` or have an out-of-line definition in the src (for consistency).
Differential Revision: https://reviews.llvm.org/D110647
|
 | libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
 | libcxx/lib/abi/CHANGELOG.TXT |
 | libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp |
 | libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
 | libcxx/src/locale.cpp |
 | libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist |
Commit
27ea67136ea067c1e4a3e79eca49583bcbf3953b
by muiez[SystemZ][z/OS] Fix filesystem testing
This patch resolves many of the failures in the `filesystems/` buckets in the libc++ tests. It adds the correct flag to `fopen` and marks a test case as unsupported. In particular, that test assumes time is stored as a 64 bit value when on MVS it is stored as 32 bit.
Differential Revision: https://reviews.llvm.org/D113298
|
 | libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp |
 | libcxx/test/support/filesystem_test_helper.h |
Commit
d26beb0be22d3c4758712b6059400dcaf833e325
by ravishankarm[mlir][Linalg] Add method to check if LinalgTransformationFilter has been applied.
Differential Revision: https://reviews.llvm.org/D114170
|
 | mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp |
 | mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h |
Commit
1a5666acb281c7510504e726ba481d09ab5f5b95
by listmail[SCEV] Defer loop property checks from ea12c2cb as late as possible
This is a speculative compile time optimization to address a reported regression. It's the only thing which vaguely makes sense.
|
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
f27ff7ff0eddf0182b9387d1ac5cd2dfe8f92251
by bmahjour[docs] Add Loop Optimization WG to the online sync-up page
|
 | llvm/docs/GettingInvolved.rst |
Commit
721bb736764787bd03727196b734f74a6c8745e0
by Adrian Prantlmake testcase more robust
|
 | lldb/test/API/lang/objc/real-definition/TestRealDefinition.py |
 | lldb/test/API/lang/objc/real-definition/Foo.m |
Commit
dc1c27149f214ff099e99930226ae312b0cf1910
by arthur.j.odwyer[libc++] Cast to the right `difference_type` in various algorithms
Differential Revision: https://reviews.llvm.org/D113868
|
 | libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp |
 | libcxx/include/__algorithm/search.h |
 | libcxx/include/__algorithm/copy_n.h |
 | libcxx/include/__algorithm/sort.h |
 | libcxx/include/__algorithm/find_end.h |
 | libcxx/include/__algorithm/search_n.h |
 | libcxx/include/__algorithm/sift_down.h |
Commit
3cbc4c487aa253daaa2b4c344022564f8ee3297d
by dblaikiellvm-dwarfdump: Rebuild type names in dwo type units
|
 | llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s |
 | llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units_split_v5.s |
 | llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units_split_v4.s |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
Commit
3b7b4a80414579bcf0b6318b8c63f8f5c65bc441
by arjunpitchanathan[MLIR][NFC] Simplex::markRowRedundant: assert that row is not already marked redundant
|
 | mlir/lib/Analysis/Presburger/Simplex.cpp |
Commit
7c5ecc8b7e1bcd1b02eafeba9bbf3d5bc50d72c5
by jeffniu22[mlir][vector] Insert/extract element can accept index
`vector::InsertElementOp` and `vector::ExtractElementOp` have had their `position` operand changed to accept `AnySignlessIntegerOrIndex` for better operability with operations that use `index`, such as affine loops.
LLVM's `extractelement` and `insertelement` can also accept `i64`, so lowering directly to these operations without explicitly inserting casts is allowed. SPIRV's equivalent ops can also accept `i64`.
Reviewed By: nicolasvasilache, jpienaar
Differential Revision: https://reviews.llvm.org/D114139
|
 | mlir/include/mlir/IR/OpBase.td |
 | mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp |
 | mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir |
 | mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir |
 | mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp |
 | mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp |
 | mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir |
 | mlir/test/Dialect/SparseTensor/sparse_vector.mlir |
 | mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/lib/Dialect/Vector/VectorMultiDimReductionTransforms.cpp |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/test/Conversion/VectorToSPIRV/simple.mlir |
Commit
cbb8b200a6566943d898e51b80769a648a47a04c
by Adrian PrantlRevert "Increase gdbremote timeout."
This reverts commit 6424dc21bf6b73645ef98a35417e0591b2a95939.
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py |
Commit
0c4464a5bd35dd865f568ed68171208e44df16c7
by keithbsmiley[lldb] Fix formatted log statement
Previously this would output literally without replacements
Differential Revision: https://reviews.llvm.org/D114178
|
 | lldb/source/Core/Module.cpp |
Commit
3b463c45288a8e1911517511b92c32fd1f384a5e
by varconst[libc++][NFC] Assign some Ranges tasks to varconst.
Specifically: - [special.mem.concepts]; - [specialized.algorithms].
|
 | libcxx/docs/Status/RangesPaper.csv |
Commit
e3a7f0e2f9ab566bd9b71fb54fe77e947b061a12
by Ahmed Bougacha[AArch64][PAC] Select llvm.ptrauth.sign/sign.generic to PAC*.
The @llvm.ptrauth.sign/sign.generic intrinsics map cleanly to the various AArch64 PAC[IDG][Z][AB] instructions. Select them.
Differential Revision: https://reviews.llvm.org/D91087
|
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/lib/Target/AArch64/AArch64InstrFormats.td |
 | llvm/test/CodeGen/AArch64/ptrauth-intrinsic-sign-generic.ll |
 | llvm/test/CodeGen/AArch64/ptrauth-intrinsic-sign.ll |