SuccessChanges

Summary

  1. [yaml2obj] - Add a support for "<none>" value for all optional fields. (details)
  2. Add document outline symbols from unnamed contexts, e.g. extern "C". (details)
  3. [llvm-readobj] - Don't call `unwrapOrErr` in `findSectionByName`. (details)
  4. [clang][Tooling] Fix addTargetAndModeForProgramName to use correct flag names (details)
  5. [asan][tsan] Mark tests failing with debug checks as XFAIL (details)
  6. [msan] Compile the libatomic.c test with a C compiler (details)
  7. Execute llvm-lit with the python found by CMake by default (details)
  8. [cmake] Make MSVC generate appropriate __cplusplus macro definition (details)
  9. [lldb/Process/Windows] Attempting to kill exited/detached process in not an error (details)
  10. Fix update_cc_test_checks.py --llvm-bin after D78478 (details)
  11. [llvm-readobj] - Massive test cases cleanup. (details)
  12. [llvm-readobj] - Don't stop dumping when the name of a relocation section can't be read. (details)
  13. [clang][Tooling] Optimize addTargetAndMode in case of invalid modes (details)
  14. [analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones (details)
  15. [analyzer] Introduce minor refactoring of SVal::getSubKind function (details)
  16. [clangd] Support new/deleta operator in TargetFinder. (details)
  17. [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz (details)
  18. [clang][ARM] Add name-mangling test for direct __fp16 arguments. (details)
  19. [InstCombine] add tests for xor-of-ors; NFC (details)
  20. [InstCombine] reduce xor-of-or's bitwise logic (PR46955) (details)
  21. AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext (details)
  22. [X86][SSE] Start shuffle combining from ANY_EXTEND_VECTOR_INREG on SSE targets (details)
  23. AMDGPU/GlobalISel: Apply load bitcast to s.buffer.load intrinsic (details)
  24. Revert "[InstCombine] reduce xor-of-or's bitwise logic (PR46955)" (details)
  25. GlobalISel: Reimplement moreElementsVectorDst (details)
  26. AMDGPU/GlobalISel: Remove old hacks for boolean selection (details)
  27. GlobalISel: Handle arbitrary FewerElementsVector for G_IMPLICIT_DEF (details)
  28. [mlir] First-party modeling of LLVM types (details)
  29. [DWARFYAML] Offsets should be omitted when the OffsetEntryCount is 0. (details)
  30. [InstCombine] reduce xor-of-or's bitwise logic (PR46955); 2nd try (details)
  31. [NFC][APInt][DenseMapInfo] Move DenseMapAPIntKeyInfo into DenseMap.h as DenseMapInfo<APInt> (details)
  32. [DWARFYAML] Implement the .debug_loclists section. (details)
  33. [analyzer][tests] Fix SATest update functionality (details)
  34. [FPEnv] Don't transform FSUB(-0,X)->FNEG(X) in SelectionDAGBuilder. (details)
Commit d919ae9df8721a56c8457fd5f9cfd50a71c87262 by grimar
[yaml2obj] - Add a support for "<none>" value for all optional fields.

It implements an approach suggested in the D84398 thread.

With it the following:

```
Sections:
  - Name:   .bar
    Type:   SHT_PROGBITS
    Offset: [[MACRO=<none>]]
```

works just like the `Offset` key was not specified.
It is useful for tests that want to have a default value for a field and to
have a way to override it at the same time.

Differential revision: https://reviews.llvm.org/D84526
The file was addedllvm/test/tools/yaml2obj/ELF/none-value.yaml
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h (diff)
Commit d76057c1fe6a368e9e422cf586e09fba827c96e1 by kadircet
Add document outline symbols from unnamed contexts, e.g. extern "C".

It is necessary to traverse children of unnamed declaration contexts
to get symbols which are currently missing in document outline, e.g.:

extern "C" {
void foo();
}

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D84839
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp (diff)
Commit 7e32797552c69155676e45ec7d39f948779daa92 by grimar
[llvm-readobj] - Don't call `unwrapOrErr` in `findSectionByName`.

We have a `findSectionByName` helper that tries to find a section
by it name. It is used in a few places, but never tested.

I'd like to reuse this helper for a different place.
For this, I've changed it to return Expected<> and now it
doesn't use `unwrapOrErr` anymore. It also now a member of
Dumper class and might report warnings.

Differential revision: https://reviews.llvm.org/D84651
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-options-sec.test (diff)
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-reginfo.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-abiflags.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test (diff)
Commit 87de54dbb6efa0fc5e304f94b350a39066bc2759 by kadircet
[clang][Tooling] Fix addTargetAndModeForProgramName to use correct flag names

The logic was using incorrect flag versions. For example:
- `-target=` can't be a prefix, it must be `--target=`.
- `--driver-mode` can't appear on its own, value must be attached to it.

While fixing those, also changes the append logic to make use of new
`--target=X` format instead of the legacy `-target X` version.

In addition to that makes use of the OPTTable instead of hardcoded strings to
make sure helper also gets updated if clang's options are modified.

Differential Revision: https://reviews.llvm.org/D85076
The file was modifiedclang/unittests/Tooling/ToolingTest.cpp (diff)
The file was modifiedclang/lib/Tooling/Tooling.cpp (diff)
Commit 895878f4568d3c5fe470bd811c2dfdbbe285e5aa by Alexander.Richardson
[asan][tsan] Mark tests failing with debug checks as XFAIL

See https://llvm.org/PR46862. This does not fix the underlying issue but at
least it allows me to run check-all again without having to disable
building compiler-rt.

Reviewed By: #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D84650
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/odr-violation.cpp (diff)
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/activation-options.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/allow_user_segv.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/illegal_write_test.cpp (diff)
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp (diff)
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/start-deactivated.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/illegal_read_test.cpp (diff)
The file was modifiedcompiler-rt/test/asan/TestCases/handle_noreturn_bug.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_fd_test.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/signal_line.cpp (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cpp (diff)
Commit 03affa8099cba3876aca209daa213dcb880bc34a by Alexander.Richardson
[msan] Compile the libatomic.c test with a C compiler

Otherwise we end up compiling in C++ mode and on FreeBSD
/usr/include/stdatomic.h is not compatible with C++ since it uses _Bool.

Reviewed By: guiand, eugenis, vitalybuka, emaste

Differential Revision: https://reviews.llvm.org/D84510
The file was modifiedcompiler-rt/test/msan/libatomic.c (diff)
Commit d23b15cc160775dcc5b6e2c2d7706a67be1225f1 by Alexander.Richardson
Execute llvm-lit with the python found by CMake by default

The check-* targets run ${Python3_EXECUTABLE} $BUILD/bin/llvm-lit, but
running `./bin/llvm-lit $ARGS` from the build directory currently always
uses "python" to run llvm-lit. On most systems this will be python2.7 even
if we found python3 at CMake time.

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D84625
The file was modifiedllvm/utils/llvm-lit/llvm-lit.in (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn (diff)
Commit c3339e3e921c2e064936c30f5eacba4e41c432da by Tatyana Krasnukha
[cmake] Make MSVC generate appropriate __cplusplus macro definition

Differential Revision: https://reviews.llvm.org/D84023
The file was modifiedllvm/cmake/modules/AddLLVM.cmake (diff)
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake (diff)
The file was modifiedllvm/utils/unittest/CMakeLists.txt (diff)
Commit e97c693bb0ece2d9a2b0db75034927405fe3bfdf by Tatyana Krasnukha
[lldb/Process/Windows] Attempting to kill exited/detached process in not an error

The lldb test-suite on Windows reports a 'CLEANUP ERROR' when attempting to kill
an exited/detached process. This change makes ProcessWindows consistent with
the other processes which only log the error. After this change a number of
'CLEANUP ERROR' messages are now removed.

Differential Revision: https://reviews.llvm.org/D84957
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp (diff)
Commit d1007478f19d3ff19a2ecd5ecb04b467933041e6 by Alexander.Richardson
Fix update_cc_test_checks.py --llvm-bin after D78478

Not passing --clang would result in a python exception after this change:
(TypeError: expected str, bytes or os.PathLike object, not NoneType)
because the --clang argument default was only being populated in the
initial argument parsing pass but not later on.
Fix this by adding an argparse callback to set the default values.

Reviewed By: vitalybuka, MaskRay

Differential Revision: https://reviews.llvm.org/D84511
The file was modifiedllvm/utils/UpdateTestChecks/common.py (diff)
The file was modifiedllvm/utils/update_cc_test_checks.py (diff)
Commit 2bca784ab840a9fe0f4e508cece9cbcce95838bb by grimar
[llvm-readobj] - Massive test cases cleanup.

This patch does the following:
1) Starts using YAML macro to reduce the number of YAML documents in tests.
2) Adds `#` before 'RUN'/`CHECK` lines in a few tests where it is missing.
3) Removes unused YAML keys.
4) Starts using `ENTSIZE=<none>` to simplify tests (see D84526).
5) Removes trailing white spaces in a few places.

