FailedChanges

Summary

  1. [lldb] Fix NSDate test after Scalar change (details)
  2. [CodeGen] Fix up warnings in visitEXTRACT_SUBVECTOR (details)
  3. Implement AVX ABI Warning/error (details)
  4. [cmake][Windows] Add libpath to CMAKE_MODULE_LINKER_FLAGS too (details)
  5. [Alignment][NFC] Migrate TargetTransformInfo::CreateVariableSizedObject to Align (details)
  6. [Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment (details)
  7. [Alignment] TargetLowering::hasPairedLoad must use Align for RequiredAlignment (details)
  8. Limit x86 test to require target to fix buildbot (from 2831a317b) (details)
  9. [RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2 (details)
  10. [clangd] Fix race in FileIndex that sometimes temporarily lost updates. (details)
  11. [VE] Support symbol with offset value (details)
  12. [lldb] Attempt to fix TestLimitDebugInfo on windows (details)
  13. Revert "[RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2" (details)
  14. [lldb] Replace StringConvert with llvm::to_integer when parsing integer values in CommandObjects (details)
  15. [RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2 (details)
  16. [RISCV] Add mcountinhibit CSR (details)
Commit f3b5bf3eb7029238cead637be2e285b443b2e141 by Raphael Isemann
[lldb] Fix NSDate test after Scalar change

The formatter was requesting an unsigned integer from the ValueObject,
but CFAbsoluteTime is a signed double, so in the NSDate test the formatter
actually just printed the 'error value' date which is the Cocoa epoch. This
started failing after the recent Scalar changes.

This patch just changes the logic to use a signed value which fits to the data
we try to read and avoids this issue.
The file was modifiedlldb/source/Plugins/Language/ObjC/CF.cpp
Commit 97a7a9abb25d86fd831b403a1d13de6d62e7a8b5 by david.sherwood
[CodeGen] Fix up warnings in visitEXTRACT_SUBVECTOR

It's perfectly valid to do certain DAG combines where we extract
subvectors from a concat vector when we have scalable vector types.
However, we can do this in a way that avoids generating compiler
warnings by replacing calls to getVectorNumElements() with
getVectorMinNumElements(). Due to the way subvector extracts are
designed to work with scalable vector types this is ok.

This eliminates some warnings from existing tests in this file:

  llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll

Differential Revision: https://reviews.llvm.org/D82655
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 2831a317b689c7f005a29f008a8e4c24485c0711 by erich.keane
Implement AVX ABI Warning/error

The x86-64 "avx" feature changes how >128 bit vector types are passed,
instead of being passed in separate 128 bit registers, they can be
passed in 256 bit registers.

"avx512f" does the same thing, except it switches from 256 bit registers
to 512 bit registers.

The result of both of these is an ABI incompatibility between functions
compiled with and without these features.

This patch implements a warning/error pair upon an attempt to call a
function that would run afoul of this. First, if a function is called
that would have its ABI changed, we issue a warning.

Second, if said call is made in a situation where the caller and callee
are known to have different calling conventions (such as the case of
'target'), we instead issue an error.

Differential Revision: https://reviews.llvm.org/D82562
The file was addedclang/test/CodeGen/target-avx-abi-diag.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.h
The file was modifiedclang/test/CodeGen/target-builtin-noerror.c
The file was modifiedclang/test/CodeGen/target-builtin-error-3.c
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 63eddb679ad0bbb49cc9a3ff7f9f063c5ba16833 by rojamd
[cmake][Windows] Add libpath to CMAKE_MODULE_LINKER_FLAGS too

Followup to b8000c0ce845, the library path needs to go in
CMAKE_MODULE_LINKER_FLAGS too, for the sake of a few files
like LLVMHello.dll.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D82888
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 27bbc8ede127fb1ea8b6a853a5d2fe70f206408b by gchatelet
[Alignment][NFC] Migrate TargetTransformInfo::CreateVariableSizedObject to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82939
The file was modifiedllvm/include/llvm/CodeGen/MachineFrameInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Commit d3085c25012aceef3755abf9921a0368c64f40c6 by gchatelet
[Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82956
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Target.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMCallLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/LowerEmuTLS.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/lib/IR/DataLayout.cpp
Commit ef36f5143d83897cc6f59ff918769d29ad5a0612 by gchatelet
[Alignment] TargetLowering::hasPairedLoad must use Align for RequiredAlignment

As per documentation of `hasPairLoad`:
"`RequiredAlignment` gives the minimal alignment constraints that must be met to be able to select this paired load."
In this sense, `0` is strictly equivalent to `1`. We make this obvious by using `Align` instead of unsigned.
There is only one implementor of this interface.

Differential Revision: https://reviews.llvm.org/D82958
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 19c35526d98699db6917cf2a6f0dd3fe7da68926 by erich.keane
Limit x86 test to require target to fix buildbot (from 2831a317b)

The modification of the features apparently requires the backend to be
instantiated, so make sure this is required to fix the ARM build bots.
The file was modifiedclang/test/CodeGen/target-avx-abi-diag.c
Commit 05a20a9e9aba301a828bcbd72b0ed724755752d1 by luismarques
[RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2

The pass to split atomic and non-atomic RISC-V pseudo-instructions was itself
split into two passes in D79635 / commit rG2cb0644f90b7, with the splitting of
non-atomic instructions being moved to the PreSched2 phase. A comment was
added to D79635 detailing a case where this caused problems, so this commit
moves the non-atomic split pass back to the PreEmitPass2 phase. This allows
the bulk of the changes from D79635 to remain committed, while addressing the
the reported problem (the pass split is now almost NFC). Once the root problem
is fixed we can move the (non-atomic) instruction splitting pass back to
earlier in the pipeline.
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Commit c5263a4e84cc7fb7135a7e9e0cf000af264b72c5 by sam.mccall
[clangd] Fix race in FileIndex that sometimes temporarily lost updates.

Summary:
FileIndex was built out of threadsafe components, so update() didn't have data
races, but wasn't actually correct.

Reviewers: kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82891
The file was modifiedclang-tools-extra/clangd/index/Symbol.h
The file was modifiedclang-tools-extra/clangd/unittests/FileIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/index/FileIndex.cpp
The file was modifiedclang-tools-extra/clangd/index/FileIndex.h
Commit 195205589208934b8c3b64dd84ccb355729b5b67 by marukawa
[VE] Support symbol with offset value

Summary: Support symbol with offset value as a VEMCExpr.

Reviewers: simoll, k-ishizaka

Reviewed By: simoll

Subscribers: hiraditya, llvm-commits

Tags: #llvm, #ve

Differential Revision: https://reviews.llvm.org/D82734
The file was addedllvm/test/CodeGen/VE/load_off.ll
The file was modifiedllvm/lib/Target/VE/VEMCInstLower.cpp
Commit 1276855f2b4485ec312b379c1b8eaf5510d9b157 by pavel
[lldb] Attempt to fix TestLimitDebugInfo on windows

The test fails due to link errors. I believe this change should fix
that.
The file was modifiedlldb/test/API/functionalities/limit-debug-info/Makefile
The file was modifiedlldb/test/API/functionalities/limit-debug-info/onetwo.h
Commit a61fa1a4b9d247e34ea5541422f7040a37baf6e7 by luismarques
Revert "[RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2"

This reverts commit 05a20a9e9aba301a828bcbd72b0ed724755752d1.
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Commit 9010cef2af0affdef774a721f6adb52a40041da5 by Raphael Isemann
[lldb] Replace StringConvert with llvm::to_integer when parsing integer values in CommandObjects

Summary:

This replaces the current use of LLDB's own `StringConvert` with LLVM's
`to_integer` which has a less error-prone API and doesn't use special 'error
values' to designate parsing problems.

Where needed I also added missing error handling code that prints a parsing
error instead of continuing with the error value returned from `StringConvert`
(which either gave a cryptic error message or just took the error value
performed an incorrect action with it. For example, `frame recognizer delete -1`
just deleted the frame recognizer at index 0).

Reviewers: #lldb, labath

Reviewed By: labath

Subscribers: labath, abidh, JDevlieghere

Differential Revision: https://reviews.llvm.org/D82297
The file was addedlldb/test/API/commands/target/stop-hook/enable/TestTargetStopHookEnable.py
The file was modifiedlldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was addedlldb/test/API/commands/thread/select/TestThreadSelect.py
The file was addedlldb/test/API/commands/target/select/TestTargetSelect.py
The file was addedlldb/test/API/commands/process/signal/main.cpp
The file was addedlldb/test/API/commands/target/stop-hook/delete/TestTargetStopHookDelete.py
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was addedlldb/test/API/commands/platform/file/read/TestPlatformFileRead.py
The file was addedlldb/test/API/commands/process/signal/Makefile
The file was addedlldb/test/API/commands/process/signal/TestProcessSignal.py
The file was addedlldb/test/API/commands/target/modules/search-paths/insert/Makefile
The file was addedlldb/test/API/commands/target/modules/search-paths/insert/main.cpp
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was addedlldb/test/API/commands/platform/file/close/TestPlatformFileClose.py
The file was addedlldb/test/API/commands/thread/select/Makefile
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was addedlldb/test/API/commands/thread/select/main.cpp
The file was addedlldb/test/API/commands/target/stop-hook/disable/TestTargetStopHookDisable.py
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was addedlldb/test/API/commands/target/modules/search-paths/insert/TestTargetModulesSearchpathsInsert.py
Commit b2aa546b0747418b0784b291b9104a4e3bf1e0c9 by luismarques
[RISCV] Temporarily move riscv-expand-pseudo pass to PreEmitPass2

The pass to split atomic and non-atomic RISC-V pseudo-instructions was itself
split into two passes in D79635 / commit rG2cb0644f90b7, with the splitting of
non-atomic instructions being moved to the PreSched2 phase. A comment was
added to D79635 detailing a case where this caused problems, so this commit
moves the non-atomic split pass back to the PreEmitPass2 phase. This allows
the bulk of the changes from D79635 to remain committed, while addressing the
the reported problem (the pass split is now almost NFC). Once the root problem
is fixed we can move the (non-atomic) instruction splitting pass back to
earlier in the pipeline.
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
Commit d36f2c6a6c4bb3c1cd213f3ed08a7a090fee54d2 by pzheng
[RISCV] Add mcountinhibit CSR

Summary:
The mcountinhibit CSR is defined in the ratified 1.11 version of the privileged
spec.

Reviewers: apazos, asb, lenary, luismarques

Reviewed By: asb

Subscribers: hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, sameer.abuasal, evandro, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82913
The file was modifiedllvm/test/MC/RISCV/machine-csr-names.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSystemOperands.td