summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Bad SLPVectorization shufflevector replacement, resulting in write to wrong ↵Jameson Nash2021-11-102-8/+20
| | | | | | | | | | | | | | | | | | | | | memory location We see that it might otherwise do: %10 = getelementptr {}**, <2 x {}***> %9, <2 x i32> <i32 10, i32 4> %11 = bitcast <2 x {}***> %10 to <2 x i64*> ... %27 = extractelement <2 x i64*> %11, i32 0 %28 = bitcast i64* %27 to <2 x i64>* store <2 x i64> %22, <2 x i64>* %28, align 4, !tbaa !2 Which is an out-of-bounds store (the extractelement got offset 10 instead of offset 4 as intended). With the fix, we correctly generate extractelement for i32 1 and generate correct code. Differential Revision: https://reviews.llvm.org/D106613 (cherry picked from commit e27a6db5298f6ba3c1dbc8bab25c769cfa761b2a)
* [SLP][NFC]Add a test to show an issue with incorrectly extractedAlexey Bataev2021-11-101-1/+34
| | | | | | pointers. (cherry picked from commit 173dd896db976d1e975a2a5d844fc09238884277)
* [Aarch64] Correct register class for pseudo instructionsJameson Nash2021-11-0911-37/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This constrains the Mov* and similar pseudo instruction to take GPR64common register classes rather than GPR64. GPR64 includs XZR which is invalid here, because this pseudo instructions expands into an adrp/add pair sharing a destination register. XZR is invalid on add and attempting to encode it will instead increment the stack pointer causing crashes (downstream report at [1]). The test case there reproduces on LLVM11, but I do not have a test case that reaches this code path on main, since it is being masked by improved dead code elimination introduced in D91513. Nevertheless, this seems like a good thing to fix in case there are other cases that dead code elimination doesn't clean up (e.g. if `optnone` is used and the optimization is skipped). I think it would be worth auditing uses of GPR64 in pseudo instructions to see if there are any similar issues, but I do not have a high enough view of the backend or knowledge of the Aarch64 architecture to do this quickly. [1] https://github.com/JuliaLang/julia/issues/39818 Reviewed By: t.p.northover Differential Revision: https://reviews.llvm.org/D97435 (cherry picked from commit e20f69f612dd678f68473e3f111ee891f7d2d108)
* [MergeICmps] Don't merge icmps derived from pointers with addressspacesValentin Churavy2021-11-092-0/+98
| | | | | | | | | | | | | | | IIUC we can't emit `memcmp` between pointers in addressspaces, doing so will trigger an assertion since the signature of the memcmp will not match it's arguments (https://bugs.llvm.org/show_bug.cgi?id=48661). This PR disables the attempt to merge icmps, when the pointer is in an addressspace. Reviewed By: #julialang, vtjnash Differential Revision: https://reviews.llvm.org/D94813 (cherry picked from commit 4cacb5cad052b14d37703157f3b7ffc6a6610acc)
* Fix building with GCC 12:Martin Liska2021-11-091-1/+1
| | | | | | | | Fixes: https://bugs.llvm.org/show_bug.cgi?id=52380 Differential Revision: https://reviews.llvm.org/D112990 (cherry picked from commit c5029023fb076f72a3e5bf26085642bcd1fa22fb)
* MLIR can't support -Bsymbolic link option, fail at CMake time with a helpful ↵Mehdi Amini2021-11-081-0/+6
| | | | | | | | message instead of broken runtime Differential Revision: https://reviews.llvm.org/D110483 (cherry picked from commit c3aed0d395950c23d66c3ec0af4b1a2ec2534795)
* [clang] Partially revert d8cd7806310c51af912a647a6ca46de62ff13214.Brad Smith2021-11-082-5/+1
| | | | | | The C11 atomics part was wrong. (cherry picked from commit 95e6e1cc923d6b88ebb4ac5e8f0887c2c77476cc)
* [ARM] Use hardware TLS register in Thumb2 mode when -mtp=cp15 is passedArd Biesheuvel2021-11-084-2/+12
| | | | | | | | | | | | | | In ARM mode, passing -mtp=cp15 forces the use of an inline MRC system register read to move the thread pointer value into a register. Currently, in Thumb2 mode, -mtp=cp15 is ignored, and a call to the __aeabi_read_tp helper is emitted instead. This is inconsistent, and breaks the Linux/ARM build for Thumb2 targets, as the Linux kernel does not provide an implementation of __aeabi_read_tp,. Reviewed By: nickdesaulniers, peter.smith Differential Revision: https://reviews.llvm.org/D112600 (cherry picked from commit d7e089f2d6a5cd5f283a90ab29241d20d4fc3ed1)
* [libc++] Fix hang in counting_semaphore::try_acquireArthur O'Dwyer2021-11-052-11/+19
| | | | | | | | | | | | Before this patch, `try_acquire` blocks instead of returning false. This is because `__libcpp_thread_poll_with_backoff` interprets zero as meaning infinite, causing `try_acquire` to wait indefinitely. Thanks to Pablo Busse (pabusse) for the patch! Differential Revision: https://reviews.llvm.org/D98334 (cherry picked from commit c92a253cf0ddcf905707b4e9265b42570ce409d9)
* [libc++] Remove non-atomic "platform" semaphore implementations.Arthur O'Dwyer2021-11-057-171/+19
| | | | | | | | | | | | | | | These can't be made constexpr-constructible (constinit'able), so they aren't C++20-conforming. Also, the platform versions are going to be bigger than the atomic/futex version, so we'd have the awkward situation that `semaphore<42>` could be bigger than `semaphore<43>`, and that's just silly. Differential Revision: https://reviews.llvm.org/D110110 (cherry picked from commit d0eaf75320ea72c4da55060b6c42aad923870814) CHERRY-PICK NOTE BY @ldionne: I added a release note mentioning the ABI break.
* [libc++] counting_semaphore should not be default-constructible.Arthur O'Dwyer2021-11-054-7/+39
| | | | | | | | | | | | | | | | | | Neither the current C++2b draft, nor any revision of [p1135], nor libstdc++, claims that `counting_semaphore` should be default-constructible. I think this was just a copy-paste issue somehow. Also, `explicit` was missing from the constructor. Also, `constexpr` remains missing; but that's probably more of a technical limitation, since apparently there are some platforms where we don't (can't??) use the atomic implementation and have to rely on pthreads, which obviously isn't constexpr. Differential Revision: https://reviews.llvm.org/D110042 (cherry picked from commit c9af0e61fa85842ce280ddab8ab491de38a7ae5b)
* Re-apply the fix on DwarfEHPrepare and add a testTakafumi Arakaki2021-11-012-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch re-introduces the fix in the commit https://github.com/llvm/llvm-project/commit/66b0cebf7f736 by @yrnkrn > In DwarfEHPrepare, after all passes are run, RewindFunction may be a dangling > > pointer to a dead function. To make sure it's valid, doFinalization nullptrs > RewindFunction just like the constructor and so it will be found on next run. > > llvm-svn: 217737 It seems that the fix was not migrated to `DwarfEHPrepareLegacyPass`. This patch also updates `llvm/test/CodeGen/X86/dwarf-eh-prepare.ll` to include `-run-twice` to exercise the cleanup. Without this patch `llvm-lit -v llvm/test/CodeGen/X86/dwarf-eh-prepare.ll` fails with ``` -- Testing: 1 tests, 1 workers -- FAIL: LLVM :: CodeGen/X86/dwarf-eh-prepare.ll (1 of 1) ******************** TEST 'LLVM :: CodeGen/X86/dwarf-eh-prepare.ll' FAILED ******************** Script: -- : 'RUN: at line 1'; /home/arakaki/build/llvm-project/main/bin/opt -mtriple=x86_64-linux-gnu -dwarfehprepare -simplifycfg-require-and-preserve-domtree=1 -run-twice < /home/arakaki/repos/watch/llvm-project/llvm/test/CodeGen/X86/dwarf-eh-prepare.ll -S | /home/arakaki/build/llvm-project/main/bin/FileCheck /home/arakaki/repos/watch/llvm-project/llvm/test/CodeGen/X86/dwarf-eh-prepare.ll -- Exit Code: 2 Command Output (stderr): -- Referencing function in another module! call void @_Unwind_Resume(i8* %ehptr) #1 ; ModuleID = '<stdin>' void (i8*)* @_Unwind_Resume ; ModuleID = '<stdin>' in function simple_cleanup_catch LLVM ERROR: Broken function found, compilation aborted! PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace. Stack dump: 0. Program arguments: /home/arakaki/build/llvm-project/main/bin/opt -mtriple=x86_64-linux-gnu -dwarfehprepare -simplifycfg-require-and-preserve-domtree=1 -run-twice -S 1. Running pass 'Function Pass Manager' on module '<stdin>'. 2. Running pass 'Module Verifier' on function '@simple_cleanup_catch' #0 0x000056121b570a2c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/arakaki/repos/watch/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:0 #1 0x000056121b56eb64 llvm::sys::RunSignalHandlers() /home/arakaki/repos/watch/llvm-project/llvm/lib/Support/Signals.cpp:97:0 #2 0x000056121b56f28e SignalHandler(int) /home/arakaki/repos/watch/llvm-project/llvm/lib/Support/Unix/Signals.inc:397:0 #3 0x00007fc7e9b22980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980) #4 0x00007fc7e87d3fb7 raise /build/glibc-S7xCS9/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0 #5 0x00007fc7e87d5921 abort /build/glibc-S7xCS9/glibc-2.27/stdlib/abort.c:81:0 #6 0x000056121b4e1386 llvm::raw_svector_ostream::raw_svector_ostream(llvm::SmallVectorImpl<char>&) /home/arakaki/repos/watch/llvm-project/llvm/include/llvm/Support/raw_ostream.h:674:0 #7 0x000056121b4e1386 llvm::report_fatal_error(llvm::Twine const&, bool) /home/arakaki/repos/watch/llvm-project/llvm/lib/Support/ErrorHandling.cpp:114:0 #8 0x000056121b4e1528 (/home/arakaki/build/llvm-project/main/bin/opt+0x29e3528) #9 0x000056121adfd03f llvm::raw_ostream::operator<<(llvm::StringRef) /home/arakaki/repos/watch/llvm-project/llvm/include/llvm/Support/raw_ostream.h:218:0 FileCheck error: '<stdin>' is empty. FileCheck command line: /home/arakaki/build/llvm-project/main/bin/FileCheck /home/arakaki/repos/watch/llvm-project/llvm/test/CodeGen/X86/dwarf-eh-prepare.ll -- ******************** ******************** Failed Tests (1): LLVM :: CodeGen/X86/dwarf-eh-prepare.ll Testing Time: 0.22s Failed: 1 ``` Reviewed By: loladiro Differential Revision: https://reviews.llvm.org/D110979 (cherry picked from commit e8806d748643e4b90fa67ed6f4819653e64e66d9)
* [IntelJITListener] Fix order in JitListener/multiple.llAndy Kaylor2021-10-271-5/+5
| | | | | | | | | As reported in Bugzilla 51859, the JitListener/multiple.ll test had become stale. The function order in the emitted image was changed by an update to the MC/ElfObjectWriter code and because this test is disabled by default, it wasn't updated. (cherry picked from commit e49c0c5100b992e1a18c7225bc147431089f560f)
* [openmp] [elf_common] Fix linking against LLVM dylibMichał Górny2021-10-271-0/+3
| | | | | | | | | | | | The hand-rolled linking logic in elf_common does not account for the possibility of using LLVM dylib rather than a dozen static libraries. Since it does not seem to be easily convertible to add_llvm_library, just hand-roll support for LLVM_LINK_LLVM_DYLIB. This is necessary to support stand-alone builds against installed LLVM. Differential Revision: https://reviews.llvm.org/D111038 (cherry picked from commit 0873b9bef4e03b4cfc44a4946c11103c763055df)
* compiler-rt: Fix arch detection for ppc64leTom Stellard2021-10-271-1/+1
| | | | | | | | Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D110377 (cherry picked from commit 05c21f54a454ebfa44be7825707e6061dc32afab)
* fixes bug #51926 where dangling comma caused overrunFred Grim2021-10-272-3/+27
| | | | | | | | bug 51926 identified an issue where a dangling comma caused the cell count to be to off by one Differential Revision: https://reviews.llvm.org/D110481 (cherry picked from commit a36227cb2b6a14fc30bfd303328d1d1abb632010)
* [CUDA] Make sure <string.h> is included with original __THROW defined.Artem Belevich2021-10-221-5/+1
| | | | | | | | | | | Otherwise we may end up with an inconsistent redeclarations of the standard library functions if _FORTIFY_SOURCE is in effect. https://bugs.llvm.org/show_bug.cgi?id=47869 Differential Revision: https://reviews.llvm.org/D110781 (cherry picked from commit 29e00b29f76adb15a51c1ccd6c1fdb6fce5f4d7b)
* [Support][mips] Remove unnecessary includes from Memory.incVisa Hankala2021-10-221-8/+0
| | | | | | | | | The mips-specific includes have been unnecessary ever since the __clear_cache() builtin replaced cacheflush(). Differential Revision: https://reviews.llvm.org/D111486 (cherry picked from commit a5de04d2617191661fbaaee741ec47f8c1f9478e)
* [Mips] Add glue between CopyFromReg, CopyToReg and RDHWR nodes for TLSJessica Clarke2021-10-222-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MIPS ABI requires the thread pointer be accessed via rdhwr $3, $r29. This is currently represented by (CopyToReg $3, (RDHWR $29)) followed by a (CopyFromReg $3). However, there is no glue between these, meaning scheduling can break those apart. In particular, PR51691 is a report where PseudoSELECT_I was moved to between the CopyToReg and CopyFromReg, and since its expansion uses branches, it split the def and use of the physical register between two basic blocks, resulting in the def being eliminated and the use having no def. It also seems possible that a similar situation could arise splitting up the CopyToReg from the RDHWR, causing the RDHWR to use a destination register other than $3, violating the ABI requirement. Thus, add glue between all three nodes to ensure they aren't split up during instruction selection. No regression test is added since any test would be implictly relying on specific scheduling behaviour, so whilst it might be testing that glue is preventing reordering today, changes to scheduling behaviour could result in the test no longer being able to catch a regression here, as the reordering might no longer happen for other unrelated reasons. Fixes PR51691. Reviewed By: atanasyan, dim Differential Revision: https://reviews.llvm.org/D111967 (cherry picked from commit f5755c0849a56543ef6938352784fdd7b4596e4c)
* [CMake] Re-enable use --gc-sections on OpenBSDBrad Smith2021-10-211-1/+1
| | | | | | Most archs have switched to lld. (cherry picked from commit 89f0587154bd66ca78963f5c5a07982e5e0b1ff0)
* [clang] Omit most AttributedStatements from the CFGNico Weber2021-10-213-2/+56
| | | | | | | | | | | | | `[[clang::fallthrough]]` has meaning for the CFG, but all other StmtAttrs we currently have don't. So omit them, as AttributedStatements with children cause several issues and there's no benefit in including them. Fixes PR52103 and PR49454. See PR52103 for details. Differential Revision: https://reviews.llvm.org/D111568 (cherry picked from commit c74ab84ea23f497ac83501473220cd9cfefe81e8)
* [runtimes] Properly handle the sysroot/triple/gcc-toolchainLouis Dionne2021-10-213-29/+28
| | | | | | | | | | | | | | | | | In 395271a, I simplified how we handled the target triple for the runtimes. However, in doing so, we stopped considering the default in CMAKE_CXX_COMPILER_TARGET, so we'd use the LLVM_DEFAULT_TARGET_TRIPLE (which is the host triple) even if CMAKE_CXX_COMPILER_TARGET was specified. This commit fixes that problem and also refactors the code so that it's easy to see what the default value is. The fact that nobody seems to have been broken by this makes me think that perhaps nobody is using CMAKE_CXX_COMPILER_TARGET to specify the triple -- but it should still work. Differential Revision: https://reviews.llvm.org/D111672 (cherry picked from commit 72117f2ffeb6a096a808c34ec7ebee122c2d2e21)
* [clang-format] [PR51640] - New AfterEnum brace wrapping changes have cause ↵mydeveloperday2021-10-204-8/+264
| | | | | | | | | | | | | | | | | | | | C# behaviour to change LLVM 13.0.0-rc2 shows change of behaviour in enum and interface BraceWrapping (likely before we simply didn't wrap) but may be related to {D99840} Logged as https://bugs.llvm.org/show_bug.cgi?id=51640 This change ensure AfterEnum works for `internal|public|protected|private enum A {` in the same way as it works for `enum A {` in C++ A similar issue was also observed with `interface` in C# Reviewed By: krasimir, owenpan Differential Revision: https://reviews.llvm.org/D108810 (cherry picked from commit ed367b9dff10ee1df9ac1984eb2ad7544da7ab06)
* [HIP] Fix test rcom-detect.hipYaxun (Sam) Liu2021-10-201-1/+2
| | | | | | | | | | | | This patches fixes https://bugs.llvm.org/show_bug.cgi?id=51404 Some builds use custom resource directory for clang, therefore the test cannot assume default resource directory for clang. Use -resource-dir to force it. Differential Revision: https://reviews.llvm.org/D111726 (cherry picked from commit 1439df00fc5e6dfffeb6a99e3537f6de2e539785)
* workflows: Update lldb workaround to latest version of Mac OS XTom Stellard2021-10-201-1/+1
|
* Remove "In Progress" text from release notesTom Stellard2021-10-187-46/+6
|
* [GHA] Cancel intermediate builds on PRsValentin Churavy2021-10-186-0/+40
| | | | | | Setup GHA to skip runs when subsequent pushes to a PR occur. Differential Revision: https://reviews.llvm.org/D111499
* Bump version to 13.0.1Tom Stellard2021-10-148-9/+9
|
* [cte] Release notes for clangd-13Kadir Cetinkaya2021-10-061-1/+87
|
* [clang] don't mark as Elidable CXXConstruct expressions used in NRVOllvmorg-13.0.0-rc4llvmorg-13.0.0Matheus Izvekov2021-09-2413-33/+122
| | | | | | | | | | | | | | | | | | | | | | | | | See PR51862. The consumers of the Elidable flag in CXXConstructExpr assume that an elidable construction just goes through a single copy/move construction, so that the source object is immediately passed as an argument and is the same type as the parameter itself. With the implementation of P2266 and after some adjustments to the implementation of P1825, we started (correctly, as per standard) allowing more cases where the copy initialization goes through user defined conversions. With this patch we stop using this flag in NRVO contexts, to preserve code that relies on that assumption. This causes no known functional changes, we just stop firing some asserts in a cople of included test cases. Reviewed By: rsmith Differential Revision: https://reviews.llvm.org/D109800 (cherry picked from commit d9308aa39b236064a680ca57178af3c731e13e49)
* [analyzer] Add 13.0.0 release notesKristóf Umann2021-09-231-1/+47
| | | | Differential Revision: https://reviews.llvm.org/D108912
* Thread safety analysis: Warn when demoting locks on back edgesAaron Puchert2021-09-212-14/+59
| | | | | | | | | | | | | | | | | Previously in D104261 we warned about dropping locks from back edges, this is the corresponding change for exclusive/shared joins. If we're entering the loop with an exclusive change, which is then relaxed to a shared lock before we loop back, we have already analyzed the loop body with the stronger exclusive lock and thus might have false positives. There is a minor non-observable change: we modify the exit lock set of a function, but since that isn't used further it doesn't change anything. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D106713 (cherry picked from commit 9b889f826ff587e9758c80823419512d502e457d)
* [AArch64][GlobalISel] Use ZExtValue for zext(xor) when invert tb(n)zguopeilin2021-09-212-2/+42
| | | | | | | | | | | | Currently, we use SExtValue to decide whether to invert tbz or tbnz. However, for the case zext (xor x, c), we should use ZExt rather than SExt otherwise we will generate totally opposite branches. Reviewed By: paquette Differential Revision: https://reviews.llvm.org/D108755 (cherry picked from commit 5f48c144c58f6d23e850a1978a6fe05887103b17)
* [debuginfo-test][cross-project-tests] Release note for new project nameJames Henderson2021-09-211-0/+9
| | | | | | | | | | Add a release note for the renaming of the debuginfo-test to cross-project-tests, performed in commit 1364750dadbb56032ef73b4d0d8cbc88a51392da and follow-ons. Reviewed by: sylvestre.ledru Differential Revision: https://reviews.llvm.org/D110134
* [X86] combineX86ShuffleChain - ensure we only peek through bitcasts to ↵Simon Pilgrim2021-09-202-1/+59
| | | | | | | | vectors (PR51858) When searching for hidden identity shuffles (added at rG41146bfe82aecc79961c3de898cda02998172e4b), only peek through bitcasts to the source operand if it is a vector type as well. (cherry picked from commit dcba99418438ec1d624ad207674234bd2e9e3394)
* [clang][scan-build] Use cc/c++ instead of gcc/g++ on OpenBSD.Frederic Cambus2021-09-201-0/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D109349 (cherry picked from commit b588f5d665aa01fe88921fe2ffb7256fdedfbfb0)
* Fix syntax error in Clang release notesAaron Puchert2021-09-181-0/+2
| | | | There needs to be a blank line after ".. code-block:: <lang>".
* [compiler-rt] Implement __clear_cache() on OpenBSD/riscv64Jeremie Courreges-Anglas2021-09-171-1/+8
| | | | (cherry picked from commit 3db959060546eef76b90733ccde80c75576a97ad)
* [LLD] Add required `ppc` target to the test cases. NFCSimon Atanasyan2021-09-172-2/+2
| | | | (cherry picked from commit 454f69bcc17e6451c926a2e7b708e900fc8fdcb8)
* [OpenMP]Fix PR51349: Remove AlwaysInline for if regions.Joseph Huber2021-09-172-1/+40
| | | | | | | | | | | | | | After D94315 we add the `NoInline` attribute to the outlined function to handle data environments in the OpenMP if clause. This conflicted with the `AlwaysInline` attribute added to the outlined function. for better performance in D106799. The data environments should ideally not require NoInline, but for now this fixes PR51349. Reviewed By: mikerice Differential Revision: https://reviews.llvm.org/D107649 (cherry picked from commit 41a6b50c25961addc04438b567ee1f4ef9e40f98)
* [compiler-rt] Move -fno-omit-frame-pointer check to common config-ixMichał Górny2021-09-172-1/+1
| | | | | | | | | | | | | | | 9ee64c374605683ae80b9641d5312a72c2a67336 has started using COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG inside scudo. However, the relevant CMake check was performed in builtin-config-ix.cmake, so the definition was missing when builtins were not built. Move the check to config-ix.cmake, so that it runs unconditionally of the components being built. Fixes PR#51847 Differential Revision: https://reviews.llvm.org/D109812 (cherry picked from commit 210d72e9d6b4a8e7633921d0bd7186fd3c7a2c8c)
* [clang] disable implicit moves when not in CPlusPLusMatheus Izvekov2021-09-173-1/+45
| | | | | | | | | | | | | | | | | | | | | | See PR51842. This fixes an assert firing in the static analyzer, triggered by implicit moves in blocks in C mode: This also simplifies the AST a little bit when compiling non C++ code, as the xvalue implicit casts are not inserted. We keep and test that the nrvo flag is still being set on the VarDecls, as that is still a bit beneficial while not really making anything more complicated. Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Reviewed By: NoQ Differential Revision: https://reviews.llvm.org/D109654 (cherry picked from commit 2d6829bbbe6877920d9be1db93b9f3fc85b43d10)
* [clang-repl] Install clang-replVassil Vassilev2021-09-171-1/+1
| | | | | | | | This is essentially what D106813 was supposed to do but did not. Differential revision: https://reviews.llvm.org/D108919 (cherry picked from commit c9948e9254fbb6ea00f66c7b4542311d21e060be)
* -Wunused-but-set-parameter/-Wunused-but-set-variable Add to the release notesSylvestre Ledru2021-09-141-0/+3
| | | | Differential Revision: https://reviews.llvm.org/D109642
* [openmp] Apply code change from D109500llvmorg-13.0.0-rc3Jon Chesterfield2021-09-131-4/+19
| | | | (cherry picked from commit 71052ea1e3c63b7209731fdc1726d10640d97480)
* [VPlan] Fix crash caused by not updating all users properly.Florian Hahn2021-09-132-2/+71
| | | | | | | | | | Users of VPValues are managed in a vector, so we need to be more careful when iterating over users while updating them. For now, just copy them. Fixes 51798. (cherry picked from commit 368af7558e55039e4e93c3eed68ce00da86e5e35)
* [clang-format] Restrict the special handling for K&R C to C/C++owenca2021-09-132-4/+17
| | | | | | | | | | | | Commits 58494c856a15, f6bc614546e1, and 0fc27ef19670 added special handlings for K&R C function definitions and caused some JavaScript/TypeScript regressions which were addressed in D107267, D108538, and D108620. This patch would have prevented these known regressions and will fix any unknown ones. Differential Revision: https://reviews.llvm.org/D109582 (cherry picked from commit 3205dd3d59b3cc36f96b7eff6387de8d2f42825f)
* [LLDB] AArch64 SVE restore SVE registers after expressionMuhammad Omair Javaid2021-09-125-67/+190
| | | | | | | | | | | | | | | | | | | | | | This patch fixes register save/restore on expression call to also include SVE registers. This will fix expression calls like: re re p1 <Register Value P1 before expression> p <var-name or function call> re re p1 <Register Value P1 after expression> In above example register P1 should remain the same before and after the expression evaluation. Reviewed By: DavidSpickett Differential Revision: https://reviews.llvm.org/D108739
* Revert "[AArch64][GlobalISel] Legalize bswap <2 x i16>"Tom Stellard2021-09-104-87/+3
| | | | | | This reverts commit 5cd63e9ec2a385de2682949c0bbe928afaf35c91. https://bugs.llvm.org/show_bug.cgi?id=51707
* Revert [MC][ELF] Emit separate unique sections for different flagsNikita Popov2021-09-106-213/+68
| | | | | | | | | | | | | | | Commit Message from @MaskRay: Rust has a fragile embed-bitcode implementation (https://github.com/rust-lang/rust/blob/bddb59cf07efcf6e606f16b87f85e3ecd2c1ca69/compiler/rustc_codegen_llvm/src/back/write.rs#L970-L1017) which relied on the previous LLVM MC behavior. Rust's LLVM fork has carried a revert. This commit made the similar revert to help distributions since they would otherwise probably carry a similar patch (as they ship rust linked against system LLVM). Fixes https://bugs.llvm.org/show_bug.cgi?id=51207. Differential Revision: https://reviews.llvm.org/D107216