ipa-prop.c (type_change_info): New fields offset, object, known_current_type...
ipa-prop.c (type_change_info): New fields offset, object, known_current_type and multiple_types_encountered. 2011-11-03 Martin Jambor <mjambor@suse.cz> * ipa-prop.c (type_change_info): New fields offset, object, known_current_type and multiple_types_encountered. (extr_type_from_vtbl_ptr_store): New function. (check_stmt_for_type_change): Use it, set multiple_types_encountered if the result is different from the previous one. (detect_type_change): Renamed to detect_type_change_1. New parameter comp_type. Set up new fields in tci, build known type jump functions if the new type can be identified. (detect_type_change): New function. * tree.h (DECL_CONTEXT): Comment new use. * testsuite/g++.dg/ipa/devirt-c-1.C: Add dump scans. * testsuite/g++.dg/ipa/devirt-c-2.C: Likewise. * testsuite/g++.dg/ipa/devirt-c-7.C: New test. * testsuite/g++.dg/ipa/devirt-c-8.C: Likewise. From-SVN: r180825
Showing
- gcc/ChangeLog 13 additions, 0 deletionsgcc/ChangeLog
- gcc/ipa-prop.c 105 additions, 13 deletionsgcc/ipa-prop.c
- gcc/testsuite/ChangeLog 7 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/ipa/devirt-c-1.C 6 additions, 1 deletiongcc/testsuite/g++.dg/ipa/devirt-c-1.C
- gcc/testsuite/g++.dg/ipa/devirt-c-2.C 6 additions, 1 deletiongcc/testsuite/g++.dg/ipa/devirt-c-2.C
- gcc/testsuite/g++.dg/ipa/devirt-c-7.C 87 additions, 0 deletionsgcc/testsuite/g++.dg/ipa/devirt-c-7.C
- gcc/testsuite/g++.dg/ipa/devirt-c-8.C 82 additions, 0 deletionsgcc/testsuite/g++.dg/ipa/devirt-c-8.C
- gcc/tree.h 3 additions, 1 deletiongcc/tree.h
Loading
Please register or sign in to comment