SuccessChanges

Summary

  1. [Hexagon] Add more detailed testcase for widening truncates (details)
  2. [Sema] Address-space sensitive index check for unbounded arrays (details)
  3. [X86] Place new constant node in topological order in X86DAGToDAGISel::matchBitExtract. (details)
  4. [GlobalISel] Add G_UNMERGE(Cst) -> Cst1, Cst2, ... combine (details)
  5. [Asan] Accept __lsan_ignore_object for redzone pointer (details)
  6. [AArch64] Statepoint support for AArch64. (details)
Commit f35617ad809b978635d10c0c39553840a03ac41f by kparzysz
[Hexagon] Add more detailed testcase for widening truncates
The file was addedllvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
Commit da55e9ba1273284f1af61bceeaeb25e487838034 by Chris.Hamilton
[Sema] Address-space sensitive index check for unbounded arrays

Check applied to unbounded (incomplete) arrays and pointers
to spot cases where the computed address is beyond the
largest possible addressable extent of the array, based
on the address space in which the array is delcared, or
which the pointer refers to.

Check helps to avoid cases of nonsense pointer math and
array indexing which could lead to linker failures or
runtime exceptions.  Of particular interest when building
for embedded systems with small address spaces.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D86796
The file was modifiedclang/lib/Sema/SemaChecking.cpp (diff)
The file was addedclang/test/Sema/unbounded-array-bounds.c
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp (diff)
The file was modifiedclang/test/Sema/const-eval.c (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
Commit 32515938901685bcbc438d5f5bb03cb8a9f4c637 by craig.topper
[X86] Place new constant node in topological order in X86DAGToDAGISel::matchBitExtract.

Fixes PR47525
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp (diff)
The file was addedllvm/test/CodeGen/X86/pr47525.ll
Commit a36278c2f8b5ba7e964ef2cdc14ef8c3f8b8a045 by qcolombet
[GlobalISel] Add G_UNMERGE(Cst) -> Cst1, Cst2, ... combine

Add a combiner helper that replaces G_UNMERGE of big constants into direct
use of smaller constants.

Differential Revision: https://reviews.llvm.org/D87166
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll (diff)
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll (diff)
Commit 1d70984fa220f966ddcecd7906c5f10368fe1b93 by Vitaly Buka
[Asan] Accept __lsan_ignore_object for redzone pointer

The check that the pointer inside of the user part of the chunk does not
adds any value, but it's the last user of AddrIsInside.

I'd like to simplify AsanChunk in followup patches.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87642
The file was modifiedcompiler-rt/test/asan/TestCases/lsan_annotations.cpp (diff)
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit e6bc7037d386184d94bf68b184d0ac62b96a4098 by listmail
[AArch64] Statepoint support for AArch64.

Differential Revision: https://reviews.llvm.org/D66012
Patch By: loicottet (with major rebase by me)
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)