Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [clang] Update isDerivedFrom to support Objective-C classes 🔍 (details)
  2. [AMDGPU] removed unused functions from printf lowering (details)
Commit a0a47d8ac113b1e959288698deef847f562921d3 by mog
[clang] Update isDerivedFrom to support Objective-C classes 🔍
Summary: This change updates `isDerivedFrom` to support Objective-C
classes by converting it to a polymorphic matcher.
Notes: The matching behavior for Objective-C classes is modeled to match
the behavior of `isDerivedFrom` with C++ classes. To that effect,
`isDerivedFrom` matches aliased types of derived Objective-C classes,
including compatibility aliases. To achieve this, the AST visitor has
been updated to map compatibility aliases to their underlying
Objective-C class.
`isSameOrDerivedFrom` also provides similar behaviors for C++ and
Objective-C classes. The behavior that
`cxxRecordDecl(isSameOrDerivedFrom("X"))` does not match
`class Y {}; typedef Y X;` is mirrored for Objective-C in that
`objcInterfaceDecl(isSameOrDerivedFrom("X"))` does not match either
`@interface Y @end typedef Y X;` or
`@interface Y @end @compatibility_alias X Y;`.
Test Notes: Ran clang unit tests.
Reviewers: aaron.ballman, jordan_rose, rjmccall, klimek, alexfh,
Reviewed By: aaron.ballman, gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision:
llvm-svn: 368632
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 5b32752d107aec1dbe8676a080c4ae9866a2607c by Stanislav.Mekhanoshin
[AMDGPU] removed unused functions from printf lowering
Differential Revision:
llvm-svn: 368633
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp