SuccessChanges

Summary

  1. Run syntax tree tests in many language modes (details)
  2. [mips] Support 64-bit relative relocations (details)
  3. [AST] Fix a null initializer crash for InitListExpr (details)
  4. [VectorCombine][X86] Add loaded insert tests from D80885 (details)
  5. [LLDB] Mark TestCreateDuringInstructionStep as flaky on Linux (details)
  6. [EarlyCSE] Common gc.relocate calls. (details)
Commit 44f989e7809633f13bd0420cc1d79660ad982173 by gribozavr
Run syntax tree tests in many language modes

Reviewers: hlopko, eduucaldas

Reviewed By: hlopko, eduucaldas

Subscribers: gribozavr2, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80822
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp (diff)
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt (diff)
Commit b00f0d4238cb34a54073cc5ab7e2060d58f69e3f by simon
[mips] Support 64-bit relative relocations

MIPS 64-bit ABI does not provide special PC-relative relocation like
R_MIPS_PC32 in 32-bit case. But we can use a "chain of relocation"
defined by N64 ABIs. In that case one relocation record might contain up
to three relocations which applied sequentially. Width of a final relocation
mask applied to the result of relocation depends on the last relocation
in the chain. In case of 64-bit PC-relative relocation we need the following
chain: `R_MIPS_PC32 | R_MIPS_64`. The first relocation calculates an
offset, but does not truncate the result. The second relocation just
apply calculated result as a 64-bit value.

The 64-bit PC-relative relocation might be useful in generation of
`.eh_frame` sections to escape passing `-Wl,-z,notext` flags to linker.

Differential Revision: https://reviews.llvm.org/D80390
The file was modifiedllvm/test/MC/Mips/relocation-n64.s (diff)
The file was modifiedllvm/test/MC/Mips/unsupported-relocation.s (diff)
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp (diff)
The file was addedlld/test/ELF/mips-pc64.s
Commit 97b8dabba5c5c1d799bd8b6856d4a81360361769 by hokein.wu
[AST] Fix a null initializer crash for InitListExpr

Summary:
The Initializer of a InitListExpr can be reset to null, which leads to
nullptr-acces crashes.

Reviewers: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80980
The file was modifiedclang/test/AST/ast-dump-recovery.cpp (diff)
The file was modifiedclang/lib/Sema/SemaInit.cpp (diff)
Commit 6ce6960b92fcae70bc54633d16f01d302a5dad8d by llvm-dev
[VectorCombine][X86] Add loaded insert tests from D80885
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll (diff)
Commit cbfae97ca82b11ab2b54562055c49817baa1e26b by omair.javaid
[LLDB] Mark TestCreateDuringInstructionStep as flaky on Linux

This patch marks TestCreateDuringInstructionStep.py as flakey for Linux.
This is failing randomly on arm/aarch64. I will monitor buildbot and
skip it if it fails again.
The file was modifiedlldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py (diff)
Commit 3c626c714c9d1521b57ff07b1211f9d21cbeceef by dantrushin
[EarlyCSE] Common gc.relocate calls.

gc.relocate intrinsic is special in that its second and third operands
are not real values, but indices into relocate's parent statepoint list
of GC pointers.
To be CSE'd, they need special handling in `isEqual()` and `getHashCode()`.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D80445
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp (diff)
The file was addedllvm/test/Transforms/EarlyCSE/gc_relocate.ll