PandA-2024.02
|
Files | |
file | basic_blocks_cfg_computation.cpp [code] |
Build basic block control flow graph data structure starting from the tree_manager. | |
file | basic_blocks_cfg_computation.hpp [code] |
Build basic block control flow graph data structure starting from the tree_manager. | |
file | bit_lattice.cpp [code] |
file | bit_lattice.hpp [code] |
file | Bit_Value.cpp [code] |
Full implementation of Bit Value analysis as described in BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations Mihai Budiu Seth Copen Goldstein http://www.cs.cmu.edu/~seth/papers/budiu-tr00.pdf This technical report is an extension of the following paper: Mihai Budiu, Majd Sakr, Kip Walker, Seth Copen Goldstein: BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations. | |
file | Bit_Value.hpp [code] |
Full implementation of Bit Value analysis as described in BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations Mihai Budiu Seth Copen Goldstein http://www.cs.cmu.edu/~seth/papers/budiu-tr00.pdf. | |
file | Bit_Value_backward.cpp [code] |
file | Bit_Value_forward.cpp [code] |
file | Bit_Value_opt.cpp [code] |
file | Bit_Value_opt.hpp [code] |
Class performing some optimizations on the IR exploiting Bit Value analysis. | |
file | BitValueIPA.cpp [code] |
Created on: June 27, 2016. | |
file | BitValueIPA.hpp [code] |
Created on: June 27, 2016. | |
file | BitValueRange.cpp [code] |
Class performing some optimizations on the IR exploiting Bit Value analysis but executed after Range Analysis. | |
file | BitValueRange.hpp [code] |
Class performing some optimizations on the IR exploiting Bit Value analysis but executed after Range Analysis. | |
file | block_fix.cpp [code] |
Analysis step which modifies the control flow graph of the tree to make it more compliant and simple. | |
file | block_fix.hpp [code] |
Analysis step that modifies the control flow graph of the tree to make it more compliant. | |
file | call_expr_fix.cpp [code] |
Analysis step which fix a non-void list of parameters to function with void as input parameter type. | |
file | call_expr_fix.hpp [code] |
Analysis step which fix a non-void list of parameters to function with void as input parameter type. | |
file | call_graph_builtin_call.cpp [code] |
file | call_graph_builtin_call.hpp [code] |
This file contains the declaration of the CallGraphBuiltinCall pass that will add function called through a built in to the call graph. | |
file | call_graph_computation.cpp [code] |
Build call_graph data structure starting from the tree_manager. | |
file | call_graph_computation.hpp [code] |
Build call_graph data structure starting from the tree_manager. | |
file | check_system_type.cpp [code] |
analyse srcp of variables and types to detect system ones; the identified one are flagged | |
file | check_system_type.hpp [code] |
analyse srcp of variables and types to detect system ones; the identified one are flagged | |
file | compute_implicit_calls.cpp [code] |
Class to determine the variable to be stored in memory. | |
file | compute_implicit_calls.hpp [code] |
Determine variables to be stored in memory. | |
file | CSE.cpp [code] |
common subexpression elimination step | |
file | CSE.hpp [code] |
CSE analysis. | |
file | dataflow_cg_ext.cpp [code] |
Dataflow call graph extension. | |
file | dataflow_cg_ext.hpp [code] |
Dataflow call graph extension. | |
file | dead_code_elimination.cpp [code] |
Eliminate dead code. | |
file | dead_code_elimination.hpp [code] |
Eliminate dead code. | |
file | dead_code_eliminationIPA.cpp [code] |
file | dead_code_eliminationIPA.hpp [code] |
file | determine_memory_accesses.cpp [code] |
Class to determine the variable to be stored in memory. | |
file | determine_memory_accesses.hpp [code] |
Determine variables to be stored in memory. | |
file | eSSA.cpp [code] |
file | eSSA.hpp [code] |
file | extract_omp_atomic.cpp [code] |
Analysis step extracting openmp atomic. | |
file | extract_omp_atomic.hpp [code] |
Analysis step extracting openmp atomic. | |
file | extract_omp_for.cpp [code] |
Analysis step extracting openmp for. | |
file | extract_omp_for.hpp [code] |
Analysis step extracting openmp for. | |
file | extract_patterns.cpp [code] |
file | extract_patterns.hpp [code] |
Class extracting patterns extending the GCC/CLANG IR. | |
file | fanout_opt.cpp [code] |
Fanout optimization step. | |
file | fanout_opt.hpp [code] |
Fanout optimization step. | |
file | FixStructsPassedByValue.cpp [code] |
file | FixStructsPassedByValue.hpp [code] |
file | FixVdef.cpp [code] |
Simplifies memory dependency data structure by merging memdeps in virtual dependencies. | |
file | FixVdef.hpp [code] |
merge memory dependencies in virtual dependencies | |
file | FunctionCallOpt.cpp [code] |
file | FunctionCallOpt.hpp [code] |
file | FunctionCallTypeCleanup.cpp [code] |
file | FunctionCallTypeCleanup.hpp [code] |
file | hdl_function_decl_fix.cpp [code] |
Pre-analysis step fixing names of functions which clash with signal names. | |
file | hdl_function_decl_fix.hpp [code] |
Pre-analysis step fixing names of functions which clash with signal names. | |
file | hdl_var_decl_fix.cpp [code] |
Pre-analysis step fixing var_decl duplication and HDL name conflicts. | |
file | hdl_var_decl_fix.hpp [code] |
Pre-analysis step fixing var_decl duplication and HDL name conflicts. | |
file | hls_div_cg_ext.cpp [code] |
Step that extends the call graph with the soft-float calls where appropriate. | |
file | hls_div_cg_ext.hpp [code] |
Step that extends the call graph with the division and modulus function calls where appropriate. | |
file | HWCallInjection.cpp [code] |
file | HWCallInjection.hpp [code] |
file | InterfaceInfer.cpp [code] |
Load parsed protocol interface attributes. | |
file | InterfaceInfer.hpp [code] |
Load parsed protocol interface attributes. | |
file | IR_lowering.cpp [code] |
Decompose some complex gimple statements into a set of simpler operations. | |
file | IR_lowering.hpp [code] |
Decompose some complex gimple statements into set of simple operations. | |
file | IR_lowering_exec.cpp [code] |
file | loops_analysis_bambu.cpp [code] |
Analysis step performing loops analysis. | |
file | loops_analysis_bambu.hpp [code] |
file | lut_transformation.cpp [code] |
identify and optimize lut expressions. | |
file | lut_transformation.hpp [code] |
identify and optmize lut expressions. | |
file | multi_way_if.cpp [code] |
Analysis step rebuilding multi-way if. | |
file | multi_way_if.hpp [code] |
Analysis step rebuilding multi-way if. | |
file | multiple_entry_if_reduction.cpp [code] |
This class implements the reduction of blocks with n input and m output These operations can be done if the BB contains only conditional statements and phi First duplicate the block on all the n input and add the respective connections to predecessor and successors (bidirectional) Each duplicate starts as an empty one with only connections Then the new BB is populated by conditional functions derivated from the original statement list. | |
file | multiple_entry_if_reduction.hpp [code] |
Class performing the reduction of n input - m output BB by duplicating the BB over all its predecessors, modifing the statements in order to keep the ssa and moving the phi to all the successor changing their results' ssa name NOTE: this works if the BB is composed only conditions and phi statements. | |
file | NI_SSA_liveness.cpp [code] |
Non-Iterative liveness analysis for SSA based gimple descriptions. | |
file | NI_SSA_liveness.hpp [code] |
Non-Iterative liveness analysis for SSA based gimple descriptions. | |
file | operations_cfg_computation.cpp [code] |
Analysis step creating the control flow graph of the operations. | |
file | operations_cfg_computation.hpp [code] |
Analysis step creating the control flow graph for the operations. | |
file | parm2ssa.cpp [code] |
Pre-analysis step computing the relation between parm_decl and the associated ssa_name. | |
file | parm2ssa.hpp [code] |
Pre-analysis step computing the relation between parm_decl and the associated ssa_name. | |
file | parm_decl_taken_address_fix.cpp [code] |
file | parm_decl_taken_address_fix.hpp [code] |
file | phi_opt.cpp [code] |
Analysis step that improves the IR w.r.t. | |
file | phi_opt.hpp [code] |
Analysis step that optimize the phis starting from the IR. | |
file | pragma_analysis.cpp [code] |
Pre-analysis step fixing pragma definitions. | |
file | pragma_analysis.hpp [code] |
Analysis step that recognizes the pragma calls in the specification. | |
file | Range.cpp [code] |
file | Range.hpp [code] |
file | Range_Analysis.cpp [code] |
file | Range_Analysis.hpp [code] |
file | rebuild_initializations.cpp [code] |
rebuild initialization where it is possible | |
file | rebuild_initializations.hpp [code] |
rebuild initialization where it is possible | |
file | remove_clobber_ga.cpp [code] |
Analysis step that removes clobber gimple_assign introduced by GCC v4.7 and greater. | |
file | remove_clobber_ga.hpp [code] |
Analysis step that removes clobber gimple_assign introduced by GCC v4.7 and greater. | |
file | remove_ending_if.cpp [code] |
Collapse and if and its "then" branch only if it is shorter than one cycle and the else is a BB composed only by return and PHI statements. | |
file | remove_ending_if.hpp [code] |
file | short_circuit_taf.cpp [code] |
Analysis step rebuilding a short circuit in a single gimple_cond with the condition in three address form. | |
file | short_circuit_taf.hpp [code] |
Analysis step rebuilding a short circuit in a single gimple_cond with the condition in three address form. | |
file | simple_code_motion.cpp [code] |
Analysis step that performs some simple code motions over the IR. | |
file | simple_code_motion.hpp [code] |
Analysis step that performs some simple code motions over the IR. | |
file | soft_float_cg_ext.cpp [code] |
Step that extends the call graph with the soft-float calls where appropriate. | |
file | soft_float_cg_ext.hpp [code] |
Step that extends the call graph with the soft-float calls where appropriate. | |
file | split_return.cpp [code] |
Simple transformations that remove almost empty basic blocks having a single phi and a return statement. | |
file | split_return.hpp [code] |
file | string_cst_fix.cpp [code] |
Pre-analysis step fixing readonly initializations and string_cst references. | |
file | string_cst_fix.hpp [code] |
Pre-analysis step fixing readonly initializations and string_cst references. | |
file | switch_fix.cpp [code] |
Analysis step that modifies the control flow graph to fix switches. | |
file | switch_fix.hpp [code] |
Analysis step that modifies the control flow graph to fix switches. | |
file | update_schedule.cpp [code] |
Analysis step which updates the schedule of all the instructions. | |
file | update_schedule.hpp [code] |
Analysis step which updates the schedule of all the instructions. | |
file | use_counting.cpp [code] |
Analysis step counting how many times a ssa_name is used. | |
file | use_counting.hpp [code] |
Analysis step counting how many time a ssa_name is used. | |
file | var_computation.cpp [code] |
Analyzes operations and creates the sets of read and written variables. | |
file | var_computation.hpp [code] |
Analyzes operations and creates the sets of read and written variables. | |
file | var_decl_fix.cpp [code] |
Pre-analysis step fixing var_decl duplication. | |
file | var_decl_fix.hpp [code] |
Pre-analysis step fixing var_decl duplication. | |
file | vectorize.cpp [code] |
This class contains the methods for vectorize loop or whole function. | |
file | vectorize.hpp [code] |
This class contains the methods for vectorize loop or whole function. | |
file | virtual_phi_nodes_split.cpp [code] |
Insert a temporary assignment for each phi use. | |
file | virtual_phi_nodes_split.hpp [code] |