FailedChanges

Summary

  1. [Attributor][Fix] Initialize the cache prior to using it Summary: There were segfaults as we modified and iterated the instruction maps in the cache at the same time. This was happening because we created new instructions while we populated the cache. This fix changes the order in which we perform these actions. First, the caches for the whole module are created, then we start to create abstract attributes. I don't have a unit test but the LLVM test suite exposes this problem. Reviewers: uenoku, sstefan1 Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67232
  2. Revert Patch from Phabricator This reverts r372092 (git commit e38695a0255c9e7b53639f349f8101bae1ce5c04)
  3. [X86] Use APInt::getLowBitsSet helper. NFCI. Also avoids a static analyzer warning about out of range shifts.
  4. Add SemanticRanges to Clangd server. Summary: Adds Semantic Ranges capabilities to Clangd server. Also adds tests for running it via clangd server. This differs from the LSP spec as the spec needs this to be evaluated on multiple 'pos' and the expected output is an list of list of semantic ranges. This is majorly for multi cursor and assuming this is a rare thing, we don't want to optimize make things complicated just for this. This should be done in the LSP level by queueing one request per 'pos' in the input. LSP Spec: https://github.com/microsoft/language-server-protocol/blob/dbaeumer/3.15/specification.md#textDocument_selectionRange Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67650
Revision 372105 by jdoerfert:
[Attributor][Fix] Initialize the cache prior to using it

Summary:
There were segfaults as we modified and iterated the instruction maps in
the cache at the same time. This was happening because we created new
instructions while we populated the cache. This fix changes the order
in which we perform these actions. First, the caches for the whole
module are created, then we start to create abstract attributes.

I don't have a unit test but the LLVM test suite exposes this problem.

Reviewers: uenoku, sstefan1

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67232
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/align.ll (diff)llvm.src/test/Transforms/FunctionAttrs/align.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/dereferenceable.ll (diff)llvm.src/test/Transforms/FunctionAttrs/dereferenceable.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/fn_noreturn.ll (diff)llvm.src/test/Transforms/FunctionAttrs/fn_noreturn.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/internal-noalias.ll (diff)llvm.src/test/Transforms/FunctionAttrs/internal-noalias.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/liveness.ll (diff)llvm.src/test/Transforms/FunctionAttrs/liveness.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/noalias_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nofree-attributor.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/noreturn_async.ll (diff)llvm.src/test/Transforms/FunctionAttrs/noreturn_async.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/noreturn_sync.ll (diff)llvm.src/test/Transforms/FunctionAttrs/noreturn_sync.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nosync.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nosync.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nounwind.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nounwind.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/willreturn.ll (diff)llvm.src/test/Transforms/FunctionAttrs/willreturn.ll
Revision 372104 by luismarques:
Revert Patch from Phabricator

