Commit
38c68047b04184fefadcd38e759d9526039cce86
by efriedma[SVE] Pass Scalable argument to VectorType::get in Bitcode Reader Pass the Scalability test to VectorType::get in order to be able to deserialize bitcode that contains scalable vector operations Differential Revision: https://reviews.llvm.org/D73144
|
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/test/Bitcode/vscale-round-trip.ll |
Commit
363d27c871f44c45bb70a8adfb0ad93a0bf2e04d
by spatel[x86] fold vperm2x128 to concat of 128-bit high half vectors vperm (ins ?, X, C), (ins ?, Y, C), 0x31 --> concat X, Y This is another shuffle problem seen with PR42024: https://bugs.llvm.org/show_bug.cgi?id=42024 We have this small crack in legalization/lowering/combining/demanded that allows forming a vperm2f128 of high halves with AVX1 when we could do better by peeking through the insert_subvector nodes. AFAICT, it requires IR as shown in the diffs - much larger than legal vectors - to avoid all of the usual folds. Another option would prevent forming the 256-bit vperm in lowering. Differential Revision: https://reviews.llvm.org/D73197
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/x86-interleaved-access.ll |
Commit
8ded83ff7e048bb45e56889f1bf00e36c63e1982
by mmoroz[llvm-cov] Add support for -skip-functions to lcov Summary: This flag was added for the json format to exclude functions from the output. This mirrors that behavior in lcov (where it was previously accepted but ignored). This makes the output file smaller which can be beneficial depending on how you consume it, especially if you don't use this data anyways. Patch by Keith Smiley (@keith). Reviewers: kastiglione, Dor1s, vsk, allevato Reviewed By: Dor1s, allevato Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73160
|
 | llvm/test/tools/llvm-cov/export_functions-lcov.test |
 | llvm/tools/llvm-cov/CoverageExporterLcov.cpp |
Commit
15f1d5d14425528540e1cc4aa776b195a2e1e7e0
by mmoroz[libFuzzer] Add INFO output when LLVMFuzzerCustomMutator is found. Summary: there is an ongoing work on interchangeable custom mutators (https://github.com/google/clusterfuzz/pull/1333/files#r367706283) and having some sort of signalling from libFuzzer that it has loaded a custom mutator would be helpful. The initial idea was to make the mutator to print something, but given the anticipated variety of different mutators, it does not seem possible to make all of them print the same message to signal their execution. Reviewers: kcc, metzman Reviewed By: metzman Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73136
|
 | compiler-rt/lib/fuzzer/FuzzerDriver.cpp |
 | compiler-rt/test/fuzzer/fuzzer-custommutator.test |
Commit
7dc49f77ee508b4152f9291c8e804e4eda3653d3
by arsenm2R600: Fix failing testcase
|
 | llvm/test/CodeGen/AMDGPU/r600-constant-array-fixup.ll |
Commit
89c8866c0417a415ab546aa870569308f15b0ec8
by jinghamConvert AssertTrue( A == B) to AssertEqual(A, B) in TestObjCStepping.py.
|
 | lldb/packages/Python/lldbsuite/test/lang/objc/objc-stepping/TestObjCStepping.py |
Commit
31662e67e089264dabc9d1f915aa1d7b4d51c0a3
by Jonas Devlieghere[lldb/Util] Fix lldb-repro now it doesn't take a path to lldb The indices into the arguments array were off because we no longer pass the path to lldb as the first argument.
|
 | lldb/utils/lldb-repro/lldb-repro.py |
Commit
536612df4b499c7338719ab8a31973f086bff590
by Jonas Devlieghere[lldb/Test] Use lit's capabilities to skip lldb-repro tests. This allows us to skip the reproducer tests themselves as a whole as well as individual tests with the UNSUPPORTED keyword.
|
 | lldb/test/Shell/Quit/TestQuitExitCodeHexA.test |
 | lldb/test/Shell/Process/TestEnvironment.test |
 | lldb/test/Shell/Reproducer/lit.local.cfg |
 | lldb/test/Shell/Quit/TestQuitExitCode30.test |
 | lldb/test/Shell/Quit/TestQuitExitCode-30.test |
 | lldb/test/Shell/lit.cfg.py |
Commit
8401698fb57ea202c04562b4326526c65b9ccc74
by Jonas Devlieghere[lldb/Reproducer] Correctly instrument enum values Enum values can be serialized trivially and should not go through the object registry.
|
 | lldb/include/lldb/Utility/ReproducerInstrumentation.h |
Commit
90f58eaeff5f1d5017e7b689fac79180cdfa0160
by bruno.cardoso[ODRHash] Factor out functionality for CXXRecord ODR diagnostics (NFCI) There's going to be a lot of common code between RecordDecl and CXXRecordDecl, factor out some of the logic in preparation for adding the RecordDecl side.
|
 | clang/lib/Serialization/ASTReader.cpp |
Commit
ed80c86c8854647ad6246544e3865e416ecfc451
by nikita.ppv[PatternMatch] Add m_APInt/m_APFloat matchers accepting undef The current m_APInt() and m_APFloat() matchers do not accept splats that include undefs (unlike m_Zero() and other matchers for specific values). We can't simply change the default behavior, as there are existing transforms that would not be safe with undefs. For this reason, I'm introducing new m_APIntAllowUndef() and m_APFloatAllowUndef() matchers, that allow splats with undefs. Additionally, m_APIntForbidUndef() and m_APFloatForbidUndef() are added. These have the same behavior as the existing m_APInt() and m_APFloat(), but serve as an explicit indication that undefs were considered and found unsound for this transform. This helps distinguish them from existing uses of m_APInt() where we do not know whether undefs can or cannot be allowed without additional review. Differential Revision: https://reviews.llvm.org/D72975
|
 | llvm/unittests/IR/PatternMatch.cpp |
 | llvm/include/llvm/IR/PatternMatch.h |
Commit
68d7f06092e56b17eb0cddf560a9d9fe8afb7dd8
by alexandre.ganeaClang] Fix expansion of response files in -Wp after integrated-cc1 change After rGb4a99a061f517e60985667e39519f60186cbb469, passing a response file such as -Wp,@a.rsp wasn't working anymore because .rsp expansion happens inside clang's main() function. This patch adds response file expansion in the -cc1 tool. Differential Revision: https://reviews.llvm.org/D73120
|
 | clang/test/Driver/Wp-args.c |
 | clang/include/clang/Driver/Driver.h |
 | clang/tools/driver/driver.cpp |
Commit
9aa816a816b31642b38ff9c2eac9a3f9b6f7724f
by sd.fertile[PowerPC] Collect some CallLowering arguments into a struct. [NFC] Collect the calling convention and a number of boolean arguments into a structure to slightly reduces the number of arguments passed around between LowerCall_<Subtarget>, FinishCall and a few of the helpers. Also calulates if a call is indirect once using the exisitng helper and caches the result replacing several instances where we duplicated the logic determining if a call is indirect.
|
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
Commit
efba7ed05e50066deaa19f741c06902a23a9c124
by nikita.ppv[PatternMatch] Make m_c_ICmp swap the predicate (PR42801) This addresses https://bugs.llvm.org/show_bug.cgi?id=42801. The m_c_ICmp() matcher is changed to provide the swapped predicate if the operands are swapped. Existing uses of m_c_ICmp() fall in one of two categories: Working on equality predicates only, where swapping is irrelevant. Or performing a manual swap, in which case this patch removes it. The only exception is the foldICmpWithLowBitMaskedVal() fold, which does not swap the predicate, and instead reasons about whether a swap occurred or not for each predicate. Getting the swapped predicate allows us to merge the logic for pairs of predicates, instead of duplicating it. Differential Revision: https://reviews.llvm.org/D72976
|
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp |
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/include/llvm/IR/PatternMatch.h |
Commit
f55b033c028019653fed8fc685b1d33bf529b92b
by ditaliano[TestStdModuleSysroot] Only run locally.
|
 | lldb/packages/Python/lldbsuite/test/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py |
