SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. build: process the libxml2 library path for embedding (details)
  2. [DataExtractor] Improve error message when we run off the end of the buffer (details)
  3. [DebugInfo] Avoid crashing when parsing an invalid unit header in DWP. (details)
  4. [DebugInfo] Fix parsing DWARF64 units in DWP. (details)
  5. [clangd] Use tokenize instead of raw lexer in SourceCode/lex (details)
  6. [clangd] Get rid of lexer usage in ObjCLocalizeStringLiteral tweak (details)
  7. [ASTImporter] Improved import of AlignedAttr. (details)
  8. llvm-ar: Fix MinGW compilation (details)
  9. No longer generate calls to *_finite (details)
  10. SROA: Don't drop atomic load/store alignments (PR45010) (details)
  11. [lldb] Use llvm MC as the source of dwarf/eh register numbers for X86 ABIs (details)
  12. [debuginfo-tests][dexter] Add a test tool --calculate-average option (details)
  13. [DWARFLinker][NFC] Remove usages of "const object::ObjectFile" from DWARFLinker. (details)
  14. [mlir] Fix the build by using correct symbol name (details)
  15. [NFC] [Test commit] Testing commit access with new email (details)
  16. [ARM][Thumb2] Support .w assembler qualifier for pld/pldw/pli (details)
  17. [ARM][Thumb2] support .w assembler qualifier for dmb/dsb/isb (details)
  18. [clang-format] Recognize C# nullable types (details)
  19. [RDA] Track implicit-defs (details)
  20. [AMDGPU] Precommit some scheduler related test updates (details)
  21. [NFC][ARM] Add tests (details)
  22. [MC][ELF][ARM] Add relocations for some pc-relative fixups (details)
  23. [LLD][ELF][ARM] Implement Thumb pc-relative relocations for adr and ldr (details)
  24. Let EarlyCSE fold equivalent freeze instructions (details)
  25. [DebugInfo] Re-implement LexicalScopes dominance method, add unit tests (details)
  26. [ELF][LLD][ARM] Add missing REQUIRES: arm to tests (details)
  27. [gn build] Port 6af859dcca2 (details)
  28. [RISCV] Compress instructions based on function features (details)
  29. [clang-format] Improve C# handling of spaces in square brackets (details)
  30. [clang-tidy] Added virtual isLanguageVersionSupported to ClangTidyCheck (details)
  31. Fix buildbots after c074f5234d29439116f0e0be6033ea9331e85394. (details)
  32. [AMDGPU] Update a comment missed in 74e2974ac6a (details)
  33. [AMDGPU] Mark the scheduling model as complete (details)
  34. [Utils] Make some scripts directly executable (details)
  35. [cmake][msvc] Don't disable C4345 any more. (details)
  36. Skip TemplateSpecializedType in modernize-pass-by-value. (details)
  37. [ARM] Additional MVE VMLA tests. NFC (details)
  38. [ARM] MVE VMLAS (details)
  39. Reland 7691790dfd1011d08f5468f63952d7690755aad4 with a MSAN fix (details)
  40. [Transform][MemCpyOpt] Add missing DebugLoc to %tmpbitcast (details)
  41. [TargetLowering] SimplifyDemandedBits - fix SCALAR_TO_VECTOR knownbits bug (details)
  42. Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI. (details)
  43. [Inliner] Inlining should honor nobuiltin attributes (details)
  44. [mlir] Add reifyReturnShape to shaped type OpInterface (details)
  45. [F16C] Add strict-fp constrained tests (details)
  46. [AVX512] Add strict-fp cvtph2ps constrained tests (details)
Commit c3595d1069277b4ab0df49d7139b6f1bbc94f21c by Saleem Abdulrasool
build: process the libxml2 library path for embedding

Process the path for libxml2 before embedding that into the command line
that is generated in `llvm-config`.  Each element in the path is being
given a `-l` unconditionally which should not be the case for absolute
paths.  Since the library path may be absolute or not, just apply some
CMake pre-processing when generating the path.

Before:
```
/usr/lib/x86_64-linux-gnu/libz.so -lrt -ldl -ltinfo -lpthread -lm /usr/lib/x86_64-linux-gnu/libxml2.so
```

After:
```
/usr/lib/x86_64-linux-gnu/libz.so -lrt -ldl -ltinfo -lpthread -lm -lxml2
```

Resolves PR44179!
The file was modifiedllvm/lib/WindowsManifest/CMakeLists.txt
Commit 5754a61e57efaa9bec8ad8ea8589a73b27edb0a8 by pavel
[DataExtractor] Improve error message when we run off the end of the buffer

Summary: Include the offset at which this happened.

Reviewers: dblaikie, jhenderson

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75265
The file was modifiedllvm/lib/Support/DataExtractor.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loc-error-cases2.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loclists-error-cases2.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDataExtractorTest.cpp
Commit 044308e9ed5cb69076eca7156a694f4d2844cf74 by ikudrin
[DebugInfo] Avoid crashing when parsing an invalid unit header in DWP.

The integrity checks for index entries in DWARFUnitHeader::extract()
might cause the function to return before checking the state of an
Error object, which leads to a crash in runtime. The patch fixes the
issue by moving the checks in a safe place.

Differential Revision: https://reviews.llvm.org/D75177
The file was addedllvm/test/DebugInfo/X86/invalid-cu-length-dwp.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Commit 7a9d00f261a5fcc739fcde86849374c86bc9420b by ikudrin
[DebugInfo] Fix parsing DWARF64 units in DWP.

The integrity check code allowed only DWARF32 units.

Differential Revision: https://reviews.llvm.org/D75178
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was addedllvm/test/DebugInfo/X86/dwp-dwarf64.s
Commit 98bb094c1e0580833a79d60dbc853bd1a43aa1a6 by kadircet
[clangd] Use tokenize instead of raw lexer in SourceCode/lex

Reviewers: hokein, sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75249
The file was modifiedclang-tools-extra/clangd/SourceCode.cpp
Commit 48fad110e08a5765632d45e6a3c30186b21cc81a by kadircet
[clangd] Get rid of lexer usage in ObjCLocalizeStringLiteral tweak

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75230
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ObjCLocalizeStringLiteral.cpp
Commit b17f29201089131bf97de21606097e963ca8614d by 1.int32
[ASTImporter] Improved import of AlignedAttr.

Summary:
It is not enough to clone the attributes at import.
They can contain reference to objects that should be imported.
This work is done now for AlignedAttr.

Reviewers: martong, a.sidorin, shafik

Reviewed By: shafik

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, teemperor, martong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75048
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 01f9abbb50b11dd26b9ccb7cb565cc955d2b9c74 by hans
llvm-ar: Fix MinGW compilation

llvm-ar is using CompareStringOrdinal which is available
only starting with Windows Vista (WINVER 0x600).

Fix this by hoising WindowsSupport.h, which sets _WIN32_WINNT
to 0x0601, up to llvm/include/llvm/Support and use it in llvm-ar.

Patch by Cristian Adam!

Differential revision: https://reviews.llvm.org/D74599
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
The file was modifiedllvm/lib/Support/Windows/ThreadLocal.inc
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was modifiedllvm/lib/Support/Windows/Threading.inc
The file was removedllvm/lib/Support/Windows/WindowsSupport.h
The file was modifiedllvm/lib/Support/raw_ostream.cpp
The file was modifiedllvm/lib/Support/Windows/Signals.inc
The file was addedllvm/include/llvm/Support/Windows/WindowsSupport.h
The file was modifiedllvm/lib/Support/Windows/Host.inc
The file was modifiedllvm/lib/Support/Windows/Program.inc
The file was modifiedllvm/lib/Support/RandomNumberGenerator.cpp
The file was modifiedllvm/lib/Support/InitLLVM.cpp
The file was modifiedllvm/lib/Support/Windows/Memory.inc
The file was modifiedllvm/lib/Support/Windows/Process.inc
The file was modifiedllvm/lib/Support/Windows/DynamicLibrary.inc
The file was modifiedllvm/lib/Support/Windows/Path.inc
Commit 6d15c4deab51498b70825fb6cefbbfe8f3d9bdcf by sguelton
No longer generate calls to *_finite

According to Joseph Myers, a libm maintainer

> They were only ever an ABI (selected by use of -ffinite-math-only or
> options implying it, which resulted in the headers using "asm" to redirect
> calls to some libm functions), not an API. The change means that ABI has
> turned into compat symbols (only available for existing binaries, not for
> anything newly linked, not included in static libm at all, not included in
> shared libm for future glibc ports such as RV32), so, yes, in any case
> where tools generate direct calls to those functions (rather than just
> following the "asm" annotations on function declarations in the headers),
> they need to stop doing so.

As a consequence, we should no longer assume these symbols are available on the
target system.

Still keep the TargetLibraryInfo for constant folding.

Differential Revision: https://reviews.llvm.org/D74712
The file was modifiedllvm/test/CodeGen/X86/finite-libcalls.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/illegal-float-ops.ll
Commit d48c981697a49653efff9dd14fa692d99e6fa868 by hans
SROA: Don't drop atomic load/store alignments (PR45010)

SROA will drop the explicit alignment on allocas when the ABI guarantees
enough alignment. Because the alignment on new load/store instructions
are set based on the alloca's alignment, that means SROA would end up
dropping the alignment from atomic loads and stores, which is not
allowed (see bug). For those, make sure to always carry over the
alignment from the previous instruction.

Differential revision: https://reviews.llvm.org/D75266
The file was modifiedllvm/test/Transforms/SROA/alignment.ll
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
Commit 7369ad38f8decb4a85b168bbf9a9869fa4e648ee by pavel
[lldb] Use llvm MC as the source of dwarf/eh register numbers for X86 ABIs

x86_64 ABIs were converted with 07355c1c0. This does the same with i386.
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.h
The file was modifiedlldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABISysV_i386.h
The file was modifiedlldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
Commit 527bd24c3b41a54cef241ea2a1be53f4a4dedb17 by pierre.vanhoutryve
[debuginfo-tests][dexter] Add a test tool --calculate-average option

Differential Revision: https://reviews.llvm.org/D75235
The file was modifieddebuginfo-tests/dexter/dex/tools/test/Tool.py
Commit c074f5234d29439116f0e0be6033ea9331e85394 by a.v.lapshin
[DWARFLinker][NFC] Remove usages of "const object::ObjectFile" from DWARFLinker.

Summary:
DWARFContext has all the required information to access source debug info.
It is not necessary to use "const object::ObjectFile" to create DWARFContext.
Thus this patch removes all usages of "const object::ObjectFile"
from DWARFLinker. Instead, already created DWARFContext is passed
to DWARFLinker. The purpose is to not depend on "const object::ObjectFile".

The patch looks big, but most of changes are renamings and movements.

Testing: it passes "check-all" lit testing. MD5 checksum for clang .dSYM bundle
matches for the dsymutil with/without that patch.

Reviewers: JDevlieghere, friss, dblaikie, aprantl

Reviewed By: JDevlieghere

Subscribers: hiraditya, llvm-commits

Tags: #llvm, #debug-info

Differential Revision: https://reviews.llvm.org/D75029
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFLinker.h
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.h
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.cpp
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.h
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Commit 84bd26afb62d6b6f3f7e22dd3b76aac65ceee023 by kbobyrev
[mlir] Fix the build by using correct symbol name

s/ArrayRef/llvm::ArrayRef/g since it's outside llvm namespace.

Related revision: 9227a74b7e8ff9b9cb5924e03547b940dc06e331
The file was modifiedmlir/include/mlir/Dialect/LoopOps/Transforms.h
Commit 43704459b16682402e4ba3f530b60be7a804e740 by djordje.todorovic
[NFC] [Test commit] Testing commit access with new email
The file was modifiedllvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
Commit b4207e705b2b037d75876f10d12b730685020d94 by oliver.stannard
[ARM][Thumb2] Support .w assembler qualifier for pld/pldw/pli

Accept explicit wide assembler qualifier for the pld/pldw/pli.

Differential revision: https://reviews.llvm.org/D75144
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/test/MC/ARM/basic-thumb2-instructions.s
Commit 2f95d5f10344967ff36b84d442c7b40d501f77f5 by oliver.stannard
[ARM][Thumb2] support .w assembler qualifier for dmb/dsb/isb

Support the explicit wide assembler qualifier for the dmb/dsb/isb synchronization barrier instructions.

Differential revision: https://reviews.llvm.org/D75143
The file was modifiedllvm/test/MC/ARM/basic-thumb2-instructions.s
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
Commit 5f52a93b698bab3f7083a6d97d3e3a2e303866e0 by jbcoe
[clang-format] Recognize C# nullable types

Summary:
Do not confuse C# nullable types with conditional expressions.

Do not put a space before the `?` in `[access-modifier] Type? variableName;`

Reviewers: krasimir, MyDeveloperDay

Reviewed By: krasimir, MyDeveloperDay

Subscribers: cfe-commits, MyDeveloperDay

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D75261
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
The file was modifiedclang/lib/Format/FormatToken.h
Commit bf61421a02d7677d4cda8dac137109be6a5f8146 by sam.parker
[RDA] Track implicit-defs

Ensure that we're recording implicit defs, as well as visiting implicit
uses and implicit defs when we're walking through operands.

Differential Revision: https://reviews.llvm.org/D75185
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-ignore-vctp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cmplx_cong.mir
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit 4917a9a9656b15ee004f93d09f0516eb9ce82f98 by jay.foad
[AMDGPU] Precommit some scheduler related test updates

Summary:
The point of this is to make some tests with manual checks robust
against scheduler tweaks, so that only autogenerated test updates will
be required when pushing D68338 "[AMDGPU] Remove dubious logic in
bidirectional list scheduler".

Reviewers: arsenm, rampitec, vpykhtin

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75302
The file was modifiedllvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fadd.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.subtest-saddr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.subtest-nosaddr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nsa-reassign.ll
Commit 46bfc2bc01e01013522075271531c1687ea4f468 by sam.parker
[NFC][ARM] Add tests
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-cond-iter-count.mir
Commit 2a92fc9b8e6a079acd53ec3675cfd9bb153ab1ea by peter.smith
[MC][ELF][ARM] Add relocations for some pc-relative fixups

Add ELF relocations for the following fixups:
fixup_thumb_adr_pcrel_10 -> R_ARM_THM_PC8
fixup_thumb_cp -> R_ARM_THM_PC8
fixup_t2_adr_pcrel_12 -> R_ARM_THM_PREL_11_0
fixup_t2_ldst_pcrel_12 -> R_ARM_THM_PC12

While these relocations are short-ranged there is support in the open
source ELF linker's in binutils and soon to be in LLD. MC will no longer
resolve pc-relative fixups to global symbols due to interpositioning
concerns. We can handle these at link time by implementing the relocations.

The R_ARM_THM_PC8 has some extra encoding rules for addends that llvm-mc
sidesteps by not supporting addends for these instructions, using the wide
Thumb 2 instruction if it is available. I think that this is a reasonable
compromise given that these are rare.

This partiall reverts D72892, the Thumb fixups no longer need to be
evaluated at assembly time.

Differential Revision: https://reviews.llvm.org/D75039
The file was modifiedllvm/test/MC/ARM/thumb1-relax-adr.s
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
The file was modifiedllvm/test/MC/ARM/thumb1-relax-ldrlit.s
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
The file was modifiedllvm/test/MC/ARM/pcrel-global.s
The file was addedllvm/test/MC/ARM/pcrel-global-rel.s
Commit 6b035b607f5f5e4db6f1ca51340d7a87b5807a0c by peter.smith
[LLD][ELF][ARM] Implement Thumb pc-relative relocations for adr and ldr

MC will now output the R_ARM_THM_PC8, R_ARM_THM_PC12 and
R_ARM_THM_PREL_11_0 relocations. These are short-ranged relocations that
are used to implement the adr rd, literal and ldr rd, literal pseudo
instructions.

The instructions use a new RelExpr called R_ARM_PCA in order to calculate
the required S + A - Pa expression, where Pa is AlignDown(P, 4) as the
instructions add their immediate to AlignDown(PC, 4). We also do not want
these relocations to generate or resolve against a PLT entry as the range
of these relocations is so short they would never reach.

The R_ARM_THM_PC8 has a special encoding convention for the relocation
addend, the immediate field is unsigned, yet the addend must be -4 to
account for the Thumb PC bias. The ABI (not the architecture) uses the
convention that the 8-byte immediate of 0xff represents -4.

Differential Revision: https://reviews.llvm.org/D75042
The file was addedlld/test/ELF/arm-thumb2-ldrlit.s
The file was addedlld/test/ELF/arm-thumb2-ldrlit-err.s
The file was addedlld/test/ELF/arm-thumb2-adr-err.s
The file was addedlld/test/ELF/arm-thumb-ldrlit-err.s
The file was modifiedlld/ELF/InputSection.cpp
The file was addedlld/test/ELF/arm-thumb2-adr.s
The file was modifiedlld/test/ELF/arm-thumb-undefined-weak.s
The file was addedlld/test/ELF/arm-thumb-adr-err.s
The file was addedlld/test/ELF/arm-thumb-adr.s
The file was addedlld/test/ELF/arm-thumb-ldrlit.s
The file was modifiedlld/ELF/Relocations.h
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was addedlld/test/ELF/arm-thumb-pc8-weak.s
Commit cc28a754679a2c85625e719944154fe82491f008 by aqjune
Let EarlyCSE fold equivalent freeze instructions

Summary:
This patch makes EarlyCSE fold equivalent freeze instructions.

Another optimization that I think will be useful is to remove freeze if its operand is used as a branch condition or at llvm.assume:

```
  %c = ...
  br i1 %c, label %A, ..
A:
  %d = freeze %c ; %d can be optimized to %c because %c cannot be poison or undef (or 'br %c' would be UB otherwise)
```

If it make sense for EarlyCSE to support this as well, I will make a patch for this.

Reviewers: spatel, reames, lebedev.ri

Reviewed By: lebedev.ri

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75334
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/test/Transforms/EarlyCSE/basic.ll
Commit 6af859dcca272cf3706d070183562e4cecb1dc36 by jeremy.morse
[DebugInfo] Re-implement LexicalScopes dominance method, add unit tests

Way back in D24994, the combination of LexicalScopes::dominates and
LiveDebugValues was identified as having worst-case quadratic complexity,
but it wasn't triggered by any code path at the time. I've since run into a
scenario where this occurs, in a very large basic block where large numbers
of inlined DBG_VALUEs are present.

The quadratic-ness comes from LiveDebugValues::join calling "dominates" on
every variable location, and LexicalScopes::dominates potentially touching
every instruction in a block to test for the presence of a scope. We have,
however, already computed the presence of scopes in blocks, in the
"InstrRanges" of each scope. This patch switches the dominates method to
examine whether a block is present in a scope's InsnRanges, avoiding
walking through the whole block.

At the same time, fix getMachineBasicBlocks to account for the fact that
InsnRanges can cover multiple blocks, and add some unit tests, as Lexical
Scopes didn't have any.

Differential revision: https://reviews.llvm.org/D73725
The file was modifiedllvm/unittests/CodeGen/CMakeLists.txt
The file was addedllvm/unittests/CodeGen/MFCommon.inc
The file was modifiedllvm/lib/CodeGen/LexicalScopes.cpp
The file was modifiedllvm/unittests/CodeGen/MachineInstrTest.cpp
The file was addedllvm/unittests/CodeGen/LexicalScopesTest.cpp
Commit 1b025665c93b85283938edeade521ab3468a1775 by peter.smith
[ELF][LLD][ARM] Add missing REQUIRES: arm to tests

Fix buildbots that don't build ARM backend.
The file was modifiedlld/test/ELF/arm-thumb-ldrlit.s
The file was modifiedlld/test/ELF/arm-thumb2-adr.s
The file was modifiedlld/test/ELF/arm-thumb2-ldrlit.s
The file was modifiedlld/test/ELF/arm-thumb-adr-err.s
The file was modifiedlld/test/ELF/arm-thumb2-ldrlit-err.s
The file was modifiedlld/test/ELF/arm-thumb-ldrlit-err.s
The file was modifiedlld/test/ELF/arm-thumb2-adr-err.s
The file was modifiedlld/test/ELF/arm-thumb-adr.s
Commit 29fb0b1310049718dffe7523d7e97fc6d9307c92 by llvmgnsyncbot
[gn build] Port 6af859dcca2
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Commit ca950a6bb1972d142a8f6932f33f61386aabd949 by simon.cook
[RISCV] Compress instructions based on function features

When running under LTO, it is common to not specify the architecture
spec, which is used for setting up the target machine, and instead rely
on features specified in each function to generate the correct
instructions.

This works for the code generator, but the RISC-V backend uses the
AsmPrinter to do instruction compression, which does not see these
features but instead uses a MCSubtargetInfo object to see whether
compression is enabled. Since this is configured based on the
TargetMachine at startup, it will result in compressed instructions not
being emitted when it has not been given the 'c' TargetFeature, but the
function has it.

This changes the RISCVAsmPrinter to re-initialize the STI feature set
based on the current MachineFunction, such that compressed instructions
are now correctly emitted regardless of the method used to enable them.

Differential revision: https://reviews.llvm.org/D73339
The file was modifiedllvm/test/CodeGen/RISCV/compress.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
The file was addedllvm/test/CodeGen/RISCV/compress-float.ll
Commit f829615205f0f671c9b6e1e89d9af78f0d40fe9d by jbcoe
[clang-format] Improve C# handling of spaces in square brackets

Reviewers: MyDeveloperDay, krasimir

Reviewed By: krasimir

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D75336
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
Commit 39c4246e1e5bb76b1bca2e4b0d0ebc4005d75c32 by n.james93
[clang-tidy] Added virtual isLanguageVersionSupported to ClangTidyCheck

Summary:
Motivated by [[ https://bugs.llvm.org/show_bug.cgi?id=45045 | Tune inspections to a specific C++ standard. ]]
Moves the isLanguageVersionSupported virtual function from `MakeSmartPtrCheck` to the base `ClangTidyCheck` class.
This will disable registering matchers or pp callbacks on unsupported language versions for a check.
Having it as a standalone function is cleaner than manually disabling the check in the register function and should hopefully
encourage check developers to actually restrict the check based on language version.
As an added bonus this could enable automatic detection of what language version a check runs on for the purpose of documentation generation

Reviewers: aaron.ballman, gribozavr2, Eugene.Zelenko, JonasToth, alexfh, hokein

Reviewed By: gribozavr2

Subscribers: xazax.hun, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75289
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h
Commit f5e3c0399ddd9462d2d1365dd6f59ad4f36cefad by a.v.lapshin
Fix buildbots after c074f5234d29439116f0e0be6033ea9331e85394.

Removed unused function getSectionByName() from dsymutil/DwarfStreamer.cpp.
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.cpp
Commit addcbc401cf21d92ad3819971d832c73e70ba529 by jay.foad
[AMDGPU] Update a comment missed in 74e2974ac6a
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
Commit 970558df94be1579c6ad95c7ea4ac19bd951fd3e by jay.foad
[AMDGPU] Mark the scheduling model as complete
The file was modifiedllvm/lib/Target/AMDGPU/SISchedule.td
Commit 395e2c06790a35fb90bd59947a137c9276ed2935 by jay.foad
[Utils] Make some scripts directly executable
The file was modifiedllvm/utils/DSAextract.py
The file was modifiedllvm/utils/shuffle_select_fuzz_tester.py
The file was modifiedllvm/utils/llvm-gisel-cov.py
The file was modifiedllvm/utils/chunk-print-before-all.py
The file was modifiedllvm/utils/create_ladder_graph.py
The file was modifiedllvm/utils/schedcover.py
Commit d76fddf2f17abe2ea387ff6fa84a513814bbab41 by llvm-dev
[cmake][msvc] Don't disable C4345 any more.

This shouldn't be relevant now that we just support VS2017+.
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 365c99fd7d5461be902a5cec54d773cb82b56101 by aaron
Skip TemplateSpecializedType in modernize-pass-by-value.

Existing 'modernize-pass-by-value' check works only with non template values in
initializers. Fixes PR37210.
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-pass-by-value.cpp
Commit 78e5d1346fb235e8901bb3821e21cd851d04e3a9 by david.green
[ARM] Additional MVE VMLA tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmla.ll
Commit e2a2f3f7fcf2175b16a96c47e5d8cb566258d1ae by david.green
[ARM] MVE VMLAS

This addes extra patterns for the VMLAS MVE instruction, which performs
Qda = Qda * Qn + Rm, a similar pattern to the existing VMLA. The sinking
of splat(Rm) into the loop is already performed, meaning we just need
extra Pat's in tablegen.

Differential Revision: https://reviews.llvm.org/D75115
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmla.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
Commit c8bfed05e21f945b5ac71cd01d62e2854a8ddcf9 by kparzysz
Reland 7691790dfd1011d08f5468f63952d7690755aad4 with a MSAN fix

In some cases when HexagonTargetLowering::allowsMemoryAccess returned
true, it did not set the "Fast" argument, leaving it uninitialized.

[Hexagon] Improve casting of boolean HVX vectors to scalars

- Mark memory access for bool vectors as disallowed in target lowering.
  This will prevent combining bitcasts of bool vectors with stores.
- Replace the actual bitcasting code with a faster version.
- Handle casting of v16i1 to i16.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-store-bitcast-v128i1.ll
The file was modifiedllvm/test/CodeGen/Hexagon/store-vector-pred.ll
The file was modifiedllvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/isel-hvx-pred-bitcast.ll
Commit 2809abbd98980156142f228258aa86314cc1d641 by pierre.vanhoutryve
[Transform][MemCpyOpt] Add missing DebugLoc to %tmpbitcast

Fix for https://bugs.llvm.org/show_bug.cgi?id=37967

Differential Revision: https://reviews.llvm.org/D75173
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was addedllvm/test/Transforms/MemCpyOpt/pr37967.ll
Commit 4bc6f63320289e280fd848d163ada995f5fe679b by llvm-dev
[TargetLowering] SimplifyDemandedBits - fix SCALAR_TO_VECTOR knownbits bug

We can only report the knownbits for a SCALAR_TO_VECTOR node if we only demand the 0'th element - the upper elements are undefined and shouldn't be trusted.

This is causing a number of regressions that need addressing but we need to get the bugfix in first.
The file was modifiedllvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-math.ll
The file was modifiedllvm/test/CodeGen/PowerPC/srem-vector-lkk.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/sse3.ll
The file was modifiedllvm/test/CodeGen/X86/pr30562.ll
The file was modifiedllvm/test/CodeGen/X86/insertelement-ones.ll
The file was modifiedllvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll
The file was modifiedllvm/test/CodeGen/PowerPC/urem-vector-lkk.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pre-inc-disable.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-v1.ll
The file was modifiedllvm/test/CodeGen/X86/load-partial.ll
Commit b6e80864b6da7937504dcf5698ea49801d1f7be2 by llvm-dev
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
Commit f9ca75f19bab639988ebbe68c81d07babd952afb by tejohnson
[Inliner] Inlining should honor nobuiltin attributes

Summary:
Final patch in series to fix inlining between functions with different
nobuiltin attributes/options, which was specifically an issue in LTO.
See discussion on D61634 for background.

The prior patch in this series (D67923) enabled per-Function TLI
construction that identified the nobuiltin attributes.

Here I have allowed inlining to proceed if the callee's nobuiltins are a
subset of the caller's nobuiltins, but not in the reverse case, which
should be conservatively correct. This is controlled by a new option,
-inline-caller-superset-nobuiltin, which is enabled by default.

Reviewers: hfinkel, gchatelet, chandlerc, davidxl

Subscribers: arsenm, jvesely, nhaehnle, mehdi_amini, eraman, hiraditya, haicheng, dexonsmith, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74162
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/lib/Transforms/IPO/InlineSimple.cpp
The file was modifiedllvm/include/llvm/Analysis/InlineCost.h
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was addedllvm/test/Transforms/Inline/inline-no-builtin-compatible.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
Commit e706533f0a52b2eb8929d4004d1daccd53feda29 by jpienaar
[mlir] Add reifyReturnShape to shaped type OpInterface

This call results in inserting operations that compute the return shape
dynamically for the operation.
The file was modifiedmlir/test/mlir-tblgen/return-types.mlir
The file was modifiedmlir/include/mlir/Analysis/InferTypeOpInterface.h
The file was modifiedmlir/include/mlir/Analysis/InferTypeOpInterface.td
The file was modifiedmlir/test/lib/TestDialect/TestDialect.cpp
The file was modifiedmlir/test/lib/TestDialect/TestPatterns.cpp
Commit a06402cc69c07bc18c729b23bedb53b929411f36 by llvm-dev
[F16C] Add strict-fp constrained tests

As suggested on D75162
The file was addedclang/test/CodeGen/f16c-builtins-constrained.c
Commit bfa0aaf37f8d68cb7fb63eff5c825724c3829d09 by llvm-dev
[AVX512] Add strict-fp cvtph2ps constrained tests

As suggested on D75162
The file was modifiedclang/test/CodeGen/avx512f-builtins-constrained.c
The file was modifiedclang/test/CodeGen/avx512f-builtins.c
The file was addedclang/test/CodeGen/avx512vl-builtins-constrained.c