FailedChanges

Summary

  1. [AST] Add RecoveryExpr to retain expressions on semantic errors (details)
  2. [ARM][MVE] Add target flag for narrowing insts (details)
  3. [ARM][LowOverheadLoops] Add checks for narrowing (details)
  4. [ARM] Don't split trunc stores that can be better handled as VMOVN (details)
  5. [ARM][CMSE] Implement CMSE attributes (details)
  6. tsan: Adding releaseAcquire() to ThreadClock (details)
  7. [UpdateTestChecks] Use common ir function name matcher and extend to accept periods in names (PR37586) (details)
  8. [NFC][ARM] Add missing tests (details)
  9. [lldb][NFC] Mark GetNextPersistentVariableName as overriden to silence warning (details)
  10. [clangd] Change line break behaviour for hoverinfo (details)
  11. [ReleaseNotes,ARM] MVE intrinsics are all implemented! (details)
  12. Increase DIAG_SIZE_DRIVER as we're close to hitting it (details)
  13. Fix unused variable warning (details)
  14. Make helpers static. NFC. (details)
  15. [AST] Use TypeDependence bitfield to calculate dependence on Types. NFC (details)
  16. [CodeGen] Fix test attr-noreturn.c when run from my home directory (details)
  17. [ConstantRange] Add initial support for binaryXor. (details)
  18. [mlir][StandardToSPIRV] Add support for lowering unary ops (details)
  19. [X86][SSE1] Add additional logic+movmsk patterns that scalarize (PR42870) (details)
  20. Data formatters: fix detection of C strings (details)
  21. [lld-link] Support /map option, matching link.exe 's /map output format (details)
  22. [InstSimplify] add more tests for freeze(constant); NFC (details)
  23. [SelDag] Add FREEZE (details)
  24. [DWARF] Fix v5 debug_line parsing of prologues with many files (details)
  25. [CUDA][HIP] Add -Xarch_device and -Xarch_host options (details)
  26. [libc++] Fix installation of cxx_experimental (details)
  27. [Parser] Fix the assertion crash in ActOnStartOfSwitch stmt. (details)
  28. [ARM][CMSE] Fix clang/test/Driver/save-temps.c test. (details)
  29. [X86][SSE1] Add support for logic+movmsk patterns (PR42870) (details)
  30. [MachinePipeliner] Fix a bug in Output Dependency chains (details)
Commit 733edf9750a4893d5f50329ad68b3901935303a9 by hokein.wu
[AST] Add RecoveryExpr to retain expressions on semantic errors

Normally clang avoids creating expressions when it encounters semantic
errors, even if the parser knows which expression to produce.

This works well for the compiler. However, this is not ideal for
source-level tools that have to deal with broken code, e.g. clangd is
not able to provide navigation features even for names that compiler
knows how to resolve.

The new RecoveryExpr aims to capture the minimal set of information
useful for the tools that need to deal with incorrect code:

source range of the expression being dropped,
subexpressions of the expression.
We aim to make constructing RecoveryExprs as simple as possible to
ensure writing code to avoid dropping expressions is easy.

Producing RecoveryExprs can result in new code paths being taken in the
frontend. In particular, clang can produce some new diagnostics now and
we aim to suppress bogus ones based on Expr::containsErrors.

We deliberately produce RecoveryExprs only in the parser for now to
minimize the code affected by this patch. Producing RecoveryExprs in
Sema potentially allows to preserve more information (e.g. type of an
expression), but also results in more code being affected. E.g.
SFINAE checks will have to take presence of RecoveryExprs into account.

Initial implementation only works in C++ mode, as it relies on compiler
postponing diagnostics on dependent expressions. C and ObjC often do not
do this, so they require more work to make sure we do not produce too
many bogus diagnostics on the new expressions.

See documentation of RecoveryExpr for more details.

original patch from Ilya
This change is based on https://reviews.llvm.org/D61722

Reviewers: sammccall, rsmith

Reviewed By: sammccall, rsmith

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69330
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was addedclang/test/SemaTemplate/recovery-tree-transform.cpp
The file was addedclang/test/Index/getcursor-recovery.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/AST/ComputeDependence.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/AST/ast-dump-recovery.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was addedclang/test/AST/ast-dump-expr-errors.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/AST/ComputeDependence.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/include/clang/Basic/LangOptions.def
Commit 6f86e6bf4043b0fc75d285bac06ebc7c3f5828b0 by sam.parker
[ARM][MVE] Add target flag for narrowing insts

Add a flag, 'RetainsPreviousHalfElement', for operations that operate
on top/bottom halves of their input and only write to half of their
destination, leaving the other half to retain its previous value.

Differential Revision: https://reviews.llvm.org/D76608
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrFormats.td
Commit 94cacebccadf1e0821bdab6983d9f5251f73eab0 by sam.parker
[ARM][LowOverheadLoops] Add checks for narrowing

