SuccessChanges

Summary

  1. [ARM] VBIT/VBIF support added. (details)
  2. [clangd] Always retrieve ProjectInfo from Base in OverlayCDB (details)
  3. Reland "[NFCI] createCFGSimplificationPass(): migrate to also take SimplifyCFGOptions" (details)
  4. Reland "[NFC] SimplifyCFGOptions: drop multi-parameter ctor, use default member-init" (details)
  5. [NFC] SimplifyCFGPass::SimplifyCFGPass(): use default SimplifyCFGOptions - we aren't deviating from them here (details)
  6. [NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling (details)
  7. [clang] Fix printing of lambdas with capture expressions (details)
  8. [yaml2obj] - Fix an issue with NoHeaders key. (details)
  9. Revert "[NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling" (details)
  10. [openmp] libomp: added itt notifications for task, taskwait, taskgroup (details)
  11. [SVE] Add lowering for scalable vector fadd, fdiv, fmul and fsub operations. (details)
  12. [ARM] Add a PreferNoCSEL option. NFC (details)
  13. Reland "[NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling" (details)
Commit b9a6fb64281b6836e565ee39fb0d543bf184fd88 by Pavel.Iliin
[ARM] VBIT/VBIF support added.

Vector bitwise selects are matched by pseudo VBSP instruction
and expanded to VBSL/VBIT/VBIF after register allocation
depend on operands registers to minimize extra copies.
The file was modifiedllvm/test/CodeGen/ARM/vbsl.ll
The file was modifiedllvm/lib/Target/ARM/ARMScheduleSwift.td
The file was modifiedllvm/test/MC/ARM/neon-bitwise-encoding.s
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/MC/Disassembler/ARM/neon-tests.txt
The file was modifiedllvm/test/MC/Disassembler/ARM/neon.txt
The file was modifiedllvm/test/CodeGen/Thumb2/float-intrinsics-double.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMScheduleR52.td
The file was modifiedllvm/test/CodeGen/ARM/vbsl-constant.ll
The file was modifiedllvm/test/CodeGen/Thumb2/float-intrinsics-float.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/fcopysign.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
The file was modifiedllvm/lib/Target/ARM/ARMScheduleA57.td
The file was modifiedllvm/test/MC/Disassembler/ARM/neont2.txt
The file was modifiedllvm/test/CodeGen/ARM/fp16-promote.ll
The file was modifiedllvm/test/CodeGen/ARM/vselect_imax.ll
The file was modifiedllvm/test/MC/ARM/neont2-bitwise-encoding.s
Commit 46c921003c2ce5f1cdc4de9ef613eb001980780c by kadircet
[clangd] Always retrieve ProjectInfo from Base in OverlayCDB

Summary:
Clangd is returning current working directory for overriden commands.
This can cause inconsistencies between:
- header and the main files, as OverlayCDB only contains entries for the main
  files it direct any queries for the headers to the base, creating a
  discrepancy between the two.
- different clangd instances, as the results will be different depending on the
  timing of execution of the query and override of the command. hence clangd
  might see two different project infos for the same file between different
  invocations.
- editors and the way user has invoked it, as current working directory of
  clangd will depend on those, hence even when there's no underlying base CWD
  might change depending on the editor, or the directory user has started the
  editor in.

This patch gets rid of that discrepency by always directing queries to base or
returning llvm::None in absence of it.

For a sample bug see https://reviews.llvm.org/D83099#2154185.

Reviewers: sammccall

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83934
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.h
Commit fb432a51f430e3f2324c6a180bdbaa3627e0a0c8 by lebedev.ri
Reland "[NFCI] createCFGSimplificationPass(): migrate to also take SimplifyCFGOptions"

This reverts commit 1067d3e176ea7b0b1942c163bf8c6c90107768c1,
which reverted commit b2018198c32a0535bb1f5bb5b40fbcf50d8d47b7,
because it introduced a Dependency Cycle between Transforms/Scalar and
Transforms/Utils.

So let's just move SimplifyCFGOptions.h into Utils/, thus avoiding
the cycle.
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/SimplifyCFG.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
Commit 4028409d77f9ea77cec115104409cca605841728 by lebedev.ri
Reland "[NFC] SimplifyCFGOptions: drop multi-parameter ctor, use default member-init"

This reverts commit 5831e86190966d58385678eb74b26aefacbfd101,
which reverted commit 90c1b0442a031d6cad686fdc4e5d3db03c3603a6
in preparation for reverting
commit b2018198c32a0535bb1f5bb5b40fbcf50d8d47b7 in
commit 1067d3e176ea7b0b1942c163bf8c6c90107768c1 due to the introducton
of a dependency cycle.

Now that the other revert is reverted with a fix, this can be relanded.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
Commit b2dda33034934ead00ff8601ce5df487b0e760e9 by lebedev.ri
[NFC] SimplifyCFGPass::SimplifyCFGPass(): use default SimplifyCFGOptions - we aren't deviating from them here
The file was modifiedllvm/include/llvm/Transforms/Scalar/SimplifyCFG.h
Commit 740a1da108ab9097268b509c85ed9ede7f4d5df5 by lebedev.ri
[NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit a130cf8ae8ab56ba1cfa7edc52b637c9d0c3fd38 by kadircet
[clang] Fix printing of lambdas with capture expressions

Patch by @walrus !

Reviewers: lattner, kadircet

Reviewed By: kadircet

Subscribers: riccibruno, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83855
The file was modifiedclang/test/AST/ast-printer-lambda.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
Commit ed605b7b96b93a4418ec124552654785574e9f71 by grimar
[yaml2obj] - Fix an issue with NoHeaders key.

When setting the NoHeaders to false,
the e_shnum field wasn't set correctly.

This patch fixes this bug.

Differential revision: https://reviews.llvm.org/D83941
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
Commit ff2f5c3e58a9dfcea19eddeb8894284838df0379 by lebedev.ri
Revert "[NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling"

Seems to be breaking the bots.
This reverts commit 740a1da108ab9097268b509c85ed9ede7f4d5df5.
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit ffd8f009311965cfaa75594f98da351350ea0df4 by Andrey.Churbanov
[openmp] libomp: added itt notifications for task, taskwait, taskgroup

Add releasing->acquire edges for child task->taskwait and
child task->end of taskgroup.

Differential Revision: https://reviews.llvm.org/D83804
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 509351d7689c518f1c2ae8975e704a5324c39ff8 by paul.walker
[SVE] Add lowering for scalable vector fadd, fdiv, fmul and fsub operations.

Lower the operations to predicated variants.  This is prep work
required for fixed length code generation but also fixes a bug
whereby these operations fail selection when "unpacked" vector
types (e.g. MVT::nxv2f32) are used.

This patch also adds the missing "unpacked" patterns for FMA.

Differential Revision: https://reviews.llvm.org/D83765
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit 7bbde17e62aafa487dbcb170ca07d0aed4833adc by david.green
[ARM] Add a PreferNoCSEL option. NFC

This disables CSEL, falling back to the old predicated move behaviour
for cases where that is useful for debugging.
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
Commit 30f6c08ba3ba98921768073bf349cfcc8096ed6c by lebedev.ri
Reland "[NFC] SimplifyCFG: refactor/deduplicate command-line settings override handling"

Initially i forgot to stage the SimplifyCFGPass::SimplifyCFGPass() change
to actually take the passed params..
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp