SuccessChanges

Summary

  1. [RISCV] Implement vlsegff intrinsics. (details)
  2. [RISCV] Update V extension to v1.0-draft 08a0b464. (details)
  3. [OpenMP][FIX] Enforce a function boundary for a new data environment (details)
  4. [OpenMP] Add source location information to the libomptarget profile (details)
  5. [mlir][Python] Fix comments of 'getCapsule' and 'createFromCapsule' (details)
  6. [Object][WebAssembly] Update format of error messages (details)
  7. Revert "[WebAssembly] MC layer writes table symbols to object files" (details)
  8. Add vp2intersect to AVX512 dialect. (details)
  9. [clang][cli] NFC: Simplify BoolOption API (details)
  10. [RISCV] Define different pseudo instructions for different FPR. (details)
  11. [clang][cli] Store LangStandard::Kind in LangOptions (details)
  12. [clang][cli] Port GNU language options to marshalling system (details)
  13. [clang][cli] Accept strings instead of options in ImpliedByAnyOf (details)
  14. [clangd] Fix filename completion at the end of file (details)
  15. [NFC] Refine some uninitialized used variables. (details)
  16. [RISCV] Adjust RISCVInstrInfoVSDPatterns.td for different pseudo instructions for different FPR. (details)
  17. [libObject,llvm-readelf/obj] - Don't use @@ when printing versions of undefined symbols. (details)
  18. [clangd] Add include-fixer fixit for no_member_template diagnostic. (details)
  19. [llvm-nm][ELF] - Use @@ prefix when printing default versions. (details)
  20. [yaml2obj] - Refine how we set the sh_link field. NFCI. (details)
Commit b69932b550acf565e11c9d4effae24a444ad7ca5 by kai.wang
[RISCV] Implement vlsegff intrinsics.

Differential Revision: https://reviews.llvm.org/D95303
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv64.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll
Commit f19849a07b6728a5100dde3baf8c2bd3bb5e0d6e by kai.wang
[RISCV] Update V extension to v1.0-draft 08a0b464.

Differential Revision: https://reviews.llvm.org/D94583
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s (diff)
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp (diff)
The file was modifiedclang/test/Preprocessor/riscv-target-features.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll (diff)
The file was modifiedclang/test/Driver/riscv-arch.c (diff)
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp (diff)
Commit bd756286d2e774716a12f55db27d070595058d53 by johannes
[OpenMP][FIX] Enforce a function boundary for a new data environment

Whenever we enter a new OpenMP data environment we want to enter a
function to simplify reasoning. Later we probably want to remove the
entire specialization wrt. the if clause and pass the result to the
runtime, for now this should fix PR48686.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D94315
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp (diff)
Commit 8c7fdc4c61bff94a3ac1bb4877d1c00e01ee53be by johannes
[OpenMP] Add source location information to the libomptarget profile

In much of the libomptarget interface we have an ident_t object now, if
it is not null we can use it to improve the profile output. For now, we
simply use the ident_t "source information string" as generated by the
FE.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D95282
The file was modifiedopenmp/libomptarget/src/omptarget.cpp (diff)
The file was modifiedopenmp/libomptarget/src/rtl.cpp (diff)
The file was modifiedopenmp/libomptarget/src/private.h (diff)
The file was modifiedopenmp/libomptarget/include/SourceInfo.h (diff)
The file was modifiedopenmp/libomptarget/src/interface.cpp (diff)
Commit a2914e0c158cc7f72cd08c92274a315dd640e073 by zhanghb97
[mlir][Python] Fix comments of 'getCapsule' and 'createFromCapsule'

The `getCapsule` and `createFromCapsule` comments incorrectly state the `PyMlirContext` and `MlirContext` in `PyLocation`, `PyAttribute`, and `PyType` classes.

Differential Revision: https://reviews.llvm.org/D95413
The file was modifiedmlir/lib/Bindings/Python/IRModules.h (diff)
Commit 84c6f325840d363c6f3de2091771065234ce4146 by sbc
[Object][WebAssembly] Update format of error messages

Error message should start with lowercase in accordance with
https://llvm.org/docs/CodingStandards.html#error-and-warning-messages

Differential Revision: https://reviews.llvm.org/D95239
The file was modifiedllvm/test/ObjectYAML/wasm/invalid_export.yaml (diff)
The file was modifiedllvm/test/tools/llvm-readobj/wasm/wasm-invalid.test (diff)
The file was modifiedllvm/test/Object/wasm-bad-metadata-version.yaml (diff)
The file was modifiedllvm/test/ObjectYAML/wasm/producers_section_repeat.yaml (diff)
The file was modifiedllvm/test/Object/wasm-missing-version.test (diff)
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp (diff)
The file was modifiedllvm/test/Object/wasm-bad-symbol-type.test (diff)
The file was modifiedllvm/test/Object/wasm-invalid-file.yaml (diff)
The file was modifiedlld/test/wasm/corrupted.wasm.test (diff)
The file was modifiedllvm/test/Object/wasm-duplicate-name.test (diff)
The file was modifiedllvm/test/Object/wasm-bad-reloc-type.test (diff)
The file was modifiedllvm/test/Object/wasm-invalid-section-order.test (diff)
The file was modifiedllvm/test/tools/llvm-objdump/wasm/wasm-corrupt-section.test (diff)
The file was modifiedllvm/test/ObjectYAML/wasm/header_invalid_version.yaml (diff)
The file was modifiedllvm/test/Object/wasm-invalid-start.test (diff)
Commit d705c2fbd48708caa68d1a035b5f31660b375115 by sbc
Revert "[WebAssembly] MC layer writes table symbols to object files"

This reverts commit d806618636f8a82bfc3f620e1fad83af4d2a2575.
Review: https://reviews.llvm.org/D92215

We had issues where older versions of wasm-ld were crashing on object
files containing a table symbol.  We decided that the best strategy
going forward is to only generate these symbol if refernece types is
enabled.  Without reference types enabled we should never geneate a
table symbol or a TABLE_NUMBER relocation.

This revert is in addition to the one already reverted in
https://reviews.llvm.org/D95005.

The plan is to re-land these in updated form after the llvm 12 branch.

Differential Revision: https://reviews.llvm.org/D95420
The file was modifiedllvm/test/MC/WebAssembly/reloc-pic.s (diff)
The file was modifiedllvm/test/MC/WebAssembly/type-index.s (diff)
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp (diff)
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll (diff)
The file was modifiedllvm/test/MC/WebAssembly/global-ctor-dtor.ll (diff)
The file was modifiedllvm/test/MC/WebAssembly/weak-alias.s (diff)
The file was modifiedllvm/test/MC/WebAssembly/function-alias.ll (diff)
The file was modifiedllvm/test/MC/WebAssembly/debug-info64.ll (diff)
Commit 90ebc489ded3eb7568c719e06916dd7945e30bec by nicolas.vasilache
Add vp2intersect to AVX512 dialect.

Adds vp2intersect to the AVX512 dialect and defines a lowering to the
LLVM dialect.

Author: Matthias Springer <springerm@google.com>

Differential Revision: https://reviews.llvm.org/D95301
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512Dialect.h (diff)
The file was modifiedmlir/test/Dialect/AVX512/roundtrip.mlir (diff)
The file was modifiedmlir/test/Target/avx512.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512.td (diff)
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMAVX512.td (diff)
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp (diff)
The file was modifiedmlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir (diff)
Commit b61639985e216e75727f623174ec32a2a7cf40e3 by Jan Svoboda
[clang][cli] NFC: Simplify BoolOption API

The `Bool{,F,G}Option` TableGen classes were designed after `Opt{In,Out}FFlag`, which put marshalling info on only one of the boolean options. To encode which record is supposed to carry the marshalling info (and be visible on -cc1 command-line), we used the `ChangedBy` and `ResetBy` classes.

However, we need to put marshalling info on both records anyways (see D93008 for details). This means we don't really need the distinction between `ChangedBy/ResetBy + BoolOption` and `FlagDef + BoolOptionBase` anymore.

This patch reduces the number of ways one can encode the marshalling information for pairs of boolean flags. Regardless of whether the key path value defaults to a statically known boolean, or a result of an expression, one can always use the new `BoolOption` and `PosFlag<SetTrue>, NegFlag<SetFalse>` syntax.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95340
The file was modifiedclang/include/clang/Driver/Options.td (diff)
Commit e72b22a40b09f533cbcf2517800692ce0fddff7e by kai.wang
[RISCV] Define different pseudo instructions for different FPR.

When spilling, the spill size will depend on the size of register class.
For .vf vector instructions, it may spill the floating point scalar
argument. In order to use the correct load/store instructions for
spilling, we need to provide the correct floating point register class
for the .vf vector pseudo instructions.

In this commit, we define the .vf pseudo instructions as three
different kinds of pseudo instructions for half/float/double. For
example, PseudoVFADD_M1 will become as PseudoVFADD_F16_M1,
PseudoVFADD_F32_M1, and PseudoVFADD_F64_M1.

Differential Revision: https://reviews.llvm.org/D95234
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.s.f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.s.f-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.f.s.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.v.f-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.v.f-rv32.ll (diff)
Commit 2154cffdc2a6fc9bc7fc75064dc875fa9bf18190 by Jan Svoboda
[clang][cli] Store LangStandard::Kind in LangOptions

The `LangStandard::Kind` parsed from command line arguments is used to set up some `LangOption` defaults, but isn't stored anywhere.

To be able to generate `-std=` (in future patch), we need `CompilerInvocation` to not forget it.

This patch demonstrates another use-case: using `LangStd` to set up defaults of marshalled options.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95342
The file was modifiedclang/include/clang/Basic/LangOptions.h (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Basic/LangOptions.cpp (diff)
The file was modifiedclang/unittests/Frontend/CompilerInvocationTest.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
Commit 956d8e02e8a55fb5fd289c7af37dbfc73535e7a7 by Jan Svoboda
[clang][cli] Port GNU language options to marshalling system

Port some GNU-related language options to the marshalling system for automatic command line parsing and generation.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95343
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
Commit 9338f3a586bcebc6843ff7fe745f311d7ddf4908 by Jan Svoboda
[clang][cli] Accept strings instead of options in ImpliedByAnyOf

To be able to refer to constant keypaths (e.g. `defvar cplusplus = LangOpts<"CPlusPlus">`) inside `ImpliedByAnyOf`, let's accept strings instead of `Option` instances.

This somewhat weakens the guarantees that we're referring to an existing (option) record, but we can still use the option.KeyPath syntax to simulate this.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95344
The file was modifiedllvm/unittests/Option/Opts.td (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedllvm/include/llvm/Option/OptParser.td (diff)
Commit 64cdba65bbfa153754dbb7b7ee9a1ad5e2dc4e6c by kadircet
[clangd] Fix filename completion at the end of file

Fixes https://github.com/clangd/clangd/issues/433

Differential Revision: https://reviews.llvm.org/D95419
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp (diff)
Commit b3b0acdc6fb5d52c9831c742560fbacca1567298 by freddy.ye
[NFC] Refine some uninitialized used variables.

These warning are reported by static code analysis tool: Klocwork

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D95421
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit bfc60acd98036925f8314691c6d13ef921f8188e by craig.topper
[RISCV] Adjust RISCVInstrInfoVSDPatterns.td for different pseudo instructions for different FPR.

Move the Suffix string into the VTypeInfo class so we don't need a helper class to get to it.

Adjust pseudo naming scheme for FPRs to put F16/F32/F64 in
place of F in the pseudo instruction name rather than as a suffix.
This avoids special cases like VFMERGE from the original patch.

Differential Revision: https://reviews.llvm.org/D95404
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/setcc-fp-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/setcc-fp-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv32.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/insertelt-fp-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv64.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/insertelt-fp-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll (diff)
Commit e98d5c31925df278d98cebff599d5e3f34bd86be by grimar
[libObject,llvm-readelf/obj] - Don't use @@ when printing versions of undefined symbols.

A default version (@@) is only available for defined symbols.

Currently we use "@@" for undefined symbols too.
This patch fixes the issue and improves our test case.

Differential revision: https://reviews.llvm.org/D95219
The file was modifiedlld/test/ELF/partition-synthetic-sections.s (diff)
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp (diff)
The file was modifiedllvm/include/llvm/Object/ELF.h (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/versioninfo.test (diff)
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols.test (diff)
Commit 68dbd1aefe5a5ae6bb59009f497ead130385d964 by hokein.wu
[clangd] Add include-fixer fixit for no_member_template diagnostic.

Differential Revision: https://reviews.llvm.org/D95365
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp (diff)
Commit db92d47cf70ebc846f7fac3bb52e281076421def by grimar
[llvm-nm][ELF] - Use @@ prefix when printing default versions.

llvm-readelf prints default versions with `@@` prefix.
This patch does the same for llvm-nm.

Differential revision: https://reviews.llvm.org/D94912
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp (diff)
The file was modifiedllvm/test/tools/llvm-nm/dynamic.test (diff)
Commit 029644ee510792120f1c0daf32989b401d4ce871 by grimar
[yaml2obj] - Refine how we set the sh_link field. NFCI.

This refactors the logic that sets the `sh_link` field.
With this patch we set it in a single place for all sections.

Differential revision: https://reviews.llvm.org/D95354
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp (diff)