FailedChanges

Summary

  1. [clangd] No longer getting template instantiations from header files in Main AST. Previous implementation to filter decls not in the main file did not work in the case where a template was instantiated from a header in the main file. It would than include that function/class in topLevelDecls. Differential Revision: https://reviews.llvm.org/D63817
  2. [RISCV] Add break; to the last switch case As suggested by jrtc27 in the post-commit review of D60528.
  3. [X86] CombineShuffleWithExtract - updated description comments. NFCI. CombineShuffleWithExtract no longer requires that both shuffle ops are extract_subvectors, from the same type or from the same size.
  4. [SelectionDAG] Do minnum->minimum at legalization time instead of building time The SDAGBuilder behavior stems from the days when we didn't have fast math flags available in SDAG. We do now and doing the transformation in the legalizer has the advantage that it also works for vector types.
  5. [benchmark] Disable CMake get_git_version Disabled CMake get_git_version as it is meaningless for this in-tree build, and hardcoded a null version. Not using get_git_version avoids a refresh of the git index that is executed by get_git_version. Refreshing the index can take a considerable amount of time if the index needs to be refreshed (particularly with the mono repo). This situation can arise when building shared source on a host in VMs. Differential Revision: https://reviews.llvm.org/D63925
  6. [clangd] Fix unused var from r364735
  7. [clangd] Make PreambleStatusCache handle filenames more carefully Summary: - when we hit the cache, the reported filename should be that of the cache query, not that of the cache store. This matches behaviors of common FSes, and avoids triggering difficult edge cases in FileManager when files are being moved around concurrently. - filename comparisons (both cache queries and == mainfile checks) should fold away . and .. in paths. These can appear when relative paths occur in compile_commands.json. (gn does this). Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63931
  8. [NFC][InstCombine] Tests for x - ~(y) -> x + y + 1 fold (PR42457) https://bugs.llvm.org/show_bug.cgi?id=42457 https://rise4fun.com/Alive/iFhE
  9. [InstCombine] Omit 'urem' where possible This was added in D63390 / rL364286 to backend, but it makes sense to also handle it in middle-end. https://rise4fun.com/Alive/Zsln
  10. [NFC][InstCombine] Copy test for omit urem when possible from TargetLowering Was added in D63390 / rL364286 to backend, but it makes sense to also handle it here. https://rise4fun.com/Alive/Zsln
  11. [DebugInfo] Avoid adding too much indirection to pointer-valued variables This patch addresses PR41675, where a stack-pointer variable is dereferenced too many times by its location expression, presenting a value on the stack as the pointer to the stack. The difference between a stack *pointer* DBG_VALUE and one that refers to a value on the stack, is currently the indirect flag. However the DWARF backend will also try to guess whether something is a memory location or not, based on whether there is any computation in the location expression. By simply prepending the stack offset to existing expressions, we can accidentally convert a register location into a memory location, which introduces a suprise (and unintended) dereference. The solution is to add DW_OP_stack_value whenever we add a DIExpression computation to a stack *pointer*. It's an implicit location computed on the expression stack, thus needs to be flagged as a stack_value. For the edge case where the offset is zero and the location could be a register location, DIExpression::prepend will still generate opcodes, and thus DW_OP_stack_value must still be added. Differential Revision: https://reviews.llvm.org/D63429
  12. [clangd] Show better message when we rename macros. Summary: Previously, when we rename a macro, we get an error message of "there is no symbol found". This patch improves the message of this case (as we don't support macros). Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, mgrang, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63922
  13. [SimpleLoopUnswitch] Implement handling of prof branch_weights metadata for SwitchInst Differential Revision: https://reviews.llvm.org/D60606
Revision 364747 by jvikstrom:
[clangd] No longer getting template instantiations from header files in Main AST.

Previous implementation to filter decls not in the main file did not
work in the case where a template was instantiated from a header in the
main file. It would than include that function/class in topLevelDecls.

Differential Revision: https://reviews.llvm.org/D63817
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdUnit.cpp (diff)clang-tools-extra.src/clangd/ClangdUnit.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/ClangdUnitTests.cpp (diff)clang-tools-extra.src/clangd/unittests/ClangdUnitTests.cpp
Revision 364746 by maskray:
[RISCV] Add break; to the last switch case

As suggested by jrtc27 in the post-commit review of D60528.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp (diff)llvm.src/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Revision 364745 by rksimon:
[X86] CombineShuffleWithExtract - updated description comments. NFCI.

CombineShuffleWithExtract no longer requires that both shuffle ops are extract_subvectors, from the same type or from the same size.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 364743 by d0k:
[SelectionDAG] Do minnum->minimum at legalization time instead of building time

The SDAGBuilder behavior stems from the days when we didn't have fast
math flags available in SDAG. We do now and doing the transformation in
the legalizer has the advantage that it also works for vector types.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/f32.ll (diff)llvm.src/test/CodeGen/WebAssembly/f32.ll
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/simd-arith.ll (diff)llvm.src/test/CodeGen/WebAssembly/simd-arith.ll
Revision 364742 by anng:
[benchmark] Disable CMake get_git_version

Disabled CMake get_git_version as it is meaningless for this in-tree
build, and hardcoded a null version.

Not using get_git_version avoids a refresh of the git index that is
executed by get_git_version. Refreshing the index can take a
considerable amount of time if the index needs to be refreshed
(particularly with the mono repo). This situation can arise when
building shared source on a host in VMs.

Differential Revision: https://reviews.llvm.org/D63925
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/benchmark/CMakeLists.txt (diff)llvm.src/utils/benchmark/CMakeLists.txt
The file was modified/llvm/trunk/utils/benchmark/README.LLVM (diff)llvm.src/utils/benchmark/README.LLVM
Revision 364741 by sammccall:
[clangd] Fix unused var from r364735
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cpp (diff)clang-tools-extra.src/clangd/XRefs.cpp
Revision 364740 by sammccall:
[clangd] Make PreambleStatusCache handle filenames more carefully

Summary:
- when we hit the cache, the reported filename should be that of the
   cache query, not that of the cache store. This matches behaviors of
   common FSes, and avoids triggering difficult edge cases in
   FileManager when files are being moved around concurrently.
- filename comparisons (both cache queries and == mainfile checks)
   should fold away . and .. in paths. These can appear when relative
   paths occur in compile_commands.json. (gn does this).

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63931
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/FS.cpp (diff)clang-tools-extra.src/clangd/FS.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FSTests.cpp (diff)clang-tools-extra.src/clangd/unittests/FSTests.cpp
Revision 364739 by lebedevri:
[NFC][InstCombine] Tests for x - ~(y)  ->  x + y + 1 fold (PR42457)

https://bugs.llvm.org/show_bug.cgi?id=42457
https://rise4fun.com/Alive/iFhE
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.llllvm.src/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
Revision 364738 by lebedevri:
[InstCombine] Omit 'urem' where possible

This was added in D63390 / rL364286 to backend,
but it makes sense to also handle it in middle-end.
https://rise4fun.com/Alive/Zsln
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll (diff)llvm.src/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
Revision 364737 by lebedevri:
[NFC][InstCombine] Copy test for omit urem when possible from TargetLowering

Was added in D63390 / rL364286 to backend, but it makes sense to also handle it here.
https://rise4fun.com/Alive/Zsln
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.llllvm.src/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
Revision 364736 by jmorse:
[DebugInfo] Avoid adding too much indirection to pointer-valued variables

This patch addresses PR41675, where a stack-pointer variable is dereferenced
too many times by its location expression, presenting a value on the stack as
the pointer to the stack.

The difference between a stack *pointer* DBG_VALUE and one that refers to a
value on the stack, is currently the indirect flag. However the DWARF backend
will also try to guess whether something is a memory location or not, based
on whether there is any computation in the location expression. By simply
prepending the stack offset to existing expressions, we can accidentally
convert a register location into a memory location, which introduces a
suprise (and unintended) dereference.

The solution is to add DW_OP_stack_value whenever we add a DIExpression
computation to a stack *pointer*. It's an implicit location computed on the
expression stack, thus needs to be flagged as a stack_value.

For the edge case where the offset is zero and the location could be a register
location, DIExpression::prepend will still generate opcodes, and thus
DW_OP_stack_value must still be added.

Differential Revision: https://reviews.llvm.org/D63429
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (diff)llvm.src/include/llvm/IR/DebugInfoMetadata.h
The file was modified/llvm/trunk/lib/CodeGen/PrologEpilogInserter.cpp (diff)llvm.src/lib/CodeGen/PrologEpilogInserter.cpp
The file was modified/llvm/trunk/lib/IR/DebugInfoMetadata.cpp (diff)llvm.src/lib/IR/DebugInfoMetadata.cpp
The file was added/llvm/trunk/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mirllvm.src/test/DebugInfo/MIR/X86/prolog-epilog-indirection.mir
Revision 364735 by hokein:
[clangd] Show better message when we rename macros.

Summary:
Previously, when we rename a macro, we get an error message of "there is
no symbol found".

This patch improves the message of this case (as we don't support macros).

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63922
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.cpp (diff)clang-tools-extra.src/clangd/SourceCode.cpp
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.h (diff)clang-tools-extra.src/clangd/SourceCode.h
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cpp (diff)clang-tools-extra.src/clangd/XRefs.cpp
The file was modified/clang-tools-extra/trunk/clangd/refactor/Rename.cpp (diff)clang-tools-extra.src/clangd/refactor/Rename.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/RenameTests.cpp (diff)clang-tools-extra.src/clangd/unittests/RenameTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SourceCodeTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SourceCodeTests.cpp
Revision 364734 by yrouban:
[SimpleLoopUnswitch] Implement handling of prof branch_weights metadata for SwitchInst

Differential Revision: https://reviews.llvm.org/D60606
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp (diff)llvm.src/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was added/llvm/trunk/test/Transforms/SimpleLoopUnswitch/basictest-profmd.llllvm.src/test/Transforms/SimpleLoopUnswitch/basictest-profmd.ll
The file was added/llvm/trunk/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.llllvm.src/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.ll