Commit
5bb8d28e61cc6babfad9c232078a48c046af5a1e
by ntv[mlir][Linalg] Add tensor support to Linalg EDSC Builders Summary: This diff extends the Linalg EDSC builders so we can easily create mixed tensor/buffer linalg.generic ops. This is expected to be useful for HLO -> Linalg lowering. The StructuredIndexed struct is made to derive from ValueHandle and can now capture a type + indexing expressions. This is used to represent return tensors. Pointwise unary and binary builders are extended to allow both output buffers and return tensors. This has implications on the number of region arguments. Reviewers: ftynse, hanchung, asaadaldien Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73149
|
 | mlir/include/mlir/EDSC/Builders.h |
 | mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h |
 | mlir/lib/Dialect/Linalg/EDSC/Builders.cpp |
 | mlir/test/EDSC/builder-api-test.cpp |
Commit
16b9410caa35da976fa5f3cf6dd3d6f3776d51ca
by craig.topper[X86] Cast to __v4hi instead of __m64 in the implementation of _mm_extract_pi16 and _mm_insert_pi16. __m64 is a vector of 1 long long. But the builtins these intrinsics are calling expect a vector of 4 shorts. Fixes PR44589
|
 | clang/lib/Headers/xmmintrin.h |
Commit
80c34f94acdbcbd8b02f61d89b100ff24ac39496
by nikita.ppv[InstCombine] Add test for PR44529; NFC
|
 | llvm/test/Transforms/InstCombine/sub.ll |
Commit
0b83c5a78fae96dd66150e7a14c8c6d0292de01d
by nikita.ppv[InstCombine] Combine neg of shl of sub (PR44529) Fixes https://bugs.llvm.org/show_bug.cgi?id=44529. We already have a combine to sink a negation through a left-shift, but it currently only works if the shift operand is negatable without creating any instructions. This patch introduces freelyNegateValue() as a more powerful extension of dyn_castNegVal(), which allows negating a value as long as this doesn't end up increasing instruction count. Specifically, this patch adds support for negating A-B to B-A. This mechanism could in the future be extended to handle general negation chains that a) start at a proper 0-X negation and b) only require one operand to be freely negatable. This would end up as a weaker form of D68408 aimed at the most obviously profitable subset that eliminates a negation entirely. Differential Revision: https://reviews.llvm.org/D72978
|
 | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineInternal.h |
 | llvm/test/Transforms/InstCombine/sub.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
Commit
b32013baec1d9d6adcebdd9b523d308e8a1af856
by richard[www] Update cxx_status page to list changes on the Clang 10 branch as "Clang 10" not "SVN".
|
 | clang/www/cxx_status.html |
 | clang/www/cxx_dr_status.html |
 | clang/www/make_cxx_dr_status |
Commit
4c2b0a63661576c1849862bad3978050fc6a2ff7
by Jonas Devlieghere[lldb/Utility] Don't forward directories to the file collector The VFS mapping writer assumes that all the paths it gets are files. When passed a directory, it ends up as a file in the VFS mapping twice, once as a file and once as a directory. { 'type': 'file', 'name': "Output", 'external-contents': "/root/path/to/Output" }, { 'type': 'directory', 'name': "Output", 'contents': [ ... ] }
|
 | lldb/include/lldb/Host/FileSystem.h |
 | lldb/source/Host/common/FileSystem.cpp |
Commit
6ae61f7675d65e767662873e87de088b0ae2dc3e
by Jonas Devlieghere[lldb/Test] Skip script interpreter tests reading from stdin for lldb-repro The reproducers currently only shadow the command interpreter. It would be possible to make it work for the Lua interpreter which uses the IOHandlerEditline under the hood, but the Python one runs a REPL in Python itself so there's no (straightforward) way to shadow that. Given that we already capture any API calls, this isn't super high on my list of priorities.
|
 | lldb/test/Shell/ScriptInterpreter/Python/crashlog.test |
 | lldb/test/Shell/ScriptInterpreter/Python/scripted_breakpoint.test |
 | lldb/test/Shell/ScriptInterpreter/Lua/bindings.test |
 | lldb/test/Shell/ScriptInterpreter/Lua/convenience_variables.test |