Differential revision: https://reviews.llvm.org/D85013
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-i386.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips64.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/types.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/no-action.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/packed-relocs.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnu-section-mapping-no-phdrs.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-rld-map-rel.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dependent-libraries.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-arm.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnu-sections.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hidden-versym.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-symbol-with-versioning.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/call-graph-profile.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/merged.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-lanai.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnu-notes.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynsym-link.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-aarch64.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-mips.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/sections.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/pt-gnu-property.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/versym-invalid.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got-overlapped.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/verdef-invalid.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/file-types.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-x64.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-definitions.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnu-phdrs.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-options.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-tags.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/needed-libs.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test (diff)
Commit 3de93230010fc8fbb76d5cb6bde709f4ed296a1c by grimar
[llvm-readobj] - Don't stop dumping when the name of a relocation section can't be read.

This removes undesired `unwrapOrError` calls from printRelocations() methods.

Differential revision: https://reviews.llvm.org/D84408
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dependent-libraries.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relocations.test (diff)
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/invalid-shstrndx.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/ELF/sections-no-section-header-string-table.test (diff)
The file was modifiedllvm/test/Object/invalid.test (diff)
Commit 76c3ec814dec8eef020490b5d3a640d873b5918b by kadircet
[clang][Tooling] Optimize addTargetAndMode in case of invalid modes

This skips searching for `target` related flags in the existing args if
we don't have a valid target to insert.

Depends on D85076

Differential Revision: https://reviews.llvm.org/D85077
The file was modifiedclang/lib/Tooling/Tooling.cpp (diff)
Commit 86e1b73507f3738f10eefb580d7c5e9adf17c6c0 by dpetrov
[analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones

Summary: Simplify functions SVal::getAsSymbolicExpression SVal::getAsSymExpr and SVal::getAsSymbol. After revision I concluded that `getAsSymbolicExpression` and `getAsSymExpr` repeat functionality of `getAsSymbol`, thus them can be removed.

Fix: Remove functions SVal::getAsSymbolicExpression and SVal::getAsSymExpr.

Differential Revision: https://reviews.llvm.org/D85034
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/Taint.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp (diff)
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SVals.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/ProgramState.cpp (diff)
Commit 21fa82d5c63c30c745d5181889329084ac6d2767 by dpetrov
[analyzer] Introduce minor refactoring of SVal::getSubKind function

Summary: `BaseMask` occupies the lowest bits. Effect of applying the mask is neutralized by right shift operation, thus making it useless.

Fix: Remove a redundant bitwise operation.

Differential Revision: https://reviews.llvm.org/D85026
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h (diff)
Commit 5191f70ab1f4b0b9225b2e9e11584e199172418c by hokein.wu
[clangd] Support new/deleta operator in TargetFinder.

Differential Revision: https://reviews.llvm.org/D85028
The file was modifiedclang-tools-extra/clangd/XRefs.cpp (diff)
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp (diff)
Commit 18279a54b5d3382874924d6a3c7775b7e22598dc by nicholas.guy
[ARM] Fix IT block generation after Thumb2SizeReduce with -Oz

Fixes a regression caused by D82439, in which IT blocks were no longer being
generated when -Oz is present. This was due to the CPSR register being marked as
dead, while this case was not accounted for.

Differential Revision: https://reviews.llvm.org/D83667
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/constant-hoisting.ll (diff)
Commit ed0e4c70c99d3afd87fb202ab03bda40512677e7 by simon.tatham
[clang][ARM] Add name-mangling test for direct __fp16 arguments.

`clang/test/CodeGenCXX/fp16-mangle.cpp` tests pointers to __fp16, but
if you give the `-fallow-half-arguments-and-returns` option, then
clang can also leave an __fp16 unmodified as a function argument or
return type. This regression test checks the name-mangling of that.

Reviewed By: miyuki

Differential Revision: https://reviews.llvm.org/D85010
The file was addedclang/test/CodeGenCXX/fp16-mangle-arg-return.cpp
Commit b57ea8ef2a8a07ffd2c05389da3f759caaa49f3e by spatel
[InstCombine] add tests for xor-of-ors; NFC
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
Commit 2265d01f2a5bd153959701e22f5be2a40e1674a3 by spatel
[InstCombine] reduce xor-of-or's bitwise logic (PR46955)

I tried to use m_Deferred() on this, but didn't find
a clean way to do that.

http://bugs.llvm.org/PR46955

https://alive2.llvm.org/ce/z/2h6QTq
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
Commit d8ef1d1251e3c0e11894ed82904dbab5e41c5711 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext

These should probably not be legal in the first place, but that might
also be a pain.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir (diff)
Commit 99a971cadff7832a846394462c39a74aac64325d by llvm-dev
[X86][SSE] Start shuffle combining from ANY_EXTEND_VECTOR_INREG on SSE targets

We already do this on AVX (+ for ZERO_EXTEND_VECTOR_INREG), but this enables it for all SSE targets - we attempted something similar back at rL357057 but hit issues with the ZERO_EXTEND_VECTOR_INREG handling (PR41249).

I'm still looking at the vector-mul.ll regression - which is due to 32-bit targets performing the load as a f64, resulting in the shuffle combiner thinking it has to create a shuffle in the float domain.
The file was modifiedllvm/test/CodeGen/X86/promote-cmp.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-math.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/mulvi32.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-udiv-128.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pmul.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/combine-pmuldq.ll (diff)
Commit fd63e46941fc48d4cc777ef94e185637898d0adb by Matthew.Arsenault
AMDGPU/GlobalISel: Apply load bitcast to s.buffer.load intrinsic

Should also apply this to the non-scalar buffer loads.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.s.buffer.load.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
Commit f19a9be385ef782140d1e551e03553daa79d1bc1 by spatel
Revert "[InstCombine] reduce xor-of-or's bitwise logic (PR46955)"

This reverts commit 2265d01f2a5bd153959701e22f5be2a40e1674a3.
Seeing bot failures after this change like:
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/42586
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
Commit 1782fbbc69482e76eee8af203694bb771a44c921 by Matthew.Arsenault
GlobalISel: Reimplement moreElementsVectorDst

Use pad with undef and unmerge with unused results. This is annoyingly
similar to several other places in LegalizerHelper, but they're all
slightly different.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpext.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.s.buffer.load.mir (diff)
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir (diff)
Commit 2414bab5d7d6b5b247f3f3b97140a2673fa8414b by Matthew.Arsenault
AMDGPU/GlobalISel: Remove old hacks for boolean selection

There were various hacks used to try to avoid making s1 SGPR vs. s1
VCC ambiguous after constraining the register before we had a strategy
to deal with this. This also attempted to handle undef operands, which
are now illegal gMIR.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-phi.mir (diff)
Commit 42a9f6c554e378f1c010375eca30f04296aa0052 by Matthew.Arsenault
GlobalISel: Handle arbitrary FewerElementsVector for G_IMPLICIT_DEF
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-undef.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir (diff)
Commit 0c40af6b594f6eb2dcd43cdb2bc2f4584ec8ca15 by zinenko
[mlir] First-party modeling of LLVM types

The current modeling of LLVM IR types in MLIR is based on the LLVMType class
that wraps a raw `llvm::Type *` and delegates uniquing, printing and parsing to
LLVM itself. This model makes thread-safe type manipulation hard and is being
progressively replaced with a cleaner MLIR model that replicates the type
system.  Introduce a set of classes reflecting the LLVM IR type system in MLIR
instead of wrapping the existing types. These are currently introduced as
separate classes without affecting the dialect flow, and are exercised through
a test dialect. Once feature parity is reached, the old implementation will be
gradually substituted with the new one.

Depends On D84171

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D84339
The file was addedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was addedmlir/lib/Dialect/LLVMIR/IR/TypeDetail.h
The file was modifiedmlir/lib/Parser/DialectSymbolParser.cpp (diff)
The file was modifiedmlir/test/lib/Dialect/CMakeLists.txt (diff)
The file was addedmlir/test/lib/Dialect/LLVMIR/CMakeLists.txt
The file was addedmlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
The file was addedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/include/mlir/IR/DialectImplementation.h (diff)
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp (diff)
The file was addedmlir/test/lib/Dialect/LLVMIR/LLVMTypeTestDialect.cpp
The file was addedmlir/test/Dialect/LLVMIR/types.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/CMakeLists.txt (diff)
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt (diff)
The file was addedmlir/test/Dialect/LLVMIR/types-invalid.mlir
Commit 2d8ca4ae2b1a512d31566e042a4bf4fa1043def9 by Xing
[DWARFYAML] Offsets should be omitted when the OffsetEntryCount is 0.

The offsets field should be omitted when the 'OffsetEntryCount' entry is
specified to be 0.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85006
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp (diff)
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-rnglists.yaml (diff)
Commit 23693ffc3ba6146a22cd1e9373e25dc1e1a41a17 by spatel
[InstCombine] reduce xor-of-or's bitwise logic (PR46955); 2nd try

The 1st try at this (rG2265d01f2a5b) exposed what looks like
unspecified behavior in C/C++ resulting in test variations.

The arguments to BinaryOperator::CreateAnd() were both IRBuilder
function calls, and the order in which they execute determines
the order of the new instructions in the IR. But the order of
function arg evaluation is not fixed by the rules of C/C++, so
depending on compiler config, the test would fail because the
test expected a single fixed ordering of instructions.

Original commit message:
I tried to use m_Deferred() on this, but didn't find
a clean way to do that.

http://bugs.llvm.org/PR46955

https://alive2.llvm.org/ce/z/2h6QTq
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
Commit 1c2777f585fc0e5e8f853dab455c62ae50298f9a by okuraofvegetable
[NFC][APInt][DenseMapInfo] Move DenseMapAPIntKeyInfo into DenseMap.h as DenseMapInfo<APInt>

`DenseMapAPIntKeyInfo` is now located in `lib/IR/LLVMContextImpl.h`.
Moved it into `include/ADT/DenseMapInfo.h` to use it.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85131
The file was modifiedllvm/include/llvm/ADT/DenseMapInfo.h (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.h (diff)
The file was modifiedllvm/include/llvm/ADT/APInt.h (diff)
Commit 08649d4321bb73c888e03ac316f8ccab600a9533 by Xing
[DWARFYAML] Implement the .debug_loclists section.

This patch implements the .debug_loclists section. There are only two
DWARF expressions are implemented in this patch (DW_OP_consts,
DW_OP_stack_value). We will implement more in the future.

The YAML description of the .debug_loclists section is:

```
debug_loclists:
  - Format:              DWARF32 ## Optional
    Length:              0x1234  ## Optional
    Version:             5       ## Optional (5 by default)
    AddressSize:         8       ## Optional
    SegmentSelectorSize: 0       ## Optional (0 by default)
    OffsetEntryCount:    1       ## Optional
    Offsets:             [ 1 ]   ## Optional
    Lists:
      - Entries:
          - Operator:          DW_LLE_startx_endx
            Values:            [ 0x1234, 0x4321 ]
            DescriptorsLength: 0x1234             ## Optional
            Descriptors:
              - Operator: DW_OP_consts
                Values:   [ 0x1234 ]
```

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D84234
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h (diff)
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFEmitter.h (diff)
The file was addedllvm/test/tools/yaml2obj/ELF/DWARF/debug-loclists.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp (diff)
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp (diff)
Commit 10851f9db5f7d163135374b8dfc945e1b4a9c7d6 by vsavchenko
[analyzer][tests] Fix SATest update functionality

Summary:
Not all projects in the project map file might have newer results
for updating, we should handle this situation gracefully.

Additionally, not every user of the test system would want storing
reference results in git.  For this reason, git functionality is now
optional.

Differential Revision: https://reviews.llvm.org/D84303
The file was modifiedclang/utils/analyzer/SATest.py (diff)
The file was modifiedclang/utils/analyzer/SATestUpdateDiffs.py (diff)
Commit 31c7a2fd5c9a5b980768bd06354517d99ac8fe87 by mcinally
[FPEnv] Don't transform FSUB(-0,X)->FNEG(X) in SelectionDAGBuilder.

This patch stops unconditionally transforming FSUB(-0,X) into an FNEG(X) while building the DAG. There is also one small change to handle the new FSUB(-0,X) similarly to FNEG(X) in the AMDGPU backend.

Differential Revision: https://reviews.llvm.org/D84056
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/selectcc-opt.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/set-dx10.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f32.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fneg-combines.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fdiv32-to-rcp-folding.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fcanonicalize.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll (diff)

Summary

  1. fixed shortended paths (details)
Commit 876b25ef8b5d00888ed99df4586db7870760f5f5 by kuhnel
fixed shortended paths
The file was modifiedbuildbot/google/docker/build_run.sh (diff)
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/VERSION (diff)
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/run.ps1 (diff)