SuccessChanges

Summary

  1. [lldb] Display autosuggestion part in gray if there is one possible suggestion (details)
  2. [X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y)) (details)
  3. [clang-tidy] prevent generated checks from triggering assertions on anonymous functions (details)
  4. [ARM] Commutative vmin/maxnma tests. NFC (details)
  5. Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion" (details)
  6. [LoopUnroll] Adjust CostKind query (details)
  7. [SystemZ/ZOS] Implement computeHostNumPhysicalCores (details)
  8. [VectorCombine] add test for Hexagon that would crash; NFC (details)
  9. [InstCombine] eliminate a pointer cast around insertelement (details)
  10. [ARM] Add additional predicated VFMA tests. NFC (details)
  11. [VectorCombine] add test for x86 target with SSE disabled; NFC (details)
  12. [VectorCombine] early exit if target has no vector registers (details)
  13. Limit Max Vector alignment on COFF targets to 8192. (details)
  14. [OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks. (details)
  15. [MachOYAML] Simplify the section data emitting function. NFC. (details)
  16. [DWARFYAML] Make the address size of compilation units optional. (details)
  17. Revert "[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks." (details)
  18. AMDGPU: Handle intrinsics in performMemSDNodeCombine (details)
  19. AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.fadd (details)
  20. [OPENMP]Do not add TGT_OMP_TARGET_PARAM flag to non-captured mapped arguments. (details)
  21. [analyzer] StdLibraryFunctionsChecker: Add support for new functions (details)
  22. [ARM][MVE] Enable tail predication for loops containing MVE gather/scatters (details)
  23. [Hexagon] Return scalar size in getMinVectorRegisterBitWidth() when no HVX (details)
  24. [OpenCL] Remove warning for variadic macros in C++ for OpenCL. (details)
  25. [OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks. (details)
  26. [mlir][linalg][NFC] Remove extra semi-colon causing warnings (details)
  27. [libc++] Remove workarounds for missing rvalue references (details)
  28. [OPENMP] Fix PR47063: crash when trying to get captured statetment. (details)
  29. [AMDGPU][test] Add dedicated llvm-readobj test. (details)
  30. [clang-tidy] use stable_sort instead of sort to fix EXPENSIVE_CHECKS tests (details)
  31. [mlir] Added support for Index type inside getZeroAttr function (details)
  32. [Driver] Change -fnostack-clash-protection to  -fno-stack-clash-protection (details)
  33. [SanitizerCoverage] Use zeroext for cmp parameters on all targets (details)
  34. [UpdateTestChecks][FIX] Python 2.7 compatibility and use right prefix (details)
  35. [SVE] Lower fixed length FP minnum/maxnum (details)
  36. Fix sigaction interceptor to always correctly populate oldact (details)
  37. [X86][GlobalISel] Legalize G_ICMP results to s8. (details)
  38. [X86][SSE] Pull out BUILD_VECTOR operand equivalence tests. NFC. (details)
  39. [ARM] Predicated VFMA patterns (details)
  40. [Scheduler] Fix typo in comments. NFC (details)
  41. [SVE] Remove default-false VectorType::get (details)
  42. Recommit "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and its follow up patches (details)
  43. Fix signed/unsigned comparison warnings. NFC. (details)
  44. [GlobalISel] Implement bit-test switch table optimization. (details)
  45. [WebAssembly] Don't depend on the flags set by handleTargetFeatures in initFeatureMap. (details)
  46. [SVE][VLS] Don't combine logical AND. (details)
  47. [InstCombine] Sanitize undef vector constant to 1 in  X*(2^C) with X << C (PR47133) (details)
  48. [NFC][InstCombine] Add FIXME's for getLogBase2() / visitUDivOperand() (details)
  49. [clang] Check `expr` inside `InitListChecker::UpdateStructuredListElement()` (details)
  50. [libc][obvious] Remove the unused file utils/CPP/StringRef.h. (details)
  51. [WebAssembly] Fixed memory.init always using 64-bit ptr (details)
  52. PR47138: Don't crash if the preferred alignment of an invalid record (details)
  53. [flang][msvc] Tell windows.h to not define min/max macros. (details)
  54. [Target] Cache the command line derived feature map in TargetOptions. (details)
  55. [InstCombine] add test for 'not' vs 'xor'; NFC (details)
  56. [InstCombine] prefer xor with -1 because 'not' is easier to understand (PR32706) (details)
  57. [InstSimplify] Add tests for icmp of min/max with constants (NFC) (details)
  58. [ValueTracking] Support min/max intrinsics in computeConstantRange() (details)
Commit 246afe0cd17fce935a01171f3cca548e02523e5c by Raphael Isemann
[lldb] Display autosuggestion part in gray if there is one possible suggestion

I implemented autosuggestion if there is one possible suggestion.
I set the keybinds for every character. When a character is typed, Editline::TypedCharacter is called.
Then, autosuggestion part is displayed in gray, and you can actually input by typing C-k.
Editline::Autosuggest is a function for finding completion, and it is like Editline::TabCommand now, but I will add more features to it.

Testing does not work well in my environment, so I can't confirm that it goes well, sorry. I am dealing with it now.

Reviewed By: teemperor, JDevlieghere, #lldb

Differential Revision: https://reviews.llvm.org/D81001
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was modifiedlldb/include/lldb/Host/Editline.h
The file was modifiedlldb/include/lldb/Core/IOHandler.h
The file was modifiedlldb/source/Core/CoreProperties.td
The file was modifiedlldb/source/Host/common/Editline.cpp
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/source/Core/IOHandler.cpp
The file was addedlldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
The file was modifiedlldb/source/Core/Debugger.cpp
Commit 9bd97d0363987b582e4a92b354b02e86ac068407 by llvm-dev
[X86][SSE] Fold HOP(SHUFFLE(X),SHUFFLE(Y)) --> SHUFFLE(HOP(X,Y))

This is beginning to look like a canonicalization stage that could be performed as part of shuffle combining

Another step towards PR41813
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit 35bee3503f4c33d92434a314e49e3e6f4f7419bc by david.truby
[clang-tidy] prevent generated checks from triggering assertions on anonymous functions

Skeleton checks generated by clang-tidy add_check.py cause assertions to fail when run over anonymous functions(lambda functions). This patch introduces an additional check to verify that the target function is not anonymous before calling getName().
The code snippet from the [[ https://clang.llvm.org/extra/clang-tidy/Contributing.html | clang-tidy tutorial  ]]is also updated.

Reviewed By: alexfh, DavidTruby

Differential Revision: https://reviews.llvm.org/D85218
The file was modifiedclang-tools-extra/docs/clang-tidy/Contributing.rst
The file was modifiedclang-tools-extra/clang-tidy/add_new_check.py
Commit fccf4c6115a8e4f73a945f99d6a444c52fd7f60a by david.green
[ARM] Commutative vmin/maxnma tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxnma-commute.ll
Commit cff880b0c9a07ff8275e91982c0d6e2293b537e7 by Raphael Isemann
Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion"

This reverts commit 246afe0cd17fce935a01171f3cca548e02523e5c. This broke
the following tests on Linux it seems:
  lldb-api :: commands/expression/multiline-completion/TestMultilineCompletion.py
  lldb-api :: iohandler/completion/TestIOHandlerCompletion.py
The file was modifiedlldb/source/Core/CoreProperties.td
The file was modifiedlldb/include/lldb/Core/IOHandler.h
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/include/lldb/Host/Editline.h
The file was removedlldb/test/API/iohandler/autosuggestion/TestAutosuggestion.py
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
The file was modifiedlldb/source/Core/IOHandler.cpp
The file was modifiedlldb/source/Host/common/Editline.cpp
The file was modifiedlldb/include/lldb/Core/Debugger.h
Commit ea8448e3618a1581b5eca39d39bedaa55fede75d by sam.parker
[LoopUnroll] Adjust CostKind query

When TTI was updated to use an explicit cost, TCK_CodeSize was used
although the default implicit cost would have been the hand-wavey
cost of size and latency. So, revert back to this behaviour. This is
not expected to have (much) impact on targets since most (all?) of
them return the same value for SizeAndLatency and CodeSize.

When optimising for size, the logic has been changed to query
CodeSize costs instead of SizeAndLatency.

This patch also adds a testing option in the unroller so that
OptSize thresholds can be specified.

Differential Revision: https://reviews.llvm.org/D85723
The file was addedllvm/test/Transforms/LoopUnroll/ARM/unroll-optsize.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was addedllvm/test/Transforms/LoopUnroll/ARM/instr-size-costs.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit bca1b8ed994336690db4775e67953aad533b0e31 by kai
[SystemZ/ZOS] Implement computeHostNumPhysicalCores

On z/OS, the information is stored in the Common System Data Area
(CSD). It is the number of CPs allocated to the current LPAR.

Reviewers: aganea, hubert.reinterpertcast, MaskRay

Reviewed By: hubert.reinterpertcast

Differential Revision: https://reviews.llvm.org/D85531
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/unittests/Support/Host.cpp
Commit b97e402ca5ba3d1a4795ed61f8cb36783b00ed44 by spatel
[VectorCombine] add test for Hexagon that would crash; NFC

This test verifies the code change from:
rGb0b95dab1ce2
(although that would not be true if PR47128 is fixed)
The file was addedllvm/test/Transforms/VectorCombine/Hexagon/load.ll
The file was addedllvm/test/Transforms/VectorCombine/Hexagon/lit.local.cfg
Commit 912c09e845cb1907bc44664495fc69925a1bd2a9 by spatel
[InstCombine] eliminate a pointer cast around insertelement

I'm not sure if this solves PR46839 completely, but reducing the casting should help:
https://bugs.llvm.org/show_bug.cgi?id=46839

Differential Revision: https://reviews.llvm.org/D85647
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/cast_ptr.ll
Commit e859868eb3808eae7ca0f27682931c38aa875090 by david.green
[ARM] Add additional predicated VFMA tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
Commit 89a7f64afc7968ef3337472d02f7e08681f1766e by spatel
[VectorCombine] add test for x86 target with SSE disabled; NFC
The file was addedllvm/test/Transforms/VectorCombine/X86/no-sse.ll
Commit cc892fd9f4cb7ad8c6b37bc260fd12c2edf3745d by spatel
[VectorCombine] early exit if target has no vector registers

Based on post-commit discussion in:
D81766

Other vectorization passes (SLP and Loop) use this TTI API similarly.
The file was modifiedllvm/test/Transforms/VectorCombine/X86/no-sse.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit aa4bc1cb7978b87bdbdb75910da0abbd27889800 by erich.keane
Limit Max Vector alignment on COFF targets to 8192.

COFF targets have a max object alignment of 8192, so trying to create
one with a larger size results in an unreachable in WinCOFFObjectWriter.

For the reproducer I have uses thread local storage, however other
alignments are likely affected as well.

This patch sets the MaxVectorAlign for COFF to 8192.  Additionally,
though there is no longer a way to reproduce that I could find, it
correctly sets the MaxTLSAlign for COFF to that value as well, so that
if anyone comes up with a situation where this is true, it will cause an
error.

Differential Revision: https://reviews.llvm.org/D85543
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/CodeGen/alignment.c
Commit ec9563c54ed25e9f9cbe60985399212d50bd801d by a.bataev
[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks.

Summary:
In untied tasks, need to allocate the space for local variales, declared
in task region, when the memory for task data is allocated. THe function
can be interrupted and we can exit from the function in untied task
switch. Need to keep the state of the local variables in this case.
Also, the compiler should not call cleanup when exiting in untied task
switch until the real exit out of the declaration scope is met during
execution.

Reviewers: jdoerfert

Subscribers: yaxunl, guansong, cfe-commits, sstefan1, caomhin

Tags: #clang

Differential Revision: https://reviews.llvm.org/D84457
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 386d5af04b65aca7c81eed1468e53462a6b54550 by Xing
[MachOYAML] Simplify the section data emitting function. NFC.

This patch helps simplify some codes in writeSectionData() function.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D85821
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
Commit e891b6a75d919b5bcb95577d1e5eb0ebad0ea427 by Xing
[DWARFYAML] Make the address size of compilation units optional.

This patch makes the 'AddrSize' field optional. If the address size is
missing, yaml2obj will infer it from the object file.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85805
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-info.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
Commit 3651658bdd11a085b727783f27495a198c4f3bc5 by a.bataev
Revert "[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks."

This reverts commit ec9563c54ed25e9f9cbe60985399212d50bd801d to
investigate compiler crash revelaed by the buildbots.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
Commit 701228c4117636e6dd46564afcb8e5fbd98c13fb by Matthew.Arsenault
AMDGPU: Handle intrinsics in performMemSDNodeCombine

This avoids a possible regression in a future patch
The file was modifiedllvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
Commit e14474a39a14b3c86c6c5d5ed9bf11467a0bbe9b by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.fadd

Remove the intermediate transform in the DAG path. I believe this is
the last non-deprecated intrinsic that needs handling.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit ddbd21d288f6ff7d175f18ddee0ee6407626445a by a.bataev
[OPENMP]Do not add TGT_OMP_TARGET_PARAM flag to non-captured mapped arguments.

If the arguments are mapped, but are actually not used in the target
region, the compiler still adds attribute TGT_OMP_TARGET_PARAM for such
arguments. It makes the libomptarget to add such parameters to the list
of arguments, passed to the kernel at the runtime, and may lead to
incorrect results/crashes during execution.

Differential Revision: https://reviews.llvm.org/D85755
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_20.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_18.inc
The file was modifiedclang/test/OpenMP/target_map_codegen_32.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_31.cpp
Commit 25bbe234e4e73e6345f4f0b61e680abf5a90d59f by zukatsinadze
[analyzer] StdLibraryFunctionsChecker: Add support for new functions

`toupper`, `tolower`, `toascii` functions were added to
StdLibraryFunctionsChecker to fully cover CERT STR37-C rule:
https://wiki.sei.cmu.edu/confluence/x/BNcxBQ

Differential Revision: https://reviews.llvm.org/D85093
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/test/Analysis/std-c-library-functions-arg-constraints.c
Commit 4fe5615eabbb2a47e7ac32917e621852e057efe8 by anna.welker
[ARM][MVE] Enable tail predication for loops containing MVE gather/scatters

Widen the scope of memory operations that are allowed to be tail predicated
to include gathers and scatters, such that loops that are auto-vectorized
with the option -enable-arm-maskedgatscat (and actually end up containing
an MVE gather or scatter) can be tail predicated.

Differential Revision: https://reviews.llvm.org/D85138
The file was addedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit a2dc19b81b1ebf19256749b4603052106b76ca69 by kparzysz
[Hexagon] Return scalar size in getMinVectorRegisterBitWidth() when no HVX

This fixes https://llvm.org/PR47128.
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
Commit 3c8a4ee0764cafb2ba204c7cb7d8b37e6adf72a8 by anastasia.stulova
[OpenCL] Remove warning for variadic macros in C++ for OpenCL.

Patch by Ole Strohm (olestrohm)!

Tags: #clang

Differential Revision: https://reviews.llvm.org/D85429
The file was modifiedclang/test/Preprocessor/macro_variadic.cl
The file was modifiedclang/lib/Lex/PPDirectives.cpp
Commit f4f3f678f1994d47f745cbfd6a1026f2408425c6 by a.bataev
[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks.

In untied tasks, need to allocate the space for local variales, declared
in task region, when the memory for task data is allocated. THe function
can be interrupted and we can exit from the function in untied task
switch. Need to keep the state of the local variables in this case.
Also, the compiler should not call cleanup when exiting in untied task
switch until the real exit out of the declaration scope is met during
execution.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84457
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/task_codegen.cpp
Commit 0e70a127a942ee28c50391ff1198b0928c7d1597 by clementval
[mlir][linalg][NFC] Remove extra semi-colon causing warnings

Extra semi-colon causes bunch of warnings with GCC 9.2.0

```
[1354/1516] Building CXX object tools/mlir/lib/Dialect/Linalg/IR/CMakeFiles/obj.MLIRLinalgOps.dir/LinalgOps.cpp.o
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1306:35: warning: extra ';' [-Wpedantic]
1306 | CANONICALIZERS_AND_FOLDERS(ConvOp);
      |                                   ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1307:41: warning: extra ';' [-Wpedantic]
1307 | CANONICALIZERS_AND_FOLDERS(PoolingMaxOp);
      |                                         ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1308:41: warning: extra ';' [-Wpedantic]
1308 | CANONICALIZERS_AND_FOLDERS(PoolingMinOp);
      |                                         ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1309:41: warning: extra ';' [-Wpedantic]
1309 | CANONICALIZERS_AND_FOLDERS(PoolingSumOp);
      |                                         ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1310:35: warning: extra ';' [-Wpedantic]
1310 | CANONICALIZERS_AND_FOLDERS(CopyOp);
      |                                   ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1311:35: warning: extra ';' [-Wpedantic]
1311 | CANONICALIZERS_AND_FOLDERS(FillOp);
      |                                   ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1312:38: warning: extra ';' [-Wpedantic]
1312 | CANONICALIZERS_AND_FOLDERS(GenericOp);
      |                                      ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1313:45: warning: extra ';' [-Wpedantic]
1313 | CANONICALIZERS_AND_FOLDERS(IndexedGenericOp);
      |                                             ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1318:42: warning: extra ';' [-Wpedantic]
1318 | CANONICALIZERS_AND_FOLDERS(BatchMatmulOp);
      |                                          ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1319:34: warning: extra ';' [-Wpedantic]
1319 | CANONICALIZERS_AND_FOLDERS(DotOp);
      |                                  ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1320:37: warning: extra ';' [-Wpedantic]
1320 | CANONICALIZERS_AND_FOLDERS(MatmulOp);
      |                                     ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1321:37: warning: extra ';' [-Wpedantic]
1321 | CANONICALIZERS_AND_FOLDERS(MatvecOp);
      |                                     ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1322:36: warning: extra ';' [-Wpedantic]
1322 | CANONICALIZERS_AND_FOLDERS(ConvWOp);
      |                                    ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1323:38: warning: extra ';' [-Wpedantic]
1323 | CANONICALIZERS_AND_FOLDERS(ConvNWCOp);
      |                                      ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1324:38: warning: extra ';' [-Wpedantic]
1324 | CANONICALIZERS_AND_FOLDERS(ConvNCWOp);
      |                                      ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1325:37: warning: extra ';' [-Wpedantic]
1325 | CANONICALIZERS_AND_FOLDERS(ConvHWOp);
      |                                     ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1326:39: warning: extra ';' [-Wpedantic]
1326 | CANONICALIZERS_AND_FOLDERS(ConvNHWCOp);
      |                                       ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1327:39: warning: extra ';' [-Wpedantic]
1327 | CANONICALIZERS_AND_FOLDERS(ConvNCHWOp);
      |                                       ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1328:38: warning: extra ';' [-Wpedantic]
1328 | CANONICALIZERS_AND_FOLDERS(ConvDHWOp);
      |                                      ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1329:40: warning: extra ';' [-Wpedantic]
1329 | CANONICALIZERS_AND_FOLDERS(ConvNDHWCOp);
      |                                        ^
/home/4vn/versioning/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:1330:40: warning: extra ';' [-Wpedantic]
1330 | CANONICALIZERS_AND_FOLDERS(ConvNCDHWOp);
      |                                        ^
```

Reviewed By: mehdi_amini, rriddle

Differential Revision: https://reviews.llvm.org/D85766
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 8d4860aa9ee78f4c948b5f38a043c527d49d6a34 by Louis Dionne
[libc++] Remove workarounds for missing rvalue references

We don't support GCC in C++03 mode, and Clang provides rvalue references
even in C++03 mode. So there's effectively no supported compiler that
doesn't support rvalue references.

Differential Revision: https://reviews.llvm.org/D84943
The file was modifiedlibcxx/include/ext/hash_map
The file was removedlibcxx/test/std/thread/futures/futures.promise/copy_assign.fail.cpp
The file was addedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.verify.cpp
The file was removedlibcxx/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.compile.fail.cpp
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.compile.fail.cpp
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.compile.fail.cpp
The file was removedlibcxx/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp
The file was modifiedlibcxx/include/__hash_table
The file was removedlibcxx/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp
The file was modifiedlibcxx/include/unordered_map
The file was addedlibcxx/test/std/thread/futures/futures.promise/copy_ctor.verify.cpp
The file was addedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
The file was addedlibcxx/test/std/thread/futures/futures.promise/copy_assign.verify.cpp
The file was modifiedlibcxx/include/__tree
The file was addedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp
The file was addedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.verify.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/future
The file was modifiedlibcxx/include/map
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.compile.fail.cpp
The file was addedlibcxx/test/std/thread/futures/futures.unique_future/copy_ctor.verify.cpp
The file was addedlibcxx/test/std/thread/futures/futures.unique_future/copy_assign.verify.cpp
The file was addedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp
The file was modifiedlibcxx/include/__config
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.compile.fail.cpp
Commit fbd6d2c54e57a4968d29bb22742dd49759b3ecd0 by a.bataev
[OPENMP] Fix PR47063: crash when trying to get captured statetment.

Need to call getRawStmt() function instead, when trying to get inner
associated statement for the executable directive. Not all directives
use captured statements.
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 839762b044d827b36726c0e1d4e5342806ab30c6 by Stanislav.Mekhanoshin
[AMDGPU][test] Add dedicated llvm-readobj test.

Differential Revision: https://reviews.llvm.org/D85683
The file was addedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
Commit fc915d13b8671ceddea06e3f2f2d0e18869c41fe by erik.pilkington
[clang-tidy] use stable_sort instead of sort to fix EXPENSIVE_CHECKS tests

http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/17317/console
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Commit 9dd7ed24bf7769262e6ea601e762792b0498647b by limo
[mlir] Added support for Index type inside getZeroAttr function

Differential Revision: https://reviews.llvm.org/D85833
The file was modifiedmlir/lib/IR/Builders.cpp
Commit df3bfaa39071a1382a59a94658ee1a2da30d92fd by Dávid Bolvanský
[Driver] Change -fnostack-clash-protection to  -fno-stack-clash-protection

Clang command line docs mention `-fno-stack-clash-protection`, and GCC also uses  -fno-stack-clash-protection.

Fixes PR47139

Reviewed By: tstellar

Differential Revision: https://reviews.llvm.org/D85844
The file was modifiedclang/test/Driver/stack-clash-protection.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit f5a252ed681c155b1d6337309519ab27d5f3b450 by iii
[SanitizerCoverage] Use zeroext for cmp parameters on all targets

Commit 9385aaa84851 ("[sancov] Fix PR33732") added zeroext to
__sanitizer_cov_trace(_const)?_cmp[1248] parameters for x86_64 only,
however, it is useful on other targets, in particular, on SystemZ: it
fixes swap-cmp.test.

Therefore, use it on all targets. This is safe: if target ABI does not
require zero extension for a particular parameter, zeroext is simply
ignored. A similar change has been implemeted as part of commit
3bc439bdff8b ("[MSan] Add instrumentation for SystemZ"), and there were
no problems with it.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D85689
The file was modifiedcompiler-rt/test/fuzzer/swap-cmp.test
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
Commit 07448c550457d2afb1e7d69254a58ad44dece3d2 by johannes
[UpdateTestChecks][FIX] Python 2.7 compatibility and use right prefix
The file was modifiedllvm/utils/UpdateTestChecks/common.py
Commit ce2c991061bf81824e84fada848614c18a53fee0 by mcinally
[SVE] Lower fixed length FP minnum/maxnum

Lower fixed length MINNUM/MAXNUM to scalable vectors. Cherry-picked from D71767 with added tests.

Differential Revision: https://reviews.llvm.org/D85744
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit fd893bda5576d34dd987d7cfe517a05486cd38f4 by mascasa
Fix sigaction interceptor to always correctly populate oldact

This fixes https://bugs.llvm.org/show_bug.cgi?id=47118. Before this change, when the sigaction interceptor prevented a signal from being changed, it also prevented the oldact output parameter from being written to. This resulted in a use-of-uninitialized-variable by any program that used sigaction for the purpose of reading signals.

This change fixes this: the regular sigaction implementation is still called, but with the act parameter nullified, preventing any changes.

Patch By: IanPudney

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D85797
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_signal_interceptors.inc
The file was addedcompiler-rt/test/msan/interception_sigaction_test.cpp
Commit 5f7cdb2effa213e1bb4cbf765b8bcb5d6604d435 by craig.topper
[X86][GlobalISel] Legalize G_ICMP results to s8.

We need to produce a setcc instruction which has an 8-bit result.
This gets rid of a bunch of cases that were using the s1->s8/s16/s32/s64
handling in selectZExt.

I'm not very familiar with GlobalISel yet so I'm not yet sure
the best way to do things. I'd especially like feedback on the
best way to handle the currently split 32-bit and 64-bit mode
handling.

Differential Revision: https://reviews.llvm.org/D85814
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/cmp.ll
The file was modifiedllvm/lib/Target/X86/X86LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/regbankselect-X86_64.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/select-cmp.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-phi.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-cmp.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/select-phi.mir
Commit 13d6cf0951f437d56677271475ce8c8f2111748c by llvm-dev
[X86][SSE] Pull out BUILD_VECTOR operand equivalence tests. NFC.

Pull out element equivalence code from isShuffleEquivalent/isTargetShuffleEquivalent, I've also removed many of the index modulos where possible.

First step toward simply adding some additional equivalence tests.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1bb348868501d1ae731ec859dfb43433e7e41022 by david.green
[ARM] Predicated VFMA patterns

Similar to the Two op + select patterns that were added recently, this
adds some patterns for select + fma to turn them into predicated
operations.

Differential Revision: https://reviews.llvm.org/D85824
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
Commit f07f17ac7c14a611f8a2ba64a7ed76488f86078d by david.green
[Scheduler] Fix typo in comments. NFC
The file was modifiedllvm/include/llvm/MC/MCSchedule.h
Commit 1da09b7214b4e487c371e5d1c5024d92aadc3c7a by ctetreau
[SVE] Remove default-false VectorType::get

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84212
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
Commit a7a06ded8b0635268b5db218b3aca0b5b2bfb04a by craig.topper
Recommit "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and its follow up patches

This recommits the following patches now that D85684 has landed

1cf6f210a2e [IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.
469da663f2d [InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison
122b0640fc9 [InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison
ac0af12ed2f [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison
9b1e95329af [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/dup.c
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 39de63aef9535fece984c3abf161892d1d97b938 by llvm-dev
Fix signed/unsigned comparison warnings. NFC.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 2ff14957e88715dbe760cf94367bd99aff5867db by Amara Emerson
[GlobalISel] Implement bit-test switch table optimization.

This is mostly a straight port from SelectionDAG. We re-use the actual bit-test
analysis part from SwitchLoweringUtils, which was factored out earlier to
support jump-tables.

Differential Revision: https://reviews.llvm.org/D85233
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-bittest.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
Commit 2b8ad6b6040833f4f8702721ebaa7749e5c23e60 by craig.topper
[WebAssembly] Don't depend on the flags set by handleTargetFeatures in initFeatureMap.

Properly set "simd128" in the feature map when "unimplemented-simd128"
is requested.

initFeatureMap is used to create the feature vector used by
handleTargetFeatures. There are later calls to initFeatureMap in
CodeGen that were using these flags to recreate the map. But the
original feature vector should be passed to those calls. So that
should be enough to rebuild the map.

The only issue seemed to be that simd128 was not enabled in the
map by the first call to initFeatureMap. Using the SIMDLevel set
by handleTargetFeatures in the later calls allowed simd128 to be
set in the later versions of the map.

To fix this I've added an override of setFeatureEnabled that
will update the map the first time with the correct simd dependency.

Differential Revision: https://reviews.llvm.org/D85806
The file was modifiedclang/lib/Basic/Targets/WebAssembly.cpp
The file was modifiedclang/lib/Basic/Targets/WebAssembly.h
Commit c561f4d2ec19667252c3429ba100c71d38fa3c1d by francesco.petrogalli
[SVE][VLS] Don't combine logical AND.

Testing is performed when targeting 128, 256 and 512-bit wide vectors.

For 128-bit vectors, the original behavior of using NEON instructions is
preserved.

Differential Revision: https://reviews.llvm.org/D85479
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fix-length-and-combine-512.ll
Commit 12d93a27e7b78d58dd00817cb737f273d2dba8ae by lebedev.ri
[InstCombine] Sanitize undef vector constant to 1 in  X*(2^C) with X << C (PR47133)

While x*undef is undef, shift-by-undef is poison,
which we must avoid introducing.

Also log2(iN undef) is *NOT* iN undef, because log2(iN undef) u< N.

See https://bugs.llvm.org/show_bug.cgi?id=47133
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll
Commit d6f0600c96a6b05ccfe378c9ab9dc0d426f92bd4 by lebedev.ri
[NFC][InstCombine] Add FIXME's for getLogBase2() / visitUDivOperand()

These are not correctness issues.

In visitUDivOperand(), if the (potential) divisor is undef, then udiv is
already UB, so it is not incorrect to keep undef as shift amount.

But, that is suboptimal.
We could instead simply drop that select, picking the other operand.

Afterwards, getLogBase2() could assert that there is no undef in divisor.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 3fa0a039ab6f856e39dab973df56831b63ed51c5 by platonov.aleksandr
[clang] Check `expr` inside `InitListChecker::UpdateStructuredListElement()`

- Prevent nullptr-deference at try to emit warning for invalid `expr`
- Simplify `InitListChecker::UpdateStructuredListElement()` usages. We do not need to check `expr` and increment `StructuredIndex` (for invalid `expr`) before the call anymore.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D85193
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was addedclang/test/Sema/init-invalid-struct-array.c
Commit 578ac8bfa5e9595f7f4c40dc75e3925d28d91c78 by sivachandra
[libc][obvious] Remove the unused file utils/CPP/StringRef.h.
The file was removedlibc/utils/CPP/StringRef.h
The file was modifiedlibc/utils/CPP/CMakeLists.txt
Commit b52fc59e17044eecdf009f46825f2f44851a3e1d by aardappel
[WebAssembly] Fixed memory.init always using 64-bit ptr

(because the is64 flag was tested incorrectly in LLD).
The file was modifiedlld/wasm/Writer.cpp
Commit 269bc3f5df6c3b75de515a48063c6941ef8fbbe6 by richard
PR47138: Don't crash if the preferred alignment of an invalid record
type is requested.
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/SemaCXX/alignof.cpp
Commit e3d38b7b88989835d11b9d134482c17655b5a65d by llvm-project
[flang][msvc] Tell windows.h to not define min/max macros.

Defining macros for min and max breaks using std::min and std::max. Defining NOMINMAX before including the header stops them from being defined.

See https://web.archive.org/web/20170911092732/https://support.microsoft.com/en-us/help/143208/prb-using-stl-in-windows-program-can-cause-min-max-conflicts for details.

This patch is part of the series to [[ http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html | make flang compilable with MS Visual Studio ]].

Reviewed By: isuruf

Differential Revision: https://reviews.llvm.org/D85656
The file was modifiedflang/runtime/file.cpp
Commit 5c1fe4e20f887286baac6989943a0875e12834fe by craig.topper
[Target] Cache the command line derived feature map in TargetOptions.

We can use this to remove some calls to initFeatureMap from Sema
and CodeGen when a function doesn't have a target attribute.

This reduces compile time of the linux kernel where this map
is needed to diagnose some inline assembly constraints based
on whether sse, avx, or avx512 is enabled.

Differential Revision: https://reviews.llvm.org/D85807
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/Basic/TargetOptions.h
The file was modifiedclang/lib/Basic/Targets.cpp
Commit 0a1514d7ca4f34bc515f1911f1d33cddf4224a98 by spatel
[InstCombine] add test for 'not' vs 'xor'; NFC
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll
Commit 23bd33c6acc4fa0ddc097d3d0767860cc014f6e0 by spatel
[InstCombine] prefer xor with -1 because 'not' is easier to understand (PR32706)

This is a retry of rL300977 which was reverted because of infinite loops.
We have fixed all of the known places where that would happen, but there's
still a chance that this patch will cause infinite loops.

This matches the demanded bits behavior in the DAG and should fix:
https://bugs.llvm.org/show_bug.cgi?id=32706

Differential Revision: https://reviews.llvm.org/D32255
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/test/Transforms/InstCombine/or-xor.ll
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit c1abd47aa16f71a3c0fff3ed6c5d2a3dbd3431f8 by nikita.ppv
[InstSimplify] Add tests for icmp of min/max with constants (NFC)

Test the case where the constants are not the same, but the result
is still known.
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Commit e2040d38a1c77b1ff544f96dc6ce31894e3799f0 by nikita.ppv
[ValueTracking] Support min/max intrinsics in computeConstantRange()

The implementation is the same as for the SPF_* case.
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp