From acf2ef4d5ff21688f0d978e7e0011131e2b80d5c Mon Sep 17 00:00:00 2001 From: mc2zk <mc2zk@git.zephyr-software.com> Date: Mon, 11 Dec 2017 17:40:49 +0000 Subject: [PATCH] Adding assurance case gathering annotation for PNXform Former-commit-id: d5adb3968d20c198e1eed4829879ee22fb25baa5 --- tools/transforms/PNTransformDriver.cpp | 31 +++++++++++++++++--------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/tools/transforms/PNTransformDriver.cpp b/tools/transforms/PNTransformDriver.cpp index 7d4ea7258..bd4b78e72 100644 --- a/tools/transforms/PNTransformDriver.cpp +++ b/tools/transforms/PNTransformDriver.cpp @@ -1819,11 +1819,13 @@ void PNTransformDriver::Print_Report() for(unsigned int i=0;i<history_keys.size();++i) { cerr<<"\tLayout: "<<history_keys[i]<<endl; + cerr<<"# ATTRIBUTE pnxform::Layout="<<history_keys[i]<<endl; vector<PNStackLayout*> layouts = transformed_history[history_keys[i]]; map<int,int> obj_histogram; cerr<<"\t\tTotal Transformed: "<<layouts.size()<<endl; + cerr<<"# ATTRIBUTE pnxform::Total_Transformed="<<layouts.size()<<endl; int p1reductions = 0; double mem_obj_avg = 0.0; @@ -1862,6 +1864,7 @@ void PNTransformDriver::Print_Report() } cerr<<"\t\tP1 Reductions: "<<p1reductions<<endl; + cerr<<"# ATTRIBUTE pnxform::P1_Reductions="<<p1reductions<<endl; } cerr<<"----------------------------------------------"<<endl; @@ -1885,17 +1888,23 @@ void PNTransformDriver::Print_Report() cerr<<"Transformable Functions \t"<<(total_funcs-not_transformable.size())<<endl; cerr<<"Transformed \t\t\t"<<total_transformed<<endl; - cerr<<"pnxform::Non-Blacklisted Functions \t"<<total_funcs<<endl; - cerr<<"pnxform::Blacklisted Functions \t\t"<<blacklist_funcs<<endl; - cerr<<"pnxform::Sanitized Functions \t\t"<<sanitized_funcs<<endl; - cerr<<"pnxform::Push/Pop Sanitized Functions \t\t"<<push_pop_sanitized_funcs<<endl; - cerr<<"pnxform::Cond Frame Sanitized Functions \t\t"<<cond_frame_sanitized_funcs<<endl; - cerr<<"pnxform::EH-land-pad-not-in-func Sanitized Functions \t\t"<<eh_sanitized<<endl; - cerr<<"pnxform::Bad Variadic Sanitized Functions \t\t"<<push_pop_sanitized_funcs<<endl; - cerr<<"pnxform::Jump table Sanitized Functions \t\t"<<jump_table_sanitized<<endl; - cerr<<"pnxform::PIC Jump table Sanitized Functions \t\t"<<jump_table_sanitized<<endl; - cerr<<"pnxform::Transformable Functions \t"<<(total_funcs-not_transformable.size())<<endl; - cerr<<"pnxform::Transformed \t\t\t"<<total_transformed<<endl; + cerr<<"# ATTRIBUTE pnxform::Functions_validated_exceeding_threshold="<<high_coverage_count<<endl; + cerr<<"# ATTRIBUTE pnxform::Functions_validated_ with_ nonZero_coverage_below_or_ equal_to_threshold="<<low_coverage_count<<endl; + cerr<<"# ATTRIBUTE pnxform::Functions_modified_with_no_coverage="<<no_coverage_count<<endl; + cerr<<"# ATTRIBUTE pnxform::Total_recursive_validations_performed="<<validation_count<<endl; + + cerr<<"# ATTRIBUTE pnxform::NonBlacklisted_Functions="<<total_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::Blacklisted Functions="<<blacklist_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::Sanitized_Functions="<<sanitized_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::PushPop_Sanitized_Functions="<<push_pop_sanitized_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::CondFrameSanitized_Functions="<<cond_frame_sanitized_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::EH_land_pad_not_in_FuncSanitizedFunctions="<<eh_sanitized<<endl; + cerr<<"# ATTRIBUTE pnxform::BadVariadicSanitizedFunctions="<<push_pop_sanitized_funcs<<endl; + cerr<<"# ATTRIBUTE pnxform::JumpTableSanitized_Functions="<<jump_table_sanitized<<endl; + cerr<<"# ATTRIBUTE pnxform::PICJumpTableSanitized_Functions="<<jump_table_sanitized<<endl; + cerr<<"# ATTRIBUTE pnxform::Transformables_Functions="<<(total_funcs-not_transformable.size())<<endl; + cerr<<"# ATTRIBUTE pnxform::Transformed="<<total_transformed<<endl; + cerr<<"# ATTRIBUTE pnxform::PctTransformable_Transformed="<<std::fixed<<((double)(total_transformed)/(double)(total_funcs-not_transformable.size()))<<endl; } -- GitLab