Modify ValidateLiveOuts to track 'FalseLaneZeros' more precisely,
including checks on specific operations that can generate non-zeros
from zero values, e.g VMVN. We can then check that any instructions
that retain some information in their output register (all narrowing
instructions) that they only use and def registers that always have
zeros in their falsely predicated bytes, whether or not tail
predication happens.

Most of the logic remains the same, just the names of the data
structures and helpers have been renamed to reflect the change in
logic. The key change, apart from the opcode checkers, is that the
FalseZeros set now strictly contains only instructions which will
always generate zeros, and not instructions that could also have
their false bytes masked away later.

Differential Revision: https://reviews.llvm.org/D76235
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 1232cfa385c15ef768381483d9cbd575380bc054 by david.green
[ARM] Don't split trunc stores that can be better handled as VMOVN

We deliberately split stores of the form
store(truncate(larger-than-legal-type)) into two stores, allowing each
store to perform part of the truncate for free.

There are times however where it makes more sense to use VMOVN to
de-interlace the results back into a single vector, and store that in
one go. This adds a check for that situation, not splitting the store if
it looks like a VMOVN can be more useful.

Differential Revision: https://reviews.llvm.org/D76511
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovnstore.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 080d046c91d26bd3b0afba817cf5c2f99d1288ff by momchil.velikov
[ARM][CMSE] Implement CMSE attributes

This patch adds CMSE attributes `cmse_nonsecure_call` and
`cmse_nonsecure_entry`.  As usual, specification is available here:
https://developer.arm.com/docs/ecm0359818/latest

Patch by Javed Absar, Bradley Smith, David Green, Momchil Velikov,
possibly others.

Differential Revision: https://reviews.llvm.org/D71129
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/Driver/ropi-rwpi.c
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/Sema/arm-cmse.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/CodeGen/arm-cmse-attr.c
The file was addedclang/test/CodeGen/arm-cmse-call.c
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/AST/ast-dump-arm-attr.c
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/AST/TypeProperties.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/Driver/save-temps.c
The file was addedclang/test/SemaCXX/arm-cmse.cpp
The file was modifiedclang/include/clang/CodeGen/CGFunctionInfo.h
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was addedclang/test/Sema/arm-no-cmse.c
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 180d211770a0a1f82d483433fab007cd4d14cbd9 by dvyukov
tsan: Adding releaseAcquire() to ThreadClock

realeaseAcquire() is a new function added to TSan in support of the Go data-race detector.
It's semantics is:

void ThreadClock::releaseAcquire(SyncClock *sc) const {
  for (int i = 0; i < kMaxThreads; i++) {
    tmp = clock[i];
    clock[i] = max(clock[i], sc->clock[i]);
    sc->clock[i] = tmp;
  }
}

For context see: https://go-review.googlesource.com/c/go/+/220419

Reviewed-in: https://reviews.llvm.org/D76322
Author: dfava (Daniel Fava)
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_clock.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_clock.h
The file was modifiedcompiler-rt/lib/tsan/go/test.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_stat.h
Commit 8905617ee3acec9471c34afd6258d18de801ea29 by llvm-dev
[UpdateTestChecks] Use common ir function name matcher and extend to accept periods in names (PR37586)

Remove the local versions of the IR_FUNCTION_RE matcher (they weren't doing anything different), and ensure all the function name matchers accept '.' and '-'.

We don't need to use '\.' inside python regex sets either, or '\-' as long as thats at the end of the set.
The file was modifiedllvm/utils/update_analyze_test_checks.py
The file was modifiedllvm/utils/update_test_checks.py
The file was modifiedllvm/utils/UpdateTestChecks/common.py
Commit ca21e60fdf3fd497ffb66491b9eefc608e572c40 by sam.parker
[NFC][ARM] Add missing tests
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/ctlz-non-zeros.mir
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-retaining.mir
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-retaining.mir
Commit 68687e75e7cb494796439f127a93ea03f2710551 by Raphael Isemann
[lldb][NFC] Mark GetNextPersistentVariableName as overriden to silence warning

This was triggering -Winconsistent-missing-override warnings.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
Commit b194e7d6313be3b6e6db6e2d617a76c6dde2651b by sam.mccall
[clangd] Change line break behaviour for hoverinfo

`parseDocumentation` retains hard line breaks and removes soft line
breaks inside documentation comments.
Wether a line break is hard or soft is determined by the following rules
(some of which have been discussed in
https://github.com/clangd/clangd/issues/95):

Line breaks that are preceded by a punctuation are retained
Line breaks that are followed by "interesting characters" (e.g. Markdown
syntax, doxygen commands) are retained
All other line breaks are removed

Related issue: https://github.com/clangd/clangd/issues/95

Differential Revision: https://reviews.llvm.org/D76094
The file was modifiedclang-tools-extra/clangd/Hover.h
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit f282b6ab23a0f6ede0f1c8b6ccb5ad3c17a5ed2f by simon.tatham
[ReleaseNotes,ARM] MVE intrinsics are all implemented!

Summary:
The next release of LLVM will support the full ACLE spec for MVE intrinsics,
so it's worth saying so in the release notes.

Reviewers: kristof.beyls

Reviewed By: kristof.beyls

Subscribers: cfe-commits, hans, dmgreen, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D76513
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 8fa322dd39a8ac32c46479511e8be20ab898f897 by russell.gallop
Increase DIAG_SIZE_DRIVER as we're close to hitting it
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
Commit 896fa30fc03091f7ea679f38616cae05166fb4be by llvm-dev
Fix unused variable warning
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit b6732056a448d39fe6e17a23a4fbc5ccede71781 by benny.kra
Make helpers static. NFC.
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
The file was modifiedllvm/lib/Support/OptimalLayout.cpp
Commit a2aa9970e1fec589591f7b8ac5557c47be4e8550 by sam.mccall
[AST] Use TypeDependence bitfield to calculate dependence on Types. NFC

Summary:
This clears the way for adding an Error dependence bit to Type and having it
mostly-automatically propagated.

Reviewers: hokein

Subscribers: jfb, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D76424
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/AST/LocInfoType.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/AST/DependenceFlags.h
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/include/clang/AST/TypeProperties.td
Commit 0b5998213415147d901d394cfc47d7daedacc3cf by noreply
[CodeGen] Fix test attr-noreturn.c when run from my home directory
The file was modifiedclang/test/CodeGen/attr-noreturn.c
Commit 7caba33907afce839c092661e20fdfd51b08e7d0 by flo
[ConstantRange] Add initial support for binaryXor.

The initial implementation just delegates to APInt's implementation of
XOR for single element ranges and conservatively returns the full set
otherwise.

Reviewers: nikic, spatel, lebedev.ri

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D76453
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit 58cdb8bff067a521dd68d6b699b13da74188a68b by antiagainst
[mlir][StandardToSPIRV] Add support for lowering unary ops

Differential Revision: https://reviews.llvm.org/D76661
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
Commit 865638f5eb57d2a16f4acef7237c54bc6059fae0 by llvm-dev
[X86][SSE1] Add additional logic+movmsk patterns that scalarize (PR42870)

rL368506 handled the basic case, but we need to account for boolean logic patterns as well.
The file was modifiedllvm/test/CodeGen/X86/pr42870.ll
Commit 177dd63c8d742250dac6ea365e7c30f0fbab3257 by Raphael Isemann
Data formatters: fix detection of C strings

Summary:
Detection of C strings does not work well for pointers. If the value object holding a (char*) pointer does not have an address (e.g., if it is a temp), the value is not considered a C string and its formatting is left to DumpDataExtractor rather than the special handling in  ValueObject::DumpPrintableRepresentation. This leads to inconsistent outputs, e.g., in escaping non-ASCII characters. See the test for an example; the second test expectation is not met (without this patch). With this patch, the C string detection only insists that the pointer value is valid. The patch makes the code consistent with how the pointer is obtained in ValueObject::ReadPointedString.

Reviewers: teemperor

Reviewed By: teemperor

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D76650
The file was addedlldb/test/API/functionalities/data-formatter/cstring-utf8-summary/main.cpp
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was addedlldb/test/API/functionalities/data-formatter/cstring-utf8-summary/TestCstringUnicode.py
The file was addedlldb/test/API/functionalities/data-formatter/cstring-utf8-summary/Makefile
Commit b91905a26378f03c9b56126207771829d89cdcb7 by sylvain.audi
[lld-link] Support /map option, matching link.exe 's /map output format

Added support for /map and /map:[filepath].
The output was derived from Microsoft's Link.exe output when using that same option.
Note that /MAPINFO support was not added.

The previous implementation of MapFile.cpp/.h was meant for /lldmap, and was renamed to LLDMapFile.cpp/.h
MapFile.cpp/.h is now for /MAP
However, a small fix was added to lldmap, replacing a std::sort with std::stable_sort to enforce reproducibility.

Differential Revision: https://reviews.llvm.org/D70557
The file was modifiedlld/COFF/Config.h
The file was addedlld/COFF/LLDMapFile.cpp
The file was removedlld/test/COFF/lldmap.test
The file was modifiedlld/COFF/CMakeLists.txt
The file was modifiedlld/COFF/Options.td
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/COFF/MapFile.cpp
The file was modifiedlld/COFF/Writer.cpp
The file was addedlld/test/COFF/map.test
The file was addedlld/test/COFF/Inputs/map.yaml
The file was addedlld/COFF/LLDMapFile.h
Commit 58ec867a3badcc75143d93e8922fc618eb9472c1 by spatel
[InstSimplify] add more tests for freeze(constant); NFC

These should really be moved over to a ConstantFolding test file,
but since this may overlap with the in-progress D76010 and similar
tests already exist here, we can do that as a later cleanup.
The file was modifiedllvm/test/Transforms/InstSimplify/freeze.ll
Commit 7802be4a3d86743242273593d43a78df84ece8c1 by aqjune
[SelDag] Add FREEZE

Summary:
- Add FREEZE node to SelDag
- Lower FreezeInst (in IR) to FREEZE node
- Add Legalization for FREEZE node

Reviewers: qcolombet, bogner, efriedma, lebedev.ri, nlopes, craig.topper, arsenm

Reviewed By: lebedev.ri

Subscribers: wdng, xbolva00, Petar.Avramovic, liuz, lkail, dylanmckay, hiraditya, Jim, arsenm, craig.topper, RKSimon, spatel, lebedev.ri, regehr, trentxintong, nlopes, mkuper, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D29014
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/test/CodeGen/X86/fast-isel.ll
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was addedllvm/test/CodeGen/X86/freeze-legalize.ll
The file was modifiedllvm/include/llvm/CodeGen/FastISel.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGISel.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/X86/fast-isel-freeze.ll
The file was addedllvm/test/CodeGen/X86/freeze.ll
Commit d381b6a8d3e87d65f4ae9ca4d4333203e01825f5 by pavel
[DWARF] Fix v5 debug_line parsing of prologues with many files

Summary:
The directory_count and file_name_count fields are (section 6.2.4 of
DWARF5 spec) supposed to be uleb128s, not bytes. This bug meant that it
was not possible to correctly parse headers with more than 128 files or
directories.

I've found this bug by code inspection, though the limit is so small
someone would have run into it for real sooner or later. I've verified
that the producer side handles many files correctly, and that we are
able to parse such files after this fix.

Reviewers: dblaikie, jhenderson

Subscribers: aprantl, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76498
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_line_many_files_v5.s
Commit 2ae25647d1a363515ecbd193dc66d8ada80dd054 by Yaxun.Liu
[CUDA][HIP] Add -Xarch_device and -Xarch_host options

The argument after -Xarch_device will be added to the arguments for CUDA/HIP
device compilation and will be removed for host compilation.

The argument after -Xarch_host will be added to the arguments for CUDA/HIP
host compilation and will be removed for device compilation.

Differential Revision: https://reviews.llvm.org/D76520
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/test/Driver/hip-options.hip
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/lib/Driver/Compilation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Driver/ToolChain.h
Commit ce36c5ab643a5ced7da2034288bbfbdd7193058b by Louis Dionne
[libc++] Fix installation of cxx_experimental

cxx_experimental was never installed because ${experimental_lib} always
expands to an empty target. This seems to have been broken by 97d6fcce4ec6.
The file was modifiedlibcxx/src/CMakeLists.txt
Commit 386f95e168b09603595864a5956624792ccb59c4 by hokein.wu
[Parser] Fix the assertion crash in ActOnStartOfSwitch stmt.

Summary:
After we parse the switch condition, we don't do the type check for
type-dependent expr (e.g. TypoExpr) (in Sema::CheckSwitchCondition), then the
TypoExpr is corrected to an invalid-type expr (in Sema::MakeFullExpr) and passed
to the ActOnStartOfSwitchStmt, which triggers the assertion.

Fix https://github.com/clangd/clangd/issues/311

Reviewers: sammccall

Subscribers: ilya-biryukov, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D76592
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was addedclang/test/Parser/switch-typo-correction.cpp
Commit 10bd8422d041e2964c146a38b5514d9d92fc458d by pifon
[ARM][CMSE] Fix clang/test/Driver/save-temps.c test.

Differential Revision: https://reviews.llvm.org/D76703
The file was modifiedclang/test/Driver/save-temps.c
Commit 714402147daabad11c0bad2e54be997b7fb06b1d by llvm-dev
[X86][SSE1] Add support for logic+movmsk patterns (PR42870)

rL368506 handled the basic case, but we need to account for boolean logic patterns as well.
The file was modifiedllvm/test/CodeGen/X86/pr42870.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 4a6ebc03ba89340e119b3c2c6b8a6c721fff5fd5 by Jinsong Ji
[MachinePipeliner] Fix a bug in Output Dependency chains

The current implementation collects all Preds/Succs of a Dep of kind Output, creating a long chain and subsequently a schedule with an unnecessarily large II.
Was this done on purpose for a reason I'm missing?

Reviewed By: bcahoon

Differential Revision: https://reviews.llvm.org/D75424
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp