FailedChanges

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

Summary

  1. [zorg] Add buildbot for libcxx build on AIX (details)
  2. deployed new mlir-nvidia image (details)
  3. [clangd-ubuntu-clang] increased RAM (details)
Commit b656c613b72eabc1f0dec29df6d4e39a194c1b32 by Xiangling.Liao
[zorg] Add buildbot for libcxx build on AIX
The file was modifiedbuildbot/osuosl/master/config/workers.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 03210ece021604fc0f1c15cd35684056cf3203d1 by kuhnel
deployed new mlir-nvidia image
The file was modifiedbuildbot/google/docker/buildbot-mlir-nvidia/VERSION
The file was modifiedbuildbot/google/terraform/deployment-mlir-nvidia-production.yaml
Commit b7a5b46b65e71451e97d72a5eb331a1cc2f4a01f by kuhnel
[clangd-ubuntu-clang] increased RAM

This fixes the out of memory issues when building with TSAN enabled.
The file was modifiedbuildbot/google/terraform/main.tf

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

Summary

  1. [analyzer] Introduce MacroExpansionContext to libAnalysis (details)
  2. [analyzer] Create MacroExpansionContext member in AnalysisConsumer (details)
  3. [analyzer] Use the MacroExpansionContext for macro expansions in plists (details)
  4. [analyzer][CTU] API for CTU macro expansions (details)
  5. [ARM] Remove dead lowering code. NFC (details)
  6. [flang][driver] Add -Xflang and make -test-io a frontend-only flang (details)
  7. [InstCombine] Add smulo NumSignBits test from D97170 (details)
  8. [VPlan] Skip VPWidenPHIRecipe in VPInterleavedACcessInfo. (details)
  9. [gn build] Port 6e3071007b4c (details)
  10. Regenerate documentation (details)
  11. [llvm-link] fix IRMover returning wrong modified vector type (details)
  12. [clang-tidy] Add new check 'concurrency-thread-canceltype-asynchronous' and alias 'cert-pos47-c'. (details)
  13. [gn build] Port 7dc7f0c2ecc0 (details)
  14. [AMDGPU][MC] Corrected bound_ctrl for compatibility with sp3 (details)
  15. [AArch64] Adding SHA3 Intrinsics support (details)
  16. [InstCombine] Add PR45977 test coverage (details)
  17. [OpenCL] Add builtin declarations by default. (details)
  18. Revert "Revert "Implement nullPointerConstant() using a better API."" (details)
  19. Revert "Revert "Revert "Implement nullPointerConstant() using a better API.""" (details)
  20. [pp-trace] Fix test for OpenCL pragmas. (details)
  21. [LangRef] fix typo in assume bundle description; NFC (details)
  22. [clang][NFC] Reorder CXXCtorInitializer members (details)
  23. [Clang][OpenMP] Require CUDA 9.2+ for OpenMP offloading on NVPTX target (details)
  24. [LV] Directly use incoming value for single VPBlendRecipes. (details)
  25. [InstSimplify] Cleanup out-of-range shift amount handling. (details)
  26. [flang] Add -J and -module-dir to f18 driver (details)
  27. [ConstraintElimination] Add initial ICMP_NE test cases. (details)
  28. [lld-macho] Fix cpuSubtype for non-x86_64 archs (details)
  29. [lld-macho] Clean up comments (details)
  30. Improve diagnostic for ignored GNU 'used' attribute (details)
  31. [JumpThreading] Clone noalias.scope.decl when threading blocks (details)
  32. [clang] Tweaked fixit for static assert with no message (details)
  33. [MemCpyOpt] Fix handling of readnone byval arguments (details)
  34. [sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script (details)
  35. [MLIR][affine] Prevent fusion when ops with memory effect free are present between producer and consumer (details)
  36. [RISCV] Custom isel the rest of the vector load/store intrinsics. (details)
  37. [ConstraintElimination] Use unsigned > 0 instead of != 0. (details)
  38. Making FindCommonBlock a const member (details)
  39. [AArch64][GlobalISel] Emit G_ASSERT_SEXT for SExt parameters in CallLowering (details)
  40. [llvm][Bitcode] Add bitcode reader/writer for DSOLocalEquivalent (details)
  41. [KnownBits] Pull out repeated getMinValue() calls from shift analysis. NFCI. (details)
  42. Reland [lld-macho]Implement bundle_loader (details)
  43. [OpenMP] Update HWLOC code for die level detection (details)
  44. [mlir][Shape] Fix a crash when folding nary broadcast ops (details)
  45. [MLIR] Add Linalg support for integer (generalized) matmuls (details)
  46. Revert "[InstrProfiling] Use ELF section groups for counters, data and values" (details)
  47. [OpenMP] Limit number of dispatch buffers (details)
  48. [OpenMP] Remove shutdown attempt on Windows process detach (details)
  49. [MLIR] Fix tilePerfectlyNested utility for handling non-unit step size (details)
  50. [OpenMP] Help static loop code avoid over/underflow (details)
  51. Add missing dep to fix shared libs build (details)
Commit 6e3071007b4c9438d2ae49476de87db30d6d24e9 by balazsbenics
[analyzer] Introduce MacroExpansionContext to libAnalysis

Introduce `MacroExpansionContext` to track what and how macros in a translation
unit expand. This is the first element of the patch-stack in this direction.

The main goal is to substitute the current macro expansion generator in the
`PlistsDiagnostics`, but all the other `DiagnosticsConsumer` could benefit from
this.

`getExpandedText` and `getOriginalText` are the primary functions of this class.
The former can provide you the text that was the result of the macro expansion
chain starting from a `SourceLocation`.
While the latter will tell you **what text** was in the original source code
replaced by the macro expansion chain from that location.

Here is an example:

  void bar();
  #define retArg(x) x
  #define retArgUnclosed retArg(bar()
  #define BB CC
  #define applyInt BB(int)
  #define CC(x) retArgUnclosed

  void unbalancedMacros() {
    applyInt  );
  //^~~~~~~~~~^ is the substituted range
  // Original text is "applyInt  )"
  // Expanded text is "bar()"
  }

  #define expandArgUnclosedCommaExpr(x) (x, bar(), 1
  #define f expandArgUnclosedCommaExpr

  void unbalancedMacros2() {
    int x =  f(f(1))  ));  // Look at the parenthesis!
  //         ^~~~~~^ is the substituted range
  // Original text is "f(f(1))"
  // Expanded text is "((1,bar(),1,bar(),1"
  }

Might worth investigating how to provide a reusable component, which could be
used for example by a standalone tool eg. expanding all macros to their
definitions.

I borrowed the main idea from the `PrintPreprocessedOutput.cpp` Frontend
component, providing a `PPCallbacks` instance hooking the preprocessor events.
I'm using that for calculating the source range where tokens will be expanded
to. I'm also using the `Preprocessor`'s `OnToken` callback, via the
`Preprocessor::setTokenWatcher` to reconstruct the expanded text.

Unfortunately, I concatenate the token's string representation without any
whitespaces except if the token is an identifier when I emit an extra space
to produce valid code for `int var` token sequences.
This could be improved later if needed.

Patch-stack:
  1) D93222 (this one) Introduces the MacroExpansionContext class and unittests

  2) D93223 Create MacroExpansionContext member in AnalysisConsumer and pass
     down to the diagnostics consumers

  3) D93224 Use the MacroExpansionContext for macro expansions in plists
     It replaces the 'old' macro expansion mechanism.

  4) D94673 API for CTU macro expansions
     You should be able to get a `MacroExpansionContext` for each imported TU.
     Right now it will just return `llvm::None` as this is not implemented yet.

  5) FIXME: Implement macro expansion tracking for imported TUs as well.

It would also relieve us from bugs like:
  - [fixed] D86135
  - [confirmed] The `__VA_ARGS__` and other macro nitty-gritty, such as how to
    stringify macro parameters, where to put or swallow commas, etc. are not
    handled correctly.
  - [confirmed] Unbalanced parenthesis are not well handled - resulting in
    incorrect expansions or even crashes.
  - [confirmed][crashing] https://bugs.llvm.org/show_bug.cgi?id=48358

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93222
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was addedclang/unittests/Analysis/MacroExpansionContextTest.cpp
The file was addedclang/include/clang/Analysis/MacroExpansionContext.h
The file was modifiedclang/unittests/Analysis/CMakeLists.txt
The file was addedclang/lib/Analysis/MacroExpansionContext.cpp
Commit 7c58fb6ba04e28e594587bb27f13849cc1f2d305 by balazsbenics
[analyzer] Create MacroExpansionContext member in AnalysisConsumer

Adds a `MacroExpansionContext` member to the `AnalysisConsumer` class.
Tracks macro expansions only if the `ShouldDisplayMacroExpansions` is set.
Passes a reference down the pipeline letting AnalysisConsumers query macro
expansions during bugreport construction.

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93223
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
Commit 170c67d5b8cc58dd8a4bd0ea7c5ca02290fac39c by balazsbenics
[analyzer] Use the MacroExpansionContext for macro expansions in plists

Removes the obsolete ad-hoc macro expansions during bugreport constructions.
It will skip the macro expansion if the expansion happened in an imported TU.

Also removes the expected plist file, while expanding matching context for
the tests.
Adds a previously crashing `plist-macros-with-expansion.c` testfile.
Temporarily marks `plist-macros-with-expansion-ctu.c ` to `XFAIL`.

Reviewed By: xazax.hun, Szelethus

Differential Revision: https://reviews.llvm.org/D93224
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
The file was removedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
The file was addedclang/test/Analysis/plist-macros-with-expansion.c
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
Commit 38b185832e04ed0588c43161f5c3a8c0ce267497 by balazsbenics
[analyzer][CTU] API for CTU macro expansions

Removes `CrossTranslationUnitContext::getImportedFromSourceLocation`
Removes the corresponding unit-test segment.

Introduces the `CrossTranslationUnitContext::getMacroExpansionContextForSourceLocation`
which will return the macro expansion context for an imported TU. Also adds a
few implementation FIXME notes where applicable, since this feature is
not implemented yet. This fact is also noted as Doxygen comments.

Uplifts a few CTU LIT test to match the current **incomplete** behavior.

It is a regression to some extent since now we don't expand any
macros in imported TUs. At least we don't crash anymore.

Note that the introduced function is already covered by LIT tests.
Eg.: Analysis/plist-macros-with-expansion-ctu.c

Reviewed By: balazske, Szelethus

Differential Revision: https://reviews.llvm.org/D94673
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/include/clang/AST/ASTImporter.h
Commit 188f15d973101649f7172e353f85727b41f2ffa8 by david.green
[ARM] Remove dead lowering code. NFC

Remove the unnecessary code from 21a4faab60c34b8a8c4d09, left over from
a different way of lowering.
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit d81f633fe28fd23108b4dc8c25548f1653ba0cd2 by andrzej.warzynski
[flang][driver] Add -Xflang and make -test-io a frontend-only flang

This patch adds support for `-Xflang` in `flang-new`. The semantics are
identical to `-Xclang`.

With the addition of `-Xflang`, we can modify `-test-io` to be a
compiler-frontend only flag. This makes more sense, this flag is:
  * very frontend specific
  * to be used for development and testing only
  * not to be exposed to the end user
Originally we added it to the compiler driver, `flang-new`, in order to
facilitate testing. With `-Xflang` this is no longer needed. Tests are
updated accordingly.

Differential Revision: https://reviews.llvm.org/D96864
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedflang/test/Frontend/input-output-file.f90
The file was modifiedflang/test/Flang-Driver/driver-help.f90
The file was modifiedflang/test/Flang-Driver/driver-help-hidden.f90
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Frontend/multiple-input-files.f90
The file was modifiedclang/lib/Driver/Types.cpp
Commit 106b63de3ad19c2765329958ce5632b8a905c73f by llvm-dev
[InstCombine] Add smulo NumSignBits test from D97170
The file was modifiedllvm/test/Transforms/InstCombine/with_overflow.ll
Commit c11fd0df64290ed12dbee0617588b1d17a9d5d10 by flo
[VPlan] Skip VPWidenPHIRecipe in VPInterleavedACcessInfo.

Update unit tests that did not expect VPWidenPHIRecipes after
15a74b64dfa9.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanSLP.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Commit ad375ac5d2c1e951cd327878a8fff88580c32dc4 by llvmgnsyncbot
[gn build] Port 6e3071007b4c
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Commit b5b3243bf783f07415c5e2838fa1a948e126f643 by steveire
Regenerate documentation
The file was modifiedclang/docs/LibASTMatchersReference.html
Commit 0327cfe2f7620d70cd44082a172e58872ffe4105 by nashe.mncube
[llvm-link] fix IRMover returning wrong modified vector type

Modified scalable vector types weren't correctly returned at link-time.
The previous behaviour was a FixedVectorType was constructed
when expecting a ScalableVectorType. This commit has added a regression
test which re-creates the failure as well as a fix.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D96953
The file was addedllvm/test/Linker/scalable-vector-type-construction.ll
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was addedllvm/test/Linker/Inputs/fixed-vector-type-construction.ll
Commit 7dc7f0c2ecc05b9a9c73e89facec24ad6d325cae by 1.int32
[clang-tidy] Add new check 'concurrency-thread-canceltype-asynchronous' and alias 'cert-pos47-c'.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D96719
The file was addedclang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-pos47-c.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/concurrency/CMakeLists.txt
The file was addedclang-tools-extra/docs/clang-tidy/checks/concurrency-thread-canceltype-asynchronous.rst
The file was addedclang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/concurrency-thread-canceltype-asynchronous.cpp
The file was modifiedclang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit 7af9ea548c7d9922b9aa2699edc7dbfd11acbaa2 by llvmgnsyncbot
[gn build] Port 7dc7f0c2ecc0
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/concurrency/BUILD.gn
Commit 481351809284428401f4e6262d7c0b8efdd86592 by dmitry.preobrazhensky
[AMDGPU][MC] Corrected bound_ctrl for compatibility with sp3

Enabled "bound_ctrl:1" and disabled "bound_ctrl:-1" syntax.
Corrected printer to output "bound_ctrl:1" instead of "bound_ctrl:0".
See bug 35397 for detailed issue description.

Differential Revision: https://reviews.llvm.org/D97048
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/xdl-insts-gfx1011-gfx1012.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp64_combine.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp.s
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp_expr.s
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp16.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
The file was modifiedllvm/docs/AMDGPUModifierSyntax.rst
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txt
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp16.s
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/dl-insts.txt
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/dpp_vi.txt
Commit 2c25efcbd322c58b62e592a8265ef83803f0e7b9 by david.spickett
[AArch64] Adding SHA3 Intrinsics support

    This patch adds the following SHA3 Intrinsics:
        vsha512hq_u64,
        vsha512h2q_u64,
        vsha512su0q_u64,
        vsha512su1q_u64
        veor3q_u8
        veor3q_u16
        veor3q_u32
        veor3q_u64
        veor3q_s8
        veor3q_s16
        veor3q_s32
        veor3q_s64
        vrax1q_u64
        vxarq_u64
        vbcaxq_u8
        vbcaxq_u16
        vbcaxq_u32
        vbcaxq_u64
        vbcaxq_s8
        vbcaxq_s16
        vbcaxq_s32
        vbcaxq_s64

    Note need to include +sha3 and +crypto when building from the front-end

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D96381
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/aarch64-neon-sha3.c
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was modifiedclang/include/clang/Basic/arm_neon_incl.td
The file was modifiedclang/include/clang/Basic/arm_neon.td
The file was modifiedclang/test/CodeGen/aarch64-neon-range-checks.c
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was addedllvm/test/CodeGen/AArch64/neon-sha3.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
Commit 19084887d9222dab71c86ed848b09f9ca8e61fff by llvm-dev
[InstCombine] Add PR45977 test coverage
The file was modifiedllvm/test/Transforms/InstCombine/or-xor.ll
Commit cf3ef15a6ec5e5b45c6c54e8fbe3769255e815ce by anastasia.stulova
[OpenCL] Add builtin declarations by default.

This change enables the builtin function declarations
in clang driver by default using the Tablegen solution
along with the implicit include of 'opencl-c-base.h'
header.

A new flag '-cl-no-stdinc' disabling all default
declarations and header includes is added. If any other
mechanisms were used to include the declarations (e.g.
with -Xclang -finclude-default-header) and the new default
approach is not sufficient the, `-cl-no-stdinc` flag has
to be used with clang to activate the old behavior.

Tags: #clang

Differential Revision: https://reviews.llvm.org/D96515
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/unittests/AST/MatchVerifier.h
The file was modifiedclang/include/clang/Driver/Types.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/default-includes.cl
Commit ba1d9546ee389ce1d2e8f353ae777a65f647d508 by goncharov.mikhail
Revert "Revert "Implement nullPointerConstant() using a better API.""

This reverts commit 6984e0d4398592a20055cb12842fc72462ce01a5.

While change by itself seems to be consistent with nullPointerConstant
docs of not matching "int i = 0;" but it's not clear why it's wrong and
9148302a2ae5ac6e5d69ae84042361889247ce64 author just forgot to update
the doc.
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Commit 3b148d6f991181a1b8f089c4bc2126e1a6c1212d by goncharov.mikhail
Revert "Revert "Revert "Implement nullPointerConstant() using a better API."""

This reverts commit ba1d9546ee389ce1d2e8f353ae777a65f647d508.
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Commit b71add9777bed67e05206fa1fdb665f3e21a13ab by anastasia.stulova
[pp-trace] Fix test for OpenCL pragmas.

After updating clang driver to include standard
OpenCL headers implicitly, the output being checked
in the test does not match because the implicit
header contains other pragmas. The test does not
aim to use the header and therefore it has to be
updated passing '-cl-no-stdinc' command-line flag.

This fixes failing bots.
The file was modifiedclang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
Commit b02bc0224a9f19c8b692f77c51e83cdb7c51a6e0 by spatel
[LangRef] fix typo in assume bundle description; NFC
The file was modifiedllvm/docs/LangRef.rst
Commit daeb70be0bd42fbed66c03b4c5f9940ffba88ce9 by n.james93
[clang][NFC] Reorder CXXCtorInitializer members

Swapping the order of Init and MemberOrEllipsisLocation removes 8 bytes (20%) of padding on 64bit builds.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97191
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
Commit 76151acf893ac7bdaf460fdfe8a8494cf477157a by tianshilei1992
[Clang][OpenMP] Require CUDA 9.2+ for OpenMP offloading on NVPTX target

In current implementation of `deviceRTLs`, we're using some functions
that are CUDA version dependent (if CUDA_VERSION < 9, it is one; otheriwse, it
is another one). As a result, we have to compile one bitcode library for each
CUDA version supported. A worse problem is forward compatibility. If a new CUDA
version is released, we have to update CMake file as well.

CUDA 9.2 has been released for three years. Instead of using various weird tricks
to make `deviceRTLs` work with different CUDA versions and still have forward
compatibility, we can simply drop support for CUDA 9.1 or lower version. It has at
least two benifits:
- We don't need to generate bitcode libraries for each CUDA version;
- Clang driver doesn't need to search for the bitcode lib based on CUDA version.

We can claim that starting from LLVM 12, OpenMP offloading on NVPTX target requires
CUDA 9.2+.

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D97003
The file was addedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_102-sm_35.bc
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was removedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_80-sm_35.bc
Commit c7ee57f1dccf965aa73ad708937443d649fbb0a7 by flo
[LV] Directly use incoming value for single VPBlendRecipes.

VPBlendRecipes with single incoming (value, mask) pair are no-ops. Use
the incoming value directly.
The file was addedllvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 476ff0327b7a97af50a15c7a8c3e0a6513627a8e by llvm-dev
[InstSimplify] Cleanup out-of-range shift amount handling.

Use APInt::uge() direct instead of getLimitedValue().

Use KnownBits::getMinValue() to make the bounds check more obvious.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 8720ec6b9a288b686089c5137dda64001a7a9f38 by tkeith
[flang] Add -J and -module-dir to f18 driver

Add -J to the f18 driver for compatibility with gfortran.
Add -module-dir for compatibility with the new flang driver.

They both set the output directory for .mod files and add the
directory to the search list. -module still only does the former.

Clean up the new driver test to match.

Differential Revision: https://reviews.llvm.org/D97164
The file was modifiedflang/tools/f18/f18.cpp
The file was addedflang/test/Driver/write-module.f90
The file was modifiedflang/test/Flang-Driver/write-module.f90
Commit 784c70d704d3147ec12181f1304971b44443850b by flo
[ConstraintElimination] Add initial ICMP_NE test cases.
The file was addedllvm/test/Transforms/ConstraintElimination/ne.ll
Commit 5bfdbdeb408a966fd882f20c6fa79f6b5eb12990 by jezng
[lld-macho] Fix cpuSubtype for non-x86_64 archs

dyld on iOS will complain if the LIB64 bit is set.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D96565
The file was addedlld/test/MachO/header.s
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 8c4638c3676ef8071a4aba2070da09abe8fe3244 by jezng
[lld-macho] Clean up comments
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit bccdf6b232f67aa4e91f18d49700308f2815ca09 by i
Improve diagnostic for ignored GNU 'used' attribute

Differential Revision: https://reviews.llvm.org/D97161
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaCXX/attr-used.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/attr-used.c
Commit 5e7e499b912d2c9ebaa91b5783ca123dbedeabcc by nikita.ppv
[JumpThreading] Clone noalias.scope.decl when threading blocks

When cloning instructions during jump threading, also clone and
adapt any declared scopes. This is primarily important when
threading loop exits, because we'll end up with two dominating
scope declarations in that case (at least after additional loop
rotation). This addresses a loose thread from
https://reviews.llvm.org/rG2556b413a7b8#975012.

Differential Revision: https://reviews.llvm.org/D97154
The file was addedllvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/Cloning.h
The file was modifiedllvm/lib/Transforms/Utils/CloneFunction.cpp
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 5616c5b8664b54671e699e5c45178f11cbb680b3 by n.james93
[clang] Tweaked fixit for static assert with no message

If a static assert has a message as the right side of an and condition, suggest a fix it of replacing the '&&' to ','.

`static_assert(cond && "Failed Cond")` -> `static_assert(cond, "Failed cond")`

This use case comes up when lazily replacing asserts with static asserts.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D89065
The file was addedclang/test/FixIt/fixit-static-assert.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
Commit 4125afc35723b490556f7a38f7835f0914f70292 by nikita.ppv
[MemCpyOpt] Fix handling of readnone byval arguments

If the call is readnone, then there may not be any MemoryAccess
associated with the call. Bail out in that case.

This fixes the issue reported at
https://reviews.llvm.org/D94376#2578312.
The file was addedllvm/test/Transforms/MemCpyOpt/byval-readnone.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit ed4230732adeb04a23fc25b7a5924e423ba5ac91 by protze
[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script

When compiling with ccache, compiler commands get split into smaller steps
and clang's default -Wunused-command-line-argument complains about unused
include directory arguments. In combination -Werror, compilation aborts.

If CMAKE_C_FLAGS contains -Wno-unused-command-line-argument or
-Wno-error=unused-command-line-argument, the latter flag is passed into the
build script.

This is a re-commit. The previous version was reverted because of failing
tests.

Differential Revision: https://reviews.llvm.org/D96762
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
Commit 15332982c3d8d1c9e8bd7ae9f76f22f77adb51ee by uday
[MLIR][affine] Prevent fusion when ops with memory effect free are present between producer and consumer

This commit fixes a bug in affine fusion pipeline where an
incorrect fusion is performed despite a dealloc op is present
between a producer and a consumer. This is done by creating a
node for dealloc op in the MDG.

Reviewed By: bondhugula, dcaballe

Differential Revision: https://reviews.llvm.org/D97032
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
Commit 1aeb927fedbeee328913ba085bb8860fbafaa1b1 by craig.topper
[RISCV] Custom isel the rest of the vector load/store intrinsics.

A previous patch moved the index versions. This moves the rest.
I also removed the custom lowering for VLEFF since we can now
do everything directly in the isel handling.

I had to update getLMUL to handle mask registers to index the
pseudo table correctly for VLE1/VSE1.

This is good for another 15K reduction in llc size.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D97097
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit 95daec6a8497dae8fe359b8b2b363e28cb3cff23 by flo
[ConstraintElimination] Use unsigned > 0 instead of != 0.

ICMP_NE predicates cannot be directly represented as constraint. But we
can use ICMP_UGT instead ICMP_NE for %x != 0.

See https://alive2.llvm.org/ce/z/XlLCsW
The file was modifiedllvm/test/Transforms/ConstraintElimination/ne.ll
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Commit 7d1397f7ad4bbdad56468d5a4c7a77fa4c553936 by rkauffmann
Making FindCommonBlock a const member
https://reviews.llvm.org/D97093
The file was modifiedflang/lib/Semantics/scope.cpp
The file was modifiedflang/include/flang/Semantics/scope.h
Commit 95d13c01ecba5c9dba8ea1bd875c4179cbaea9e2 by Jessica Paquette
[AArch64][GlobalISel] Emit G_ASSERT_SEXT for SExt parameters in CallLowering

Similar to how we emit G_ASSERT_ZEXT when we have CCValAssign::LocInfo::ZExt.

This will allow us to combine away some redundant sign extends.

Example: https://godbolt.org/z/cTbKvr

Differential Revision: https://reviews.llvm.org/D96915
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-signext.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 1c932baeaafbd4c9051ed4836f320db9003f4068 by leonardchan
[llvm][Bitcode] Add bitcode reader/writer for DSOLocalEquivalent

This is necessary for compilation with [thin]lto.

Differential Revision: https://reviews.llvm.org/D96170
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was addedllvm/test/Bitcode/dso_local_equivalent.ll
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
Commit bb20cf2f1c7ad6ef8a6ab0bc5ca5ea7db4b2282d by llvm-dev
[KnownBits] Pull out repeated getMinValue() calls from shift analysis. NFCI.
The file was modifiedllvm/lib/Support/KnownBits.cpp
Commit 5a856f5b44997dd45db08f434e5da1f85e4693f5 by vyng
Reland [lld-macho]Implement bundle_loader
  Reland 1a0afcf518717f61d45a1cdc6ad1a6436ec663b1
  https://reviews.llvm.org/D95913

New change: fix UB bug caused by copying empty path/name. (since the executable does not have a name)
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/bundle-loader.s
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/MachO/Writer.cpp
Commit 55dff8b2e4f0ac9e852b5abc053af8dcf6c744f1 by jonathan.l.peyton
[OpenMP] Update HWLOC code for die level detection

Differential Revision: https://reviews.llvm.org/D96748
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit ed4d12c2ce30e5a1c270e2b4a08e67851ff8b295 by benny.kra
[mlir][Shape] Fix a crash when folding nary broadcast ops

operands[2] can be nullptr here. I'm not able to build a lit test for
this because of the commutative reordering of operands. It's possible to
trigger this with a createOrFold<BroadcastOp> though.

Differential Revision: https://reviews.llvm.org/D97206
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 2ce6a42cc94dbe1b0456ebc34c0db238bf5530d6 by gcmn
[MLIR] Add Linalg support for integer (generalized) matmuls

This patch adds Linalg named ops for various types of integer matmuls.
Due to limitations in the tc spec/linalg-ods-gen ops cannot be type
polymorphic, so this instead creates new ops (improvements to the
methods for defining Linalg named ops are underway with a prototype at
https://github.com/stellaraccident/mlir-linalgpy).

To avoid the necessity of directly referencing these many new ops, this
adds additional methods to ContractionOpInterface to allow classifying
types of operations based on their indexing maps.

Reviewed By: nicolasvasilache, mravishankar

Differential Revision: https://reviews.llvm.org/D97006
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
Commit 4827492d9fcfe4ac5df4f319e935e33bec946195 by phosek
Revert "[InstrProfiling] Use ELF section groups for counters, data and values"

This reverts commits:
5ca21175e09fc7fb7dcaee9ebd6782d122a5688f
97184ab99c46e35ae94f828ee90f5d6af2c47e11

The instrprof-gc-sections.c is failing on AArch64 LLD bot.
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was removedcompiler-rt/test/profile/instrprof-gc-sections.c
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/test/Instrumentation/InstrProfiling/platform.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Commit 8c73be9d86758beae1cda30f9eba2e92023d6c60 by jonathan.l.peyton
[OpenMP] Limit number of dispatch buffers

This patch limits the number of dispatch buffers (used for
loop worksharing construct) to between 1 and 4096.

Differential Revision: https://reviews.llvm.org/D96749
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was addedopenmp/runtime/test/env/kmp_dispatch_buf_range.c
Commit 1b968467c057df980df214a88cddac74dccff15e by jonathan.l.peyton
[OpenMP] Remove shutdown attempt on Windows process detach

Only attempt shutdown if lpReserved is NULL. The Windows documentation
states:
When handling DLL_PROCESS_DETACH, a DLL should free resources such as
heap memory only if the DLL is being unloaded dynamically (the
lpReserved parameter is NULL). If the process is terminating (the
lpReserved parameter is non-NULL), all threads in the process except the
current thread either have exited already or have been explicitly
terminated by a call to the ExitProcess function, which might leave some
process resources such as heaps in an inconsistent state. In this case,
it is not safe for the DLL to clean up the resources. Instead, the DLL
should allow the operating system to reclaim the memory.

Differential Revision: https://reviews.llvm.org/D96750
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 817d343fb048b330b77a7b4ef0af0dba7450dfb2 by uday
[MLIR] Fix tilePerfectlyNested utility for handling non-unit step size

The current implementation of tilePerfectlyNested utility doesn't handle
the non-unit step size. We have added support to perform tiling
correctly even if the step size of the loop to be tiled is non-unit.
Fixes https://bugs.llvm.org/show_bug.cgi?id=49188.

Differential Revision: https://reviews.llvm.org/D97037
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/Dialect/Affine/loop-tiling.mlir
Commit 56223b1e91ed444a054aa9bd20878d0b62c7b53b by jonathan.l.peyton
[OpenMP] Help static loop code avoid over/underflow

This code alleviates some pathological loop parameters (lower,
upper, stride) within calculations involved in the static loop code.  It
bounds the chunk size to the trip count if it is greater than the trip
count and also minimizes problematic code for when trip count < nth.

Differential Revision: https://reviews.llvm.org/D96426
The file was modifiedopenmp/runtime/src/kmp_sched.cpp
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was addedopenmp/runtime/test/worksharing/for/omp_for_static_large_chunk.c
Commit 54529c4be64ec5f2269460df52602f0242e54a75 by gcmn
Add missing dep to fix shared libs build

Followup to https://reviews.llvm.org/D97006 which broke the shared libs
build because of a missing dependency.

Differential Revision: https://reviews.llvm.org/D97213
The file was modifiedmlir/lib/Dialect/Linalg/IR/CMakeLists.txt