This revision was automatically updated to reflect the committed changes.
Closed by commit rL248002: [Static Analyzer] Use generics related information
to infer dynamic types. (authored by xazax).
Changed prior to commit:
http://reviews.llvm.org/D12916?vs=35027=35095#toc
Repository:
rL LLVM
xazax.hun marked an inline comment as done.
Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:871
@@ +870,3 @@
+ if (RetRegion && !State->get(RetRegion)) {
+// TODO: we have duplicated information in DynamicTypeMap and
+// MostSpecializedTypeArgsMap. We
zaks.anna added inline comments.
Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:871
@@ +870,3 @@
+ if (RetRegion) {
+State = setDynamicTypeInfo(State, RetRegion, ResultType,
+ /*CanBeSubclass=*/true);
Would
xazax.hun updated this revision to Diff 35027.
xazax.hun added a comment.
Addressed the comments.
http://reviews.llvm.org/D12916
Files:
lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
test/Analysis/DynamicTypePropagation.m
Index: test/Analysis/DynamicTypePropagation.m
zaks.anna added inline comments.
Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:871
@@ +870,3 @@
+ if (RetRegion && !State->get(RetRegion)) {
+// TODO: we have duplicated information in DynamicTypeMap and
+// MostSpecializedTypeArgsMap. We should only
xazax.hun created this revision.
xazax.hun added reviewers: zaks.anna, dcoughlin, jordan_rose.
xazax.hun added a subscriber: cfe-commits.
This patch makes the DynamicTypePropagation checker utilize the information
about generics. Using this additional information more precise inlining can be