This reverts r372092 (git commit e38695a0255c9e7b53639f349f8101bae1ce5c04)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/RISCV/RISCVSubtarget.h (diff)llvm.src/lib/Target/RISCV/RISCVSubtarget.h
The file was modified/llvm/trunk/test/CodeGen/RISCV/add-before-shl.ll (diff)llvm.src/test/CodeGen/RISCV/add-before-shl.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/addc-adde-sube-subc.ll (diff)llvm.src/test/CodeGen/RISCV/addc-adde-sube-subc.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/addcarry.ll (diff)llvm.src/test/CodeGen/RISCV/addcarry.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/alloca.ll (diff)llvm.src/test/CodeGen/RISCV/alloca.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/alu64.ll (diff)llvm.src/test/CodeGen/RISCV/alu64.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/arith-with-overflow.ll (diff)llvm.src/test/CodeGen/RISCV/arith-with-overflow.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/atomic-cmpxchg-flag.ll (diff)llvm.src/test/CodeGen/RISCV/atomic-cmpxchg-flag.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/atomic-cmpxchg.ll (diff)llvm.src/test/CodeGen/RISCV/atomic-cmpxchg.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/atomic-rmw.ll (diff)llvm.src/test/CodeGen/RISCV/atomic-rmw.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/bare-select.ll (diff)llvm.src/test/CodeGen/RISCV/bare-select.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/blockaddress.ll (diff)llvm.src/test/CodeGen/RISCV/blockaddress.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll (diff)llvm.src/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/callee-saved-fpr32s.ll (diff)llvm.src/test/CodeGen/RISCV/callee-saved-fpr32s.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/callee-saved-fpr64s.ll (diff)llvm.src/test/CodeGen/RISCV/callee-saved-fpr64s.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/callee-saved-gprs.ll (diff)llvm.src/test/CodeGen/RISCV/callee-saved-gprs.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-ilp32.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-ilp32.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-ilp32d.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-ilp32d.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-lp64.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-lp64.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll (diff)llvm.src/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/codemodel-lowering.ll (diff)llvm.src/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/compress.ll (diff)llvm.src/test/CodeGen/RISCV/compress.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/div.ll (diff)llvm.src/test/CodeGen/RISCV/div.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-arith.ll (diff)llvm.src/test/CodeGen/RISCV/double-arith.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll (diff)llvm.src/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-br-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/double-br-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-calling-conv.ll (diff)llvm.src/test/CodeGen/RISCV/double-calling-conv.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-convert.ll (diff)llvm.src/test/CodeGen/RISCV/double-convert.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/double-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-imm.ll (diff)llvm.src/test/CodeGen/RISCV/double-imm.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-intrinsics.ll (diff)llvm.src/test/CodeGen/RISCV/double-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-mem.ll (diff)llvm.src/test/CodeGen/RISCV/double-mem.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-previous-failure.ll (diff)llvm.src/test/CodeGen/RISCV/double-previous-failure.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-select-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/double-select-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/double-stack-spill-restore.ll (diff)llvm.src/test/CodeGen/RISCV/double-stack-spill-restore.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-arith.ll (diff)llvm.src/test/CodeGen/RISCV/float-arith.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-br-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/float-br-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-convert.ll (diff)llvm.src/test/CodeGen/RISCV/float-convert.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/float-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-imm.ll (diff)llvm.src/test/CodeGen/RISCV/float-imm.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-intrinsics.ll (diff)llvm.src/test/CodeGen/RISCV/float-intrinsics.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-mem.ll (diff)llvm.src/test/CodeGen/RISCV/float-mem.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/float-select-fcmp.ll (diff)llvm.src/test/CodeGen/RISCV/float-select-fcmp.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/fp128.ll (diff)llvm.src/test/CodeGen/RISCV/fp128.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/frame-info.ll (diff)llvm.src/test/CodeGen/RISCV/frame-info.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/get-setcc-result-type.ll (diff)llvm.src/test/CodeGen/RISCV/get-setcc-result-type.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/hoist-global-addr-base.ll (diff)llvm.src/test/CodeGen/RISCV/hoist-global-addr-base.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/imm-cse.ll (diff)llvm.src/test/CodeGen/RISCV/imm-cse.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/imm.ll (diff)llvm.src/test/CodeGen/RISCV/imm.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/indirectbr.ll (diff)llvm.src/test/CodeGen/RISCV/indirectbr.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll (diff)llvm.src/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll (diff)llvm.src/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/interrupt-attr-nocall.ll (diff)llvm.src/test/CodeGen/RISCV/interrupt-attr-nocall.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/legalize-fneg.ll (diff)llvm.src/test/CodeGen/RISCV/legalize-fneg.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/lsr-legaladdimm.ll (diff)llvm.src/test/CodeGen/RISCV/lsr-legaladdimm.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/mem.ll (diff)llvm.src/test/CodeGen/RISCV/mem.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/mem64.ll (diff)llvm.src/test/CodeGen/RISCV/mem64.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/mul.ll (diff)llvm.src/test/CodeGen/RISCV/mul.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/remat.ll (diff)llvm.src/test/CodeGen/RISCV/remat.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/rv64f-float-convert.ll (diff)llvm.src/test/CodeGen/RISCV/rv64f-float-convert.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/rv64i-complex-float.ll (diff)llvm.src/test/CodeGen/RISCV/rv64i-complex-float.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/rv64i-w-insts-legalization.ll (diff)llvm.src/test/CodeGen/RISCV/rv64i-w-insts-legalization.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/select-optimize-multiple.ll (diff)llvm.src/test/CodeGen/RISCV/select-optimize-multiple.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/setcc-logic.ll (diff)llvm.src/test/CodeGen/RISCV/setcc-logic.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/shifts.ll (diff)llvm.src/test/CodeGen/RISCV/shifts.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/split-offsets.ll (diff)llvm.src/test/CodeGen/RISCV/split-offsets.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll (diff)llvm.src/test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/vararg.ll (diff)llvm.src/test/CodeGen/RISCV/vararg.ll
The file was modified/llvm/trunk/test/CodeGen/RISCV/zext-with-load-is-free.ll (diff)llvm.src/test/CodeGen/RISCV/zext-with-load-is-free.ll
Revision 372103 by rksimon:
[X86] Use APInt::getLowBitsSet helper. NFCI.

Also avoids a static analyzer warning about out of range shifts.
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 372102 by usaxena95:
Add SemanticRanges to Clangd server.

Summary:
Adds Semantic Ranges capabilities to Clangd server.
Also adds tests for running it via clangd server.

This differs from the LSP spec as the spec needs this to be evaluated on multiple 'pos' and the expected output is an list of list of semantic ranges.
This is majorly for multi cursor and assuming this is a rare thing, we don't want to optimize make things complicated just for this.
This should be done in the LSP level by queueing one request per 'pos' in the input.

LSP Spec:
https://github.com/microsoft/language-server-protocol/blob/dbaeumer/3.15/specification.md#textDocument_selectionRange

Reviewers: hokein

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67650
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.cpp (diff)clang-tools-extra.src/clangd/ClangdServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.h (diff)clang-tools-extra.src/clangd/ClangdServer.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/SemanticSelectionTests.cpp (diff)clang-tools-extra.src/clangd/unittests/SemanticSelectionTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SyncAPI.cpp (diff)clang-tools-extra.src/clangd/unittests/SyncAPI.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SyncAPI.h (diff)clang-tools-extra.src/clangd/unittests/SyncAPI.h