Commit
6baf31b7c1e11fea00754a99d207ffbc3dbc1086
by asbirlea[LoopIdiomRecognize] Reduce variable scope. [NFCI]
|
 | llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp |
Commit
b5b6126d97ebf79bbc5a59fe0fb674ce907e7365
by asbirlea[IndVarSimplify] Cleanup spaces and reduce variable scope [NFCI] Minor clean-ups + clang-format.
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
1f45914b4289db7e5ec8d5759707c16e865f02e5
by Jason MolendaEmbed a zero-length /dev/null in darwin-debug for the special section. Fred suggested that instead of embedded CMakeLists.txt in the binary as the contents of a special section, see if /dev/null would work. It does.
|
 | lldb/tools/darwin-debug/CMakeLists.txt |
Commit
0e9374e3740f82f2d46af564f6b059e68ff307c8
by jonathanchesterfield[nfc][libomptarget] Remove SHARED annotation from local variables Summary: [nfc][libomptarget] Remove SHARED annotation from local variables A few local variables in reduction.cu were marked SHARED. This patch leaves all per-kernel global state localised in omp_data.cu. Reviewers: ABataev, jdoerfert, grokos Reviewed By: jdoerfert Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D73239
|
 | openmp/libomptarget/deviceRTLs/common/src/reduction.cu |
Commit
df839cfda09dbadc26b8be635f27da75f1f27190
by tstellar[cmake] Fix clang builds with BUILD_SHARED=ON and CLANG_LINK_CLANG_DYLIB=ON Summary: We were linking all the clang objects and shared libraries into libclang-cpp.so, which was causing the command line options to be registered twice. Reviewers: beanz, mgorny Reviewed By: beanz, mgorny Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68520
|
 | clang/tools/clang-shlib/CMakeLists.txt |
Commit
4751e4f8c24bc07fdb668dc49ee559b97c1e3c22
by tstellarRevert "[cmake] Fix clang builds with BUILD_SHARED=ON and CLANG_LINK_CLANG_DYLIB=ON" This reverts commit df839cfda09dbadc26b8be635f27da75f1f27190. This change used cmake's list filter operation which was not added until cmake 3.6.
|
 | clang/tools/clang-shlib/CMakeLists.txt |
Commit
c4144caf9b865a2064e49afcdfff474426fc5d47
by Jonas Devlieghere[lldb/Reproducer] Disable buffering of stdout during replay Different buffering behavior during capture and replay caused some of the shell tests to fail when run from a reproducer. By disabling stdout buffering we get a better approximation of how things get flushed during an regular debug session. There is a performance impact but since this only affects replay this is acceptable.
|
 | lldb/source/Utility/ReproducerInstrumentation.cpp |
Commit
adc4faf532bfefeddb4c789f1562394ae2a1ba0d
by asbirlea[IndVarSimplify] Teach IndVarSimplify to preserve MemorySSA.
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
Commit
39ae86ab72d706704ea70f85aa82c623cd99219d
by flo[AArch64TTI] AArch64 supports NT vector stores through STNP. This patch adds a custom implementation of isLegalNTStore to AArch64TTI that supports vector types that can be directly stored by STNP. Note that the implementation may not catch all valid cases (e.g. because the vector is a multiple of 256 and could be broken down to multiple valid 256 bit stores), but it is good enough for LV to vectorize loops with NT stores, as LV only passes in a vector with 2 elements to check. LV seems to also be the only user of isLegalNTStore. We should also do the same for NT loads, but before that we need to ensure that we properly lower LDNP of vectors, similar to D72919. Reviewers: dmgreen, samparker, t.p.northover, ab Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D73158
|
 | llvm/test/Transforms/LoopVectorize/AArch64/nontemporal-load-store.ll |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
Commit
83a093b8ecc8a8e3a4420dc5385dca57e8016109
by Jonas Devlieghere[lldb/Reproducer] Mark some driver tests as unsupported for lldb-repro These test are checking for diagnostics printed by the driver. During replay we only replay the SB API calls made by the driver, so it's expected that these messages aren't displayed.
|
 | lldb/test/Shell/Driver/TestRepl.test |
 | lldb/test/Shell/Driver/TestCore.test |
 | lldb/test/Shell/Driver/TestFile.test |
 | lldb/test/Shell/Driver/LocalLLDBInit.test |
Commit
d42baff45d9700a199982ba0ac04dbc6c6d911bb
by joergReplace old-style cast of null pointer with nullptr
|
 | libcxx/src/locale.cpp |
Commit
9be5c13538898c7632c2de7300de9479688a2460
by Jonas Devlieghere[lldb/Test] Add check-lldb-repro target This adds a new target check-lldb-repro which runs the shell tests with the lldb-repo utility. It runs the shell tests twice, once while capturing a reproducer and then again by replaying that reproducer.
|
 | lldb/test/Shell/CMakeLists.txt |
Commit
9b5a9f2fab17d52debce2cde26e94610deeb034c
by Jonas Devlieghere[lldb/Test] Fix type in add_lit_testsuite The new test suite should be called check-lldb-repro rather than check-lldb.
|
 | lldb/test/Shell/CMakeLists.txt |
Commit
48490e3247af93eaf576a7bf1c1f6b7450fe6d54
by Jonas Devlieghere[lldb/Docs] Document testing strategies for the reproducers Document the different ways we test the reproducers. This is mostly to describe the new check-lldb-repro target.
|
 | lldb/docs/resources/reproducers.rst |
Commit
3f5976c97dbfefb4669abcf968bd79a9a64c18e0
by jrtc27[RISCV] Fix evaluating %pcrel_lo against global and weak symbols Summary: Previously, we would erroneously turn %pcrel_lo(label), where label has a %pcrel_hi against a weak symbol, into %pcrel_lo(label + offset), as evaluatePCRelLo would believe the target independent logic was going to fold it. Moreover, even if that were fixed, shouldForceRelocation lacks an MCAsmLayout and thus cannot evaluate the %pcrel_hi fixup to a value and check the symbol, so we would then erroneously constant-fold the %pcrel_lo whilst leaving the %pcrel_hi intact. After D72197, this same sequence also occurs for symbols with global binding, which is triggered in real-world code. Instead, as discussed in D71978, we introduce a new FKF_IsTarget flag to avoid these kinds of issues. All the resolution logic happens in one place, with no coordination required between RISCAsmBackend and RISCVMCExpr to ensure they implement the same logic twice. Although the implementation of %pcrel_hi can be left as target independent, we make it target dependent to ensure that they are handled identically to %pcrel_lo, otherwise we risk one of them being constant folded but the other being preserved. This also allows us to properly support fixup pairs where the instructions are in different fragments. Reviewers: asb, lenary, efriedma Reviewed By: efriedma Subscribers: arichardson, hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73211
|
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h |
 | llvm/include/llvm/MC/MCFixupKindInfo.h |
 | llvm/test/MC/RISCV/rv32i-aliases-valid.s |
 | llvm/test/MC/RISCV/rv32i-valid.s |
 | llvm/include/llvm/MC/MCAsmBackend.h |
 | llvm/test/MC/RISCV/pcrel-fixups.s |
 | llvm/lib/MC/MCAssembler.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp |
 | llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h |
 | llvm/test/MC/RISCV/pcrel-lo12-invalid.s |
 | llvm/test/MC/RISCV/rv64i-aliases-valid.s |
Commit
cf2b498d284004b82ac6ce94bdd5528e65b9e194
by Jonas Devlieghere[llvm/Transforms] Fix warning: private field 'MSSA' is not used
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |