SuccessChanges

Summary

  1. [GlobalISel] Add G_ASSERT_SEXT (details)
  2. [SystemZ] Separate LoZ ELF specifics in tablegen. (details)
  3. [flang] Warn about useless explicit typing of intrinsics (details)
  4. [OpenMP][NFC] replaced 'dependencies' with 'dependences' in comments and debug prints (details)
  5. [Driver] Clean up some Separate form options (details)
  6. [GlobalISel] Implement computeNumSignBits for G_ASSERT_SEXT (details)
  7. [GlobalISel] Implement computeKnownBits for G_ASSERT_SEXT (details)
  8. [libc++abi] Add builtins to dynamic library link (details)
  9. [MLIR][TOSA] Expand Tosa int types to I8 and I16 (details)
  10. [libomptarget][amdgcn] Remove lookup of .language msgpack field (details)
  11. [OpenMP] fix race condition in test (details)
  12. [gold] Match lld WPD behavior for shared library symbols and add test (details)
  13. [SampleFDO] Third Try: Refactor SampleProfile.cpp (details)
Commit 60aa64644168a85009985f5d1a2e0b8b4a862b62 by Jessica Paquette
[GlobalISel] Add G_ASSERT_SEXT

This adds a G_ASSERT_SEXT opcode, similar to G_ASSERT_ZEXT. This instruction
signifies that an operation was already sign extended from a smaller type.

This is useful for functions with sign-extended parameters.

E.g.

```
define void @foo(i16 signext %x) {
...
}
```

This adds verifier, regbankselect, and instruction selection support for
G_ASSERT_SEXT equivalent to G_ASSERT_ZEXT.

Differential Revision: https://reviews.llvm.org/D96890
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-sext.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was addedllvm/test/MachineVerifier/test_g_assert_sext.mir
The file was addedllvm/test/MachineVerifier/test_g_assert_sext_register_bank_class.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
Commit 8b624a316491f2be114e0a9507dc4ac7a22d016a by kai
[SystemZ] Separate LoZ ELF specifics in tablegen.

Separate the LoZ ELF calling convention in tablegen.
This will make it easier to add the z/OS ABI in future patches.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D96867
The file was modifiedllvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
The file was modifiedllvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
The file was modifiedllvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-regalloc-hints-02.mir
The file was modifiedllvm/test/CodeGen/SystemZ/multiselect-02.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-04.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.td
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-regalloc-hints.mir
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-08.mir
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-56.mir
Commit b82a8c3f231ebdd28f2b3b37142481eec3f43288 by pklausler
[flang] Warn about useless explicit typing of intrinsics

Fortran 2018 explicitly permits an ignored type declaration
for the result of a generic intrinsic function.  See the comment
added to Semantics/expression.cpp for an explanation of why this
is somewhat dangerous and worthy of a warning.

Differential Revision: https://reviews.llvm.org/D96879
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/symbol18.f90
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was addedflang/test/Semantics/badly-typed-intrinsic.f90
Commit cf1ddae7e3ef58d3d19327d81db4e4244255f8ed by Andrey.Churbanov
[OpenMP][NFC] replaced 'dependencies' with 'dependences' in comments and debug prints
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
Commit 0c2bb6b446c584ab8a8b1231a136f657fa070e47 by i
[Driver] Clean up some Separate form options

Drop the `Separate` form of `-fmodule-name X`, `-fprofile-remapping-file X`, and `-frewrite-map-file X`.
To the best of my knowledge they are not used. Their conventional Joined forms (`-fFOO=`) should be used instead.

`-fdebug-compilation-dir X` is used in several places, e.g.  chromium/infra/goma.
It is also advertised in http://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html
So we keep it but make the EQ form canonical and the Separate form an alias.

Differential Revision: https://reviews.llvm.org/D96886
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was removedclang/test/Driver/debug.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/debug-comp-dir.S
The file was modifiedclang/test/Driver/working-directory.c
The file was modifiedclang/test/Driver/symbol-rewriter.c
The file was modifiedclang/test/Driver/rewrite-map-files.c
The file was modifiedclang/test/Driver/rewrite-map-in-diagnostics.c
Commit 26fb036559d05b601a585c751177d6ec367fb65b by Jessica Paquette
[GlobalISel] Implement computeNumSignBits for G_ASSERT_SEXT

Same implementation as G_SEXT_INREG.

Add a testcase to combine-sext-inreg for a concrete example, and a testcase
to KnownBitsTest.

Differential Revision: https://reviews.llvm.org/D96897
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-inreg.mir
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit e6064a6418f31d7140de97a99e9df25aeef66811 by Jessica Paquette
[GlobalISel] Implement computeKnownBits for G_ASSERT_SEXT

Implementation is the same as G_SEXT_INREG.

Differential Revision: https://reviews.llvm.org/D96899
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 26a0aeba61717d096e5422deff02331d93d4b00a by Louis Dionne
[libc++abi] Add builtins to dynamic library link

Otherwise libc++abi.so fails to link on arm with undefined references to
some __aeabi_ builtins.

Differential Revision: https://reviews.llvm.org/D96574
The file was modifiedlibcxxabi/src/CMakeLists.txt
Commit 55756f32f735980ca08bbff70b5a2d2e5df16b81 by rob.suderman
[MLIR][TOSA] Expand Tosa int types to I8 and I16

Tosa integers should include I8 and I16 values.

Differential Revision: https://reviews.llvm.org/D96900
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
Commit 53d7fd37627a919e4471795a6f4709725053948a by jonathanchesterfield
[libomptarget][amdgcn] Remove lookup of .language msgpack field
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
Commit dab5d6c2ebcc9c9deec9febfe95d32442c2ae130 by Andrey.Churbanov
[OpenMP] fix race condition in test
The file was modifiedopenmp/runtime/test/tasking/omp_task_red_taskloop.c
Commit 50ac3b1d780fd385d50589641bfc91b95cd2d12f by tejohnson
[gold] Match lld WPD behavior for shared library symbols and add test

lld already marks shared library defs as ExportDynamic, which prevents
potentially unsafe devirtualization of symbols defined in shared
libraries. Match that behavior in the gold plugin, and add the same
test.

Depends on D96721.

Differential Revision: https://reviews.llvm.org/D96722
The file was addedllvm/test/tools/gold/X86/Inputs/devirt_vcall_vis_shared_def.ll
The file was modifiedllvm/tools/gold/gold-plugin.cpp
The file was addedllvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
Commit 7397905ab0a081afe14f2a342082accc0bbb8695 by xur
[SampleFDO] Third Try: Refactor SampleProfile.cpp

Apply the patch for the third time after fixing buildbot failures.

Refactor SampleProfile.cpp to use the core code in CodeGen.
The main changes are:
(1) Move SampleProfileLoaderBaseImpl class to a header file.
(2) Split SampleCoverageTracker to a head file and a cpp file.
(3) Move the common codes (common options and callsiteIsHot())
to the common cpp file.
(4) Add inline keyword to avoid duplicated symbols -- they will
be removed later when the class is changed to a template.

Differential Revision: https://reviews.llvm.org/D96455
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was addedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was addedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
The file was addedllvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp