FailedChanges

Summary

  1. [clangd] Turn background-index on by default Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64019
  2. [clangd] Make HadErrors part of background index's internal state Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64147
  3. [clangd] Add HadErrors field into shards Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64133
  4. [clangd] Store hash of command line in index shards. Summary: This is to enable cache invalidation when command line flags changes. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64018
  5. [clangd] Also cache failures while indexing Summary: Clangd currently doesn't cache any indexing failures, which results in retrying those failed files even if their contents haven't changed. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63986
  6. Fix MSVC "not all control paths return a value" warnings. NFCI.
  7. [Remarks] Silence gcc warning by catching unhandled values in switches Without this fix gcc (7.4) complains with ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef)': ../lib/Remarks/RemarkParser.cpp:29:1: error: control reaches end of non-void function [-Werror=return-type] } ^ ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef, const llvm::remarks::ParsedStringTable&)': ../lib/Remarks/RemarkParser.cpp:38:1: error: control reaches end of non-void function [-Werror=return-type] } ^ The Format enum currently only contains the value YAML which is indeed already handled in the switches, but gcc complains anyway. Adding a default case with an llvm_unreachable silences gcc.
  8. [ARM] Favour PL/MI over GE/LT when possible The arm condition codes for GE is N==V (and for LT is N!=V). If the source of flags cannot set V (overflow), such as a cmp against #0, then we can use the simpler PL and MI conditions that only check N. As these PL/MI conditions are simpler than GE/LT, other passes like the peephole optimiser can have a better time optimising away the redundant CMPs. The exception is the VSEL instruction, which cannot take the PL code, so there the transform favours GE. Differential Revision: https://reviews.llvm.org/D64160
  9. [ARM] Added testing for D64160. NFC Adds some extra vsel testing and regenerates long shift and saturation bitop tests.
  10. [docs][llvm-dwarfdump] Remove unnecessary reference to --show-children The --show-children option description describes what it does, and references the =<offset> parameter of section dump switches. I don't think it needs to be explained again in the documentation of the section dump switches too. Reviewed by: JDevlieghere Differential Revision: https://reviews.llvm.org/D64132
  11. [TableGen] Allow DAG isel patterns to override default operands. When a Tablegen instruction description uses `OperandWithDefaultOps`, isel patterns for that instruction don't have to fill in the default value for the operand in question. But the flip side is that they actually //can't// override the defaults even if they want to. This will be very inconvenient for the Arm backend, when we start wanting to write isel patterns that generate the many MVE predicated vector instructions, in the form with predication actually enabled. So this small Tablegen fix makes it possible to write an isel pattern either with or without values for a defaulted operand, and have the default values filled in only if they are not overridden. If all the defaulted operands come at the end of the instruction's operand list, there's a natural way to match them up to the arguments supplied in the pattern: consume pattern arguments until you run out, then fill in any missing instruction operands with their default values. But if defaulted and non-defaulted operands are interleaved, it's less clear what to do. This does happen in existing targets (the first example I came across was KILLGT, in the AMDGPU/R600 backend), and of course they expect the previous behaviour (that the default for those operands is used and a pattern argument is not consumed), so for backwards compatibility I've stuck with that. Reviewers: nhaehnle, hfinkel, dmgreen Subscribers: mehdi_amini, javed.absar, tpr, kristof.beyls, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63814
  12. [ARM] MVE bitwise instruction patterns This adds patterns for the simpler VAND, VORR and VEOR bitwise vector instructions. It also adjusts the top16Zero PatLeaf to not match on vector instructions, which can otherwise cause problems. Code written by David Sherwood. Differential Revision: https://reviews.llvm.org/D63867
  13. [clangd] Add missing changes for 365111
Revision 365124 by kadircet:
[clangd] Turn background-index on by default

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64019
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp (diff)clang-tools-extra.src/clangd/tool/ClangdMain.cpp
Revision 365123 by kadircet:
[clangd] Make HadErrors part of background index's internal state

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64147
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpp (diff)clang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.h (diff)clang-tools-extra.src/clangd/index/Background.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
Revision 365122 by kadircet:
[clangd] Add HadErrors field into shards

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64133
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/Headers.h (diff)clang-tools-extra.src/clangd/Headers.h
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpp (diff)clang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/IndexAction.cpp (diff)clang-tools-extra.src/clangd/index/IndexAction.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.cpp (diff)clang-tools-extra.src/clangd/index/Serialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexActionTests.cpp (diff)clang-tools-extra.src/clangd/unittests/IndexActionTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SerializationTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SerializationTests.cpp
Revision 365121 by kadircet:
[clangd] Store hash of command line in index shards.

Summary: This is to enable cache invalidation when command line flags changes.

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64018
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpp (diff)clang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.cpp (diff)clang-tools-extra.src/clangd/index/Serialization.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.h (diff)clang-tools-extra.src/clangd/index/Serialization.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SerializationTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SerializationTests.cpp
Revision 365120 by kadircet:
[clangd] Also cache failures while indexing

Summary:
Clangd currently doesn't cache any indexing failures, which results in
retrying those failed files even if their contents haven't changed.

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63986
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cpp (diff)clang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.h (diff)clang-tools-extra.src/clangd/index/Background.h
The file was modified/clang-tools-extra/trunk/clangd/index/IndexAction.cpp (diff)clang-tools-extra.src/clangd/index/IndexAction.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Serialization.h (diff)clang-tools-extra.src/clangd/index/Serialization.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpp (diff)clang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
Revision 365119 by rksimon:
Fix MSVC "not all control paths return a value" warnings. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Remarks/RemarkParser.cpp (diff)llvm.src/lib/Remarks/RemarkParser.cpp
Revision 365118 by uabelho:
[Remarks] Silence gcc warning by catching unhandled values in switches

Without this fix gcc (7.4) complains with
../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef)':
../lib/Remarks/RemarkParser.cpp:29:1: error: control reaches end of non-void function [-Werror=return-type]
  }
  ^
../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef, const llvm::remarks::ParsedStringTable&)':
../lib/Remarks/RemarkParser.cpp:38:1: error: control reaches end of non-void function [-Werror=return-type]
  }
  ^

The Format enum currently only contains the value YAML which is indeed
already handled in the switches, but gcc complains anyway.

Adding a default case with an llvm_unreachable silences gcc.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Remarks/RemarkParser.cpp (diff)llvm.src/lib/Remarks/RemarkParser.cpp
Revision 365117 by dmgreen:
[ARM] Favour PL/MI over GE/LT when possible

The arm condition codes for GE is N==V (and for LT is N!=V). If the source of
flags cannot set V (overflow), such as a cmp against #0, then we can use the
simpler PL and MI conditions that only check N. As these PL/MI conditions are
simpler than GE/LT, other passes like the peephole optimiser can have a better
time optimising away the redundant CMPs.

The exception is the VSEL instruction, which cannot take the PL code, so there
the transform favours GE.

Differential Revision: https://reviews.llvm.org/D64160
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/code-placement.ll (diff)llvm.src/test/CodeGen/ARM/code-placement.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll (diff)llvm.src/test/CodeGen/ARM/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll (diff)llvm.src/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/long_shift.ll (diff)llvm.src/test/CodeGen/ARM/long_shift.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sat-to-bitop.ll (diff)llvm.src/test/CodeGen/ARM/sat-to-bitop.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/select.ll (diff)llvm.src/test/CodeGen/ARM/select.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/shift-i64.ll (diff)llvm.src/test/CodeGen/ARM/shift-i64.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb/select.ll (diff)llvm.src/test/CodeGen/Thumb/select.ll
Revision 365116 by dmgreen:
[ARM] Added testing for D64160. NFC

Adds some extra vsel testing and regenerates long shift and saturation bitop
tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/ARM/long_shift.ll (diff)llvm.src/test/CodeGen/ARM/long_shift.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sat-to-bitop.ll (diff)llvm.src/test/CodeGen/ARM/sat-to-bitop.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/shift-i64.ll (diff)llvm.src/test/CodeGen/ARM/shift-i64.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/vsel.ll (diff)llvm.src/test/CodeGen/ARM/vsel.ll
Revision 365115 by jhenderson:
[docs][llvm-dwarfdump] Remove unnecessary reference to --show-children

The --show-children option description describes what it does, and
references the =<offset> parameter of section dump switches. I don't
think it needs to be explained again in the documentation of the
section dump switches too.

Reviewed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D64132
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rst (diff)llvm.src/docs/CommandGuide/llvm-dwarfdump.rst
Revision 365114 by statham:
[TableGen] Allow DAG isel patterns to override default operands.

When a Tablegen instruction description uses `OperandWithDefaultOps`,
isel patterns for that instruction don't have to fill in the default
value for the operand in question. But the flip side is that they
actually //can't// override the defaults even if they want to.

This will be very inconvenient for the Arm backend, when we start
wanting to write isel patterns that generate the many MVE predicated
vector instructions, in the form with predication actually enabled. So
this small Tablegen fix makes it possible to write an isel pattern
either with or without values for a defaulted operand, and have the
default values filled in only if they are not overridden.

If all the defaulted operands come at the end of the instruction's
operand list, there's a natural way to match them up to the arguments
supplied in the pattern: consume pattern arguments until you run out,
then fill in any missing instruction operands with their default
values. But if defaulted and non-defaulted operands are interleaved,
it's less clear what to do. This does happen in existing targets (the
first example I came across was KILLGT, in the AMDGPU/R600 backend),
and of course they expect the previous behaviour (that the default for
those operands is used and a pattern argument is not consumed), so for
backwards compatibility I've stuck with that.

Reviewers: nhaehnle, hfinkel, dmgreen

Subscribers: mehdi_amini, javed.absar, tpr, kristof.beyls, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63814
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/TableGen/DAGDefaultOps.tdllvm.src/test/TableGen/DAGDefaultOps.td
The file was modified/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.cpp (diff)llvm.src/utils/TableGen/CodeGenDAGPatterns.cpp
The file was modified/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h (diff)llvm.src/utils/TableGen/CodeGenDAGPatterns.h
The file was modified/llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp (diff)llvm.src/utils/TableGen/DAGISelMatcherGen.cpp
Revision 365113 by dmgreen:
[ARM] MVE bitwise instruction patterns

This adds patterns for the simpler VAND, VORR and VEOR bitwise vector
instructions. It also adjusts the top16Zero PatLeaf to not match on vector
instructions, which can otherwise cause problems.

Code written by David Sherwood.

Differential Revision: https://reviews.llvm.org/D63867
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.td (diff)llvm.src/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (diff)llvm.src/lib/Target/ARM/ARMInstrThumb2.td
The file was added/llvm/trunk/test/CodeGen/Thumb2/mve-bitarith.llllvm.src/test/CodeGen/Thumb2/mve-bitarith.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-div-expand.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-div-expand.ll
The file was modified/llvm/trunk/test/CodeGen/Thumb2/mve-fmath.ll (diff)llvm.src/test/CodeGen/Thumb2/mve-fmath.ll
Revision 365112 by jvikstrom:
[clangd] Add missing changes for 365111
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdLSPServer.h (diff)clang-tools-extra.src/clangd/ClangdLSPServer.h
The file was modified/clang-tools-extra/trunk/clangd/test/semantic-highlighting.test (diff)clang-tools-extra.src/clangd/test/semantic-highlighting.test