SuccessChanges

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

Summary

  1. [zorg] Update container-based Linaro slaves (details)
Commit acf05bd9613de00aa00f33724ae515092f6cf2e8 by maxim.kuvyrkov
[zorg] Update container-based Linaro slaves

Summary:
Update container-based Linaro slaves to not include machine name
"linaro-armv8-01", since these slaves are now served by docker
containers on several Linaro machines.

Also decrease "jobs" property setting for such builders from 64 to 32.
These builders share 32-core and 64-core machines, and even on 64-core
machine they can get at most 32-thread parallelism.

Reviewers: gkistanova, olista01, rovka, yroux, omjavaid, ostannard

Reviewed By: gkistanova, ostannard

Subscribers: ostannard, kristof.beyls

Differential Revision: https://reviews.llvm.org/D80573
The file was modifiedbuildbot/osuosl/master/config/slaves.py
The file was modifiedbuildbot/osuosl/master/config/builders.py

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

Summary

  1. [MLPolicies] Fix dependency and -DBUILD_SHARED_LIBS=on builds after D80579 (details)
  2. [CMake] Revert cf86a234ba86acf0bb875e21d27833be36e08be4 (details)
  3. AMDGPU/GlobalISel: Fixed handling of non-standard vectors (details)
  4. DAG: Fix expansion of DYNAMIC_STACKALLOC for StackGrowsUp targets (details)
  5. AMDGPU: Support non-entry block static sized allocas (details)
  6. [Lexer] Fix invalid suffix diagnostic for fixed-point literals (details)
  7. AMDGPU/GlobalISel: Fixed insert element for non-standard vectors (details)
  8. [TRE] Allow elimination when the returned value is non-constant (details)
  9. [ELF] --wrap: Drop __real_ symbol from the symbol table (details)
  10. [gn build] Port D80579 (details)
  11. [llvm][NFC] ProfileSummaryInfo - const-ify APIs (details)
  12. [gn build] Add MLAnalysisTests after D80579 (details)
  13. Introduce a GCStatepointInst type analogous to IntrinsicInst subclasses (details)
  14. Do not warn that an expression of the form (void)arr; is unused when (details)
  15. [ELF][test] Fix wrap-no-real.s after D51283 (details)
  16. [NFC,StackSafety] Cleanup alloca size calculation (details)
  17. Sink first bit of functionality from Statepoint to GCStatepointInst (details)
  18. [Statepoint] Replace uses of isX functions with idiomatic isa<X> (details)
  19. [ObjectYAML][MachO] Add error handling in MachOEmitter. (details)
  20. [Statepoint] Reduce scope of usage of ImmutableStatepoint (details)
  21. Temporarily disable the following failing tests on Darwin: (details)
  22. [Analyzer][WebKit] NoUncountedMembersChecker (details)
  23. [gn build] Port 660cda572d6 (details)
  24. [NFC,StackSafety] Add StackSafetyGlobalInfo class (details)
  25. [lldb/Reproducers] Skip or fix the remaining tests. (details)
  26. [lldb/Test] Import all decorators. (details)
  27. [docs] Release notes for DIModule metadata (details)
  28. [Driver][X86] Support branch align options with LTO (details)
  29. [JumpThreading] Use emplace_back instead of push_back (NFC) (details)
  30. [Analyzer][StreamChecker] Added check for "indeterminate file position". (details)
  31. [HardwareLoops] LangRef Intrinsic descriptions (details)
  32. [VE] Implements minimum MC layer for VE (3/4) (details)
  33. [gn build] Port 5921782f744 (details)
  34. Harden MLIR detection of misconfiguration when missing dialect registration (details)
  35. [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays (details)
  36. [CodeGen] Specify meaning of ISD opcodes for scalable vectors (details)
  37. tsan: disable java_finalizer2 test on darwin (details)
  38. [Clang][Sanitizers] Expect test failure on {arm,thumb}v7 (details)
  39. [TableGen] Fix non-standard escape warnings for braces in InstAlias (details)
  40. FileCheck [10/12]: Add support for signed numeric values (details)
  41. [ARM] Improve codegen of volatile load/store of i64 (details)
  42. [AArch64][SVE] Add support for spilling/filling ZPR2/3/4 (details)
  43. Fixed bot failure after d20bf5a7258d4b6a7 (details)
  44. [AArch64] Precommit new fp extraction/insertion test. (details)
  45. [DebugInfo] Use SplitTemplateClosers (foo<bar<baz> >) in DWARF too (details)
  46. [yaml2obj] - Implement the "SectionHeaderTable" tag. (details)
  47. [analyzer] Allow bindings of the CompoundLiteralRegion (details)
  48. [AMDGPU][MC][DISASSEMBLER] Corrected decoder to consume each code fragment only once (details)
  49. [clangd] Highlight related control flow. (details)
  50. [AMDGPU][MC] Corrected v_writelane_b32 to fix a decoding bug (details)
  51. [Clang] Enable _Complex __float128 (details)
Commit 993bbaf6a35baed4ad3d8422a76c4311140641a8 by maskray
[MLPolicies] Fix dependency and -DBUILD_SHARED_LIBS=on builds after D80579
The file was modifiedllvm/lib/Analysis/LLVMBuild.txt
The file was addedllvm/lib/Analysis/ML/LLVMBuild.txt
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was modifiedllvm/lib/Analysis/ML/CMakeLists.txt
The file was modifiedllvm/lib/Passes/LLVMBuild.txt
Commit be6bffe7293c63ec874aaf21b4f768dd3f77380a by maskray
[CMake] Revert cf86a234ba86acf0bb875e21d27833be36e08be4

It is unnecessary after 993bbaf6a35baed4ad3d8422a76c4311140641a8
The file was modifiedllvm/lib/Analysis/ML/CMakeLists.txt
The file was modifiedllvm/lib/Passes/CMakeLists.txt
Commit 8aa81aaebe533d0721f1c00deeb0fc452b0147a5 by Stanislav.Mekhanoshin
AMDGPU/GlobalISel: Fixed handling of non-standard vectors

We do not have register classes for all possible vector
sizes, so round it up for extract vector element.

Also fixes selection of G_MERGE_VALUES when vectors are
not a power of two.

This has required to refactor getRegSplitParts() in way
that it can handle not just power of two vectors.

Ideally we would like RegSplitParts to be generated by
tablegen.

Differential Revision: https://reviews.llvm.org/D80457
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-concat-vectors.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Commit dda82986f97747350dce4e8ebd65c27a64a37c9d by Matthew.Arsenault
DAG: Fix expansion of DYNAMIC_STACKALLOC for StackGrowsUp targets

Can't test this since I can't directly use the default expansion for
AMDGPU. It needs to scale the amount by the wave size, rather than use
the raw byte size value.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit 5e007fe9980cc44e9c4a14c9baf3bdfb012d2c18 by Matthew.Arsenault
AMDGPU: Support non-entry block static sized allocas

OpenMP emits these for some reason, so handle them. Assume these use
4096 bytes by default, with a flag to override this. Also change the
related stack assumption for calls to have a flag.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was addedllvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit ef37444058550b0f49441b994c9e9368d8e42da8 by leonardchan
[Lexer] Fix invalid suffix diagnostic for fixed-point literals

Committing on behalf of nagart, who authored this patch.

Differential Revision: https://reviews.llvm.org/D80412
The file was modifiedclang/test/Frontend/fixed_point_errors.c
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/include/clang/Lex/LiteralSupport.h
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
Commit 7392bbc3014cd1b54852aa71ac971c6c92cd1914 by Stanislav.Mekhanoshin
AMDGPU/GlobalISel: Fixed insert element for non-standard vectors

Differential Revision: https://reviews.llvm.org/D80653
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 2bf3fe9b6dedf727990e68244a3d637518ea8bc3 by efriedma
[TRE] Allow elimination when the returned value is non-constant

Currently we can only eliminate call return pairs that either return the
result of the call or a dynamic constant. This patch removes that
limitation.

Differential Revision: https://reviews.llvm.org/D79660
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modifiedllvm/test/Transforms/TailCallElim/2010-06-26-MultipleReturnValues.ll
The file was modifiedllvm/test/Transforms/TailCallElim/basic.ll
Commit 54d289685260da85fc43c59db2550b18df7c33a5 by maskray
[ELF] --wrap: Drop __real_ symbol from the symbol table

In D34993, we discussed and concluded that we should drop `__real_
symbol from the symbol table, but I did the opposite in D50569.
This patch is to drop `__real_` symbol.

MaskRay's note: omitting `__real_` is important if it is undefined:
otherwise a subsequent link may error due to the undefined `__real_` in .dynsym

Differential Revision: https://reviews.llvm.org/D51283
The file was modifiedlld/test/ELF/lto/wrap-2.ll
The file was modifiedlld/test/ELF/wrap-no-real.s
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/test/ELF/wrap.s
Commit dee2bb58107fc3ce438d2a12c778bb0ab485b592 by maskray
[gn build] Port D80579
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
The file was addedllvm/utils/gn/secondary/llvm/lib/Analysis/ML/BUILD.gn
Commit d14ee1553e46634ef6b7eb0d7c0b45fd3c30567f by mtrofin
[llvm][NFC] ProfileSummaryInfo - const-ify APIs

Follow-up from https://reviews.llvm.org/D79920
The file was modifiedllvm/include/llvm/Analysis/ProfileSummaryInfo.h
The file was modifiedllvm/lib/Analysis/ProfileSummaryInfo.cpp
Commit eca963f244c711ab51e1e645241562987c0f8fbf by maskray
[gn build] Add MLAnalysisTests after D80579
The file was addedllvm/utils/gn/secondary/llvm/unittests/Analysis/ML/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
Commit c94c5bf9cce8a4c7ad5e8abbc8f21bad5cf6b889 by listmail
Introduce a GCStatepointInst type analogous to IntrinsicInst subclasses

Back when we had CallSite, we implemented the current Statepoint/ImmutableStatepoint structure in analogous manner.  Now that CallSite has been removed, the structure used for statepoints looks decidely out of place.  gc.statepoint is one of the small handful of intrinsics which are invokable.  Because of this, it can't subclass IntrinsicInst as is idiomatic.

This change simply introduces the GCStatepointInst class, restructures the existing Statepoint/ImmutableStatepoint types to wrap it.  I will be landing a series of changes to sink functionality into GCStatepointInst and updating callers to be more idiomatic.
The file was modifiedllvm/lib/IR/Statepoint.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 00e5d38d40162d049f67b436ad42c9d05092e65c by richard
Do not warn that an expression of the form (void)arr; is unused when
arr is a volatile non-local array.

This fixes a recent regression exposed by removing lvalue-to-rvalue
conversion of discarded volatile arrays. In passing, regularize the
rules we use to determine whether '(void)expr;' warns when expr is a
volatile glvalue.
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
Commit 1224e619d975c7ecf8017e0ef8210188f39deec4 by maskray
[ELF][test] Fix wrap-no-real.s after D51283

Give %t3.so a DT_SONAME so that the DT_NEEDED entry in a dependent executable has a fixed length.
The file was modifiedlld/test/ELF/wrap-no-real.s
Commit a70edc2b1613b10b65f55a0670e96f9f4e6c2926 by Vitaly Buka
[NFC,StackSafety] Cleanup alloca size calculation
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 74671d5c1491dc9e252a8a10c9065b2f8cc99fba by listmail
Sink first bit of functionality from Statepoint to GCStatepointInst

Starting with the obvious stuff.  I initially tried to include the inline operand sequences too, but managed to get code which confused *me*.  Since several parts of those are being entirely removed in the near future, I may defer that portion until the cleanup is done.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 87bea912c27caaa71ac9bc3d172995994b57e639 by listmail
[Statepoint] Replace uses of isX functions with idiomatic isa<X>

Now that all of the statepoint related routines have classes with isa support, let's cleanup.

I'm leaving the (dead) utitilities in tree for a few days so that I can do the same cleanup downstream without breakage.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/StripGCRelocates.cpp
The file was modifiedllvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/IR/SafepointIRVerifier.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit 3c3a6e26e7c39096b3df746faeaa743197657a8e by Xing
[ObjectYAML][MachO] Add error handling in MachOEmitter.

Currently, `yaml2macho` doesn't support error handling. This patch helps improve it.

Differential Revision: https://reviews.llvm.org/D80535
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/fat_macho_i386_x86_64.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/sections.yaml
Commit 98a87c65a35335473cf7c233cdb312892fc771a3 by listmail
[Statepoint] Reduce scope of usage of ImmutableStatepoint

Can't quite fully remove it yet as some more items need sunk the GCStatepointInst class from the wrapper, but we can at least reduce scope.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit f3a089506fdcc4a1d658697009572c93e00c4373 by Dan Liew
Temporarily disable the following failing tests on Darwin:

  AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.LongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.SigLongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.LongJmpTest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.SigLongJmpTest

These failures will be examined properly when time permits.

rdar://problem/62141412
The file was modifiedcompiler-rt/lib/asan/tests/asan_test.cpp
Commit 660cda572d6e05e55a9d959e61aba51790c0abbd by Jan Korous
[Analyzer][WebKit] NoUncountedMembersChecker

Differential Revision: https://reviews.llvm.org/D77178
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was addedclang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
The file was modifiedclang/docs/analyzer/checkers.rst
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h
Commit f830b406c655ae59888a188302edfbc5d6fa7a13 by llvmgnsyncbot
[gn build] Port 660cda572d6
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 12cd4a51640f5e025043c45a004df66b678ffa9d by Vitaly Buka
[NFC,StackSafety] Add StackSafetyGlobalInfo class
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
Commit 5238b80058a6d096220eb9fbf606d9d983f37b0b by Jonas Devlieghere
[lldb/Reproducers] Skip or fix the remaining tests.

After this patch all remaining tests should pass on macOS when replayed
from a reproducer.

To capture the reproducers:

  ./bin/llvm-lit ../llvm-project/lldb/test/ --param lldb-run-with-repro=capture

To replay the reproducers:

  ./bin/llvm-lit ../llvm-project/lldb/test/ --param lldb-run-with-repro=replay
The file was modifiedlldb/test/API/python_api/symbol-context/TestSymbolContext.py
The file was modifiedlldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
The file was modifiedlldb/test/API/functionalities/load_unload/TestLoadUnload.py
The file was modifiedlldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
The file was modifiedlldb/test/API/functionalities/load_using_paths/TestLoadUsingPaths.py
The file was modifiedlldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestWriteMemory.py
Commit e5bb542362dfbb6c57a597810d740987afbc4202 by Jonas Devlieghere
[lldb/Test] Import all decorators.

Fixes "NameError: name 'skipIfReproducer' is not defined".
The file was modifiedlldb/test/API/macosx/version_zero/TestGetVersionZeroVersion.py
Commit c1d5b831b1cb095370a01e1749a8e9746f8f3de6 by SourabhSingh.Tomar
[docs] Release notes for DIModule metadata

Updated the release notes for the changes in the DIModule metadata.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D80614
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 49544499954912c5a0f02014de53e0bc0234c7af by shengchen.kan
[Driver][X86] Support branch align options with LTO

Summary: Before this patch, we use two different ways to pass options to align branch
depending on whether LTO is enabled. For example, `-mbranches-within-32B-boundaries`
w/o LTO and `-Wl,-plugin-opt=-x86-branches-within-32B-boundaries` w/ LTO.  It's
inconvenient, so this patch unifies the way: we only need to pass options like
`-mbranches-within-32B-boundaries` to align branches, no matter LTO is enabled or not.

Differential Revision: https://reviews.llvm.org/D80289
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/x86-malign-branch.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h
Commit c4990a03c6c347df120c0dbf6039e900889c4a92 by kazu
[JumpThreading] Use emplace_back instead of push_back (NFC)

Summary: This patch replaces push_back with emplace_back where appropriate.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80688
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 9081fa20991d101728434b354a96283b26495b71 by 1.int32
[Analyzer][StreamChecker] Added check for "indeterminate file position".

Summary:
According to the standard, after a `wread` or `fwrite` call the file position
becomes "indeterminate". It is assumable that a next read or write causes
undefined behavior, so a (fatal error) warning is added for this case.
The indeterminate position can be cleared by some operations, for example
`fseek` or `freopen`, not with `clearerr`.

Reviewers: Szelethus, baloghadamsoftware, martong, NoQ, xazax.hun, dcoughlin

Reviewed By: Szelethus

Subscribers: rnkovacs, NoQ, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, gamesh411, Charusso, martong, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80018
The file was modifiedclang/test/Analysis/stream-error.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 880c35a554952c3a64483502f3278431f8f06516 by sjoerd.meijer
[HardwareLoops] LangRef Intrinsic descriptions

The HardwareLoop intrinsics were missing and not described in LangRef. This
adds these descriptions/definitions.

Differential Revision: https://reviews.llvm.org/D80316
The file was modifiedllvm/docs/LangRef.rst
Commit 5921782f744deffb5f5bfd96f6a7932a4ff75666 by simon.moll
[VE] Implements minimum MC layer for VE (3/4)

Summary:
Define ELF binary code for VE and modify code where should use this new code.

Depends on D79544.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D79545
The file was modifiedllvm/include/llvm/Object/ELFObjectFile.h
The file was modifiedllvm/unittests/ObjectYAML/CMakeLists.txt
The file was modifiedllvm/lib/Object/ELF.cpp
The file was addedllvm/unittests/Object/ELFTest.cpp
The file was addedllvm/test/tools/llvm-readobj/ELF/file-header-machine-types.test
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was addedllvm/unittests/ObjectYAML/ELFYAMLTest.cpp
The file was addedllvm/unittests/Object/ELFObjectFileTest.cpp
The file was addedllvm/include/llvm/BinaryFormat/ELFRelocs/VE.def
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/unittests/Object/CMakeLists.txt
Commit 4b94cee650ce9753214d562826b7f1b9663c2268 by llvmgnsyncbot
[gn build] Port 5921782f744
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ObjectYAML/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Commit 213c6cdf2e7a30d722cee4cd66b7d48fc396d44b by joker.eph
Harden MLIR detection of misconfiguration when missing dialect registration

This changes will catch error where C++ op are used without being
registered, either through creation with the OpBuilder or when trying to
cast to the C++ op.

Differential Revision: https://reviews.llvm.org/D80651
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/Builders.h
Commit d20bf5a7258d4b6a7f017a81b125275dac1aa166 by SourabhSingh.Tomar
[DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays

This patch upgrades DISubrange to support fortran requirements.

Summary:
Below are the updates/addition of fields.
lowerBound - Now accepts signed integer or DIVariable or DIExpression,
earlier it accepted only signed integer.
upperBound - This field is now added and accepts signed interger or
DIVariable or DIExpression.
stride - This field is now added and accepts signed interger or
DIVariable or DIExpression.
This is required to describe bounds of array which are known at runtime.

Testing:
unit test cases added (hand-written)
check clang
check llvm
check debug-info

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D80197
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was addedllvm/test/DebugInfo/fortranDefaultLower.ll
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was addedllvm/test/Verifier/invalid-disubrange-lowerBound.ll
The file was addedllvm/test/Verifier/invalid-disubrange-upperBound.ll
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was addedllvm/test/Verifier/disubrange-count-upperBound.ll
The file was addedllvm/test/Bitcode/fortranSubrangeBackward.ll
The file was addedllvm/test/Verifier/disubrange-missing-upperBound.ll
The file was addedllvm/test/Verifier/invalid-disubrange-stride.ll
The file was addedllvm/test/DebugInfo/fortranSubrangeInt.ll
The file was modifiedllvm/include/llvm/IR/DIBuilder.h
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/test/Assembler/disubrange-empty-array.ll
The file was addedllvm/test/Bitcode/fortranSubrange.ll
The file was addedllvm/test/DebugInfo/fortranSubrangeVar.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was addedllvm/test/DebugInfo/cDefaultLower.ll
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was addedllvm/test/Bitcode/fortranSubrangeBackward.ll.bc
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/test/DebugInfo/X86/nondefault-subrange-array.ll
The file was modifiedllvm/test/DebugInfo/X86/default-subrange-array.ll
The file was addedllvm/test/DebugInfo/fortranSubrangeExpr.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Bindings/llvm-c/debug_info.ll
The file was modifiedllvm/test/Assembler/invalid-disubrange-count-missing.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/IR/DIBuilder.cpp
The file was modifiedllvm/unittests/IR/MetadataTest.cpp
The file was modifiedllvm/test/Assembler/debug-info.ll
Commit ec0b66c318ea42ec229fd3a9ef4ad92bf81d41cf by sander.desmalen
[CodeGen] Specify meaning of ISD opcodes for scalable vectors

This patch contains changes to the description of EXTRACT_SUBVECTOR,
INSERT_SUBVECTOR, INSERT_VECTOR_ELT, EXTRACT_VECTOR_ELT and
CONCAT_VECTORS to specify their behaviour for scalable vectors.

For EXTRACT_SUBVECTOR it specifies that the IDX is scaled by the
same runtime scaling as the extracted (or inserted) vector. This
definition is the most natural extension to EXTRACT_SUBVECTOR for
scalable vectors, as most use-cases that work on fixed-width types
will have the same meaning for scalable types. For legalization for
example, it is common to split the vector operation to operate on
the LO and HI halfs of a vector.

For a fixed width vector <16 x i8> this would be expressed with:

  v16i8 %res = EXTRACT_SUBVECTOR v32i8 %v, i32 16

For a scalable vector, this would similarly be expressed as:

  nxv16i8 %res = EXTRACT_SUBVECTOR nxv32i8 %V, i32 16

By extending the meaning of IDX for scalable vectors, most existing
optimisations on EXTRACT/INSERT_SUBVECTOR work for scalable vectors
without any changes. This definition also allows extracting a
fixed-width subvector from a scalable vector, which is useful to
e.g. extract the low N lanes of a scalable vector.

This patch is not NFC because it sets the meaning of these nodes
for scalable vectors, which future patches will build upon.

Reviewers: efriedma, ctetreau, rogfer01, craig.topper

Reviewed By: efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79806
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit 0969541ffcb24ae1af59fcb8778063becf17dbca by dvyukov
tsan: disable java_finalizer2 test on darwin

pthread_barrier_t is not supported on darwin.
Do what other tests that use pthread_barrier_t do.
The file was modifiedcompiler-rt/test/tsan/java_finalizer2.cpp
Commit 69935d86aed1b691c5f33a2141f15cb3aaee1af6 by elver
[Clang][Sanitizers] Expect test failure on {arm,thumb}v7

Summary:
Versions of LLVM built on {arm,thumb}v7 appear to have differently
configured pass managers, which causes restrictions on which sanitizers
we may use.

As such, expect failure of the recently added "sanitize-coverage.c" test
on these architectures until we can investigate armv7's restrictions.

Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=46117

Reviewers: vitalybuka, glider

Reviewed By: glider

Subscribers: glider, kristof.beyls, danielkiss, cfe-commits, vvereschaka

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80668
The file was modifiedclang/test/CodeGen/sanitize-coverage.c
Commit e533a176b3d4d936a4870cd1a3273941ba699882 by cullen.rhodes
[TableGen] Fix non-standard escape warnings for braces in InstAlias

Summary:
TableGen interprets braces ('{}') in the asm string of instruction aliases as
variants but when defining aliases with literal braces they have to be escaped
to prevent them being removed.

Braces are escaped with '\\', for example:

  def FooBraces : InstAlias<"foo \\{$imm\\}", (foo IntOperand:$imm)>;

Although when TableGen is emitting the assembly writer (-gen-asm-writer)
the AsmString that gets emitted is:

  AsmString = "foo \{$\x01\}";

In c/c++ braces don't need to be escaped which causes compilation
warnings:

  warning: use of non-standard escape character '\{' [-Wpedantic]

This patch fixes the issue by unescaping the flattened alias asm string
in the asm writer, by replacing '\{\}' with '{}'.

Reviewed By: hfinkel

Differential Revision: https://reviews.llvm.org/D79991
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was addedllvm/test/TableGen/AliasAsmString.td
Commit 23ac16cf9bd4cc0bb434efcf6385baf083a2ff7b by thomasp
FileCheck [10/12]: Add support for signed numeric values

Summary:
This patch is part of a patch series to add support for FileCheck
numeric expressions. This specific patch adds support signed numeric
values, thus allowing negative numeric values.

As such, the patch adds a new class to represent a signed or unsigned
value and add the logic for type promotion and type conversion in
numeric expression mixing signed and unsigned values. It also adds
the %d format specifier to represent signed value.

Finally, it also adds underflow and overflow detection when performing a
binary operation.

Copyright:
    - Linaro (changes up to diff 183612 of revision D55940)
    - GraphCore (changes in later versions of revision D55940 and
                 in new revision created off D55940)

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson

Reviewed By: jhenderson, arichardson

Subscribers: MaskRay, hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, kristina, hfinkel, rogfer01, JonChesterfield

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60390
The file was modifiedllvm/lib/Support/FileCheckImpl.h
The file was modifiedllvm/lib/Support/FileCheck.cpp
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
The file was modifiedllvm/test/FileCheck/numeric-expression.txt
Commit c010d4d195506aaea76a1cc8afb5a6b5884dba44 by victor.campos
[ARM] Improve codegen of volatile load/store of i64

Summary:
Instead of generating two i32 instructions for each load or store of a volatile
i64 value (two LDRs or STRs), now emit LDRD/STRD.

These improvements cover architectures implementing ARMv5TE or Thumb-2.

The code generation explicitly deviates from using the register-offset
variant of LDRD/STRD. In this variant, the register allocated to the
register-offset cannot be reused in any of the remaining operands. Such
restriction seems to be non-trivial to implement in LLVM, thus it is
left as a to-do.

Differential Revision: https://reviews.llvm.org/D70072
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/ARM/i64_volatile_load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
Commit 8a397b66b2c672999e9e6d63334d5bffd7db1a3f by cullen.rhodes
[AArch64][SVE] Add support for spilling/filling ZPR2/3/4

Summary:
This patch enables the register allocator to spill/fill lists of 2, 3
and 4 SVE vectors registers to/from the stack. This is implemented with
pseudo instructions that get expanded to individual LDR_ZXI/STR_ZXI
instructions in AArch64ExpandPseudoInsts.

Patch by Sander de Smalen.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D75988
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/spillfill-sve.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Commit a0d847c6cdcbe167213d91313577c57073d5c013 by SourabhSingh.Tomar
Fixed bot failure after d20bf5a7258d4b6a7

There were some bot failures due unused funtion `rotateSign`
left in code.

http://lab.llvm.org:8011/builders/clang-ppc64le-rhel/builds/3731

error: unused function 'rotateSign' [-Werror,-Wunused-function]
static uint64_t rotateSign(int64_t I)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Commit ab95ac013234189ad797f36d95c96b2d0999a653 by flo
[AArch64] Precommit new fp extraction/insertion test.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-copy.ll
Commit d283fc4f9d07a5f3334fe682ccabfc16e8d2933b by sam.mccall
[DebugInfo] Use SplitTemplateClosers (foo<bar<baz> >) in DWARF too

Summary:
D76801 caused some regressions in debuginfo compatibility by changing how
certain functions were named.

For CodeView we try to mirror MSVC exactly: this was fixed in a549c0d00486
For DWARF the situation is murkier. Per David Blaikie:
> In general DWARF doesn't specify this at all.
> [...]
> This isn't the only naming divergence between GCC and Clang

Nevertheless, including the space seems to provide better compatibility with
GCC and GDB. E.g. cpexprs.cc in the GDB testsuite requires this formatting.
And there was no particular desire to change the printing of names in debug
info in the first place (just in diagnostics and other more user-facing text).

Fixes PR46052

Reviewers: dblaikie, labath

Subscribers: aprantl, cfe-commits, dyung

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80554
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-template-explicit-specialization.cpp
The file was modifiedclang/test/Modules/ExtDebugInfo.cpp
Commit ad07d5f39425d4b7013346f4eb52a1e99e6c19a8 by grimar
[yaml2obj] - Implement the "SectionHeaderTable" tag.

With the "SectionHeaderTable" it is now possible to reorder
entries in the section header table.

It also allows to stop emitting the table.

Differential revision: https://reviews.llvm.org/D80002
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was addedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit bd06c417e6c717cbe33b566d7bbaf27fb47e763a by vsavchenko
[analyzer] Allow bindings of the CompoundLiteralRegion

Summary:
CompoundLiteralRegions have been properly modeled before, but
'getBindingForElement` was not changed to accommodate this change
properly.

rdar://problem/46144644

Differential Revision: https://reviews.llvm.org/D78990
The file was addedclang/test/Analysis/retain-release-compound-literal.m
The file was modifiedclang/test/Analysis/compound-literals.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RegionStore.cpp
The file was modifiedclang/unittests/StaticAnalyzer/StoreTest.cpp
Commit bab5dadfcd0fc3a77c47aec7e885e8b70b9f9756 by dmitry.preobrazhensky
[AMDGPU][MC][DISASSEMBLER] Corrected decoder to consume each code fragment only once

Summary: disabled disassembly of successfully decoded fragments of code.

See detailed bug description: https://bugs.llvm.org/show_bug.cgi?id=46101

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80637
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Commit a56141b8f9fea112c1ea078c974d91949b6e7a5c by sam.mccall
[clangd] Highlight related control flow.

Summary:
This means e.g. highlighting "return" will show other returns/throws
from the same function, highlighting a case will show all the
return/breaks etc.

This is a bit of an abuse of textDocument/highlight, but seems useful.

Reviewers: adamcz

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78454
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 45251ef5345b3c81c8f394d42d252de039c72566 by dmitry.preobrazhensky
[AMDGPU][MC] Corrected v_writelane_b32 to fix a decoding bug

Corrected vdst_in to match vdst operand type.
See bug 45193: https://bugs.llvm.org/show_bug.cgi?id=45193

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80636
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
Commit f9e94eb8688d1fe1727360462e957fbbfb754e59 by nemanjai
[Clang] Enable _Complex __float128

When I added __float128 a while ago, I neglected to add support for the complex
variant of the type. This patch just adds that.

Differential revision: https://reviews.llvm.org/D80533
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/test/CodeGen/ppc64-complex-return.c
The file was modifiedclang/test/CodeGen/ppc64-complex-parms.c