SuccessChanges

Summary

  1. [LSR] Silence static analyzer null dereference warnings with assertions. NFCI. Add assertions to make it clear that GenerateIVChain / NarrowSearchSpaceByPickingWinnerRegs should succeed in finding non-null values
  2. ConstantHoisting - Silence static analyzer dyn_cast<PointerType> null dereference warning. NFCI.
  3. [CLANG][BPF] permit any argument type for __builtin_preserve_access_index() Commit c15aa241f821 ("[CLANG][BPF] change __builtin_preserve_access_index() signature") changed the builtin function signature to PointerT __builtin_preserve_access_index(PointerT ptr) with a pointer type as the argument/return type, where argument and return types must be the same. There is really no reason for this constraint. The builtin just presented a code region so that IR builtins __builtin_{array, struct, union}_preserve_access_index can be applied. This patch removed the pointer type restriction to permit any argument type as long as it is permitted by the compiler. Differential Revision: https://reviews.llvm.org/D67883
Revision 372518 by rksimon:
[LSR] Silence static analyzer null dereference warnings with assertions. NFCI.

Add assertions to make it clear that GenerateIVChain / NarrowSearchSpaceByPickingWinnerRegs should succeed in finding non-null values
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Revision 372517 by rksimon:
ConstantHoisting - Silence static analyzer dyn_cast<PointerType> null dereference warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/ConstantHoisting.cpp (diff)llvm.src/lib/Transforms/Scalar/ConstantHoisting.cpp
Revision 372516 by yhs:
[CLANG][BPF] permit any argument type for __builtin_preserve_access_index()

Commit c15aa241f821 ("[CLANG][BPF] change __builtin_preserve_access_index()
signature") changed the builtin function signature to
  PointerT __builtin_preserve_access_index(PointerT ptr)
with a pointer type as the argument/return type, where argument and
return types must be the same.

There is really no reason for this constraint. The builtin just
presented a code region so that IR builtins
  __builtin_{array, struct, union}_preserve_access_index
can be applied.

This patch removed the pointer type restriction to permit any
argument type as long as it is permitted by the compiler.

Differential Revision: https://reviews.llvm.org/D67883
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/LanguageExtensions.rst (diff)clang.src/docs/LanguageExtensions.rst
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was added/cfe/trunk/test/CodeGen/builtin-preserve-access-index-nonptr.cclang.src/test/CodeGen/builtin-preserve-access-index-nonptr.c
The file was modified/cfe/trunk/test/Sema/builtin-preserve-access-index.c (diff)clang.src/test/Sema/builtin-preserve-access-index.c