PIPS
|
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "linear.h"
#include "genC.h"
#include "misc.h"
#include "ri.h"
#include "text.h"
#include "text-util.h"
#include "ri-util.h"
#include "workspace-util.h"
#include "prettyprint.h"
Go to the source code of this file.
Functions | |
void | fprint_expression (FILE *f, expression e) |
expression.c More... | |
void | print_expression (expression e) |
no file descriptor is passed to make is easier to use in a debugging stage. More... | |
string | expression_to_string (expression e) |
string | reference_to_string (reference r) |
void | print_expressions (list le) |
void | print_syntax_expressions (list le) |
void | print_syntax (syntax s) |
void | fprint_reference (FILE *fd, reference r) |
void | print_reference (reference r) |
void | print_reference_list (list lr) |
void | print_references (list rl) |
void | print_normalized (normalized n) |
bool | maxima_simplify (expression *presult) |
call maxima to simplify an expression prefer simplify_expression ! More... | |
void | fprint_list_of_exp (FILE *fp, list exp_l) |
void fprint_list_of_exp(FILE *fp, list exp_l): prints in the file "fp" the list of expression "exp_l". More... | |
string expression_to_string | ( | expression | e | ) |
Definition at line 77 of file expression.c.
References FOREACH, free(), gen_free_list(), NIL, out, STRING, words_expression(), and words_to_string().
Referenced by adg_get_conjonctions(), any_assign_operation_to_transformer(), any_basic_update_to_transformer(), any_expression_to_transformer(), any_scalar_assign_to_transformer_list(), any_scalar_assign_to_transformer_without_effect(), any_update_to_transformer(), atomize_or_associate_for_level(), atomizer_of_array_indices(), atomizer_of_expression(), atomizer_of_intrinsic(), build_third_comb(), c_brace_expression_string(), c_convex_effects_on_formal_parameter_backward_translation(), c_dim_string(), cell_reference_compare(), comp_regions_of_instruction(), consecutive_expression_p(), constraint_to_bound(), copy_n_reference(), do_atomize_if_different_level(), edge_cost_polynome(), equal_condition_to_points_to(), equal_must_vreference(), expression_to_post_pv(), expressions_to_predicate(), fprint_bdt(), fprint_bdt_with_stat(), fprint_plc(), freed_pointer_to_points_to(), freia_is_transpose_call(), get_bounds_expression(), have_null_value_in_pointer_expression_p(), have_sizeof_value_in_multiply_pointer_expression_p(), imprime_quast(), internal_pointer_assignment_to_points_to(), interprocedural_abc_arrays(), intrinsic_call_to_points_to(), is_param_dynamic(), loop_annotate(), make_available_scalar(), make_bottom_up_abc_tests(), make_bounds(), make_expression_equalities(), make_interprocedural_abc_tests(), make_reindex(), MakeCaseStatement(), malloc_arg_to_type(), malloc_to_abstract_location(), mppa_compile_dag(), mppa_helper_args_params(), my_adg_expressions_to_predicate(), ndf_normalized_test(), nlc_linear_expression_p(), non_equal_condition_to_points_to(), normal_expression_of_expression(), normalize_test_leaves(), opkill_may_vreference(), opkill_must_vreference(), perform_array_element_substitutions_in_transformer(), perform_substitution_in_expression(), plc_make_distance(), pointer_binary_operation_to_transformer(), points_to_compare_cell(), points_to_compare_cells(), points_to_compare_location(), points_to_compare_ptr_cell(), points_to_unary_operation_to_transformer(), predicate_to_expression(), prepare_array_bounds(), print_list_of_expressions(), psystem_to_expression(), rational_op_exp(), remove_minmax(), sa_print_ins(), sc_conditional(), sc_delimiter(), semantics_usable_points_to_reference_p(), set_entity_initial(), side_effects_p(), sigmac_params_decl(), sp_feautrier_expression_p(), sp_linear_expression_p(), splc_feautrier_expression_p(), splc_linear_expression_p(), splc_positive_relation_p(), st_brace_expression_as_string(), st_declaration_init(), this_entity_cdeclaration(), translate_IO_ref(), vect_to_string(), words_points_to_reference(), xml_Argument(), xml_Array(), xml_AssignArgument(), xml_Bounds(), xml_Bounds_and_Stride(), xml_Call(), xml_Chain_Graph(), xml_loop(), and xml_Pattern_Paving().
void fprint_expression | ( | FILE * | f, |
expression | e | ||
) |
expression.c
Definition at line 47 of file expression.c.
References expression_syntax, f(), gen_free_list(), NIL, print_words(), and words_syntax().
void fprint_list_of_exp | ( | FILE * | fp, |
list | exp_l | ||
) |
void fprint_list_of_exp(FILE *fp, list exp_l): prints in the file "fp" the list of expression "exp_l".
We separate the expressions with a colon (","). We do not end the print with a line feed.
fp | p |
exp_l | xp_l |
Definition at line 229 of file expression.c.
References CAR, CDR, exp, EXPRESSION, fprintf(), gen_free_list(), NIL, words_expression(), and words_to_string().
Referenced by analyze_quast(), build_first_comb(), build_new_ref(), calculate_delay(), compatible_pc_p(), fprint_call(), fprint_dataflow(), fprint_loop(), get_unsatisfied_system(), include_trans_on_LC_in_ref(), list_of_exp_equals_1n_p(), make_causal_external(), make_causal_internal(), make_reindex(), printf_loop(), search_scc_bdt(), and simplify_dimension().
void fprint_reference | ( | FILE * | fd, |
reference | r | ||
) |
fd | d |
Definition at line 128 of file expression.c.
References fprintf(), gen_free_list(), NIL, print_words(), reference_domain, reference_domain_number, reference_undefined_p, and words_reference().
Referenced by fprint_wp65_hash_tables(), and print_reference().
bool maxima_simplify | ( | expression * | presult | ) |
call maxima to simplify an expression prefer simplify_expression !
try to call maxima to simplify this expression
strip out banner
look for first %
skip the three next chars
parse the output
presult | result |
Definition at line 180 of file expression.c.
References asprintf, exp, expression_undefined_p, free(), free_expression(), gen_free_list(), get_current_module_entity(), NIL, string_to_expression(), words_expression(), and words_to_string().
void print_expression | ( | expression | e | ) |
no file descriptor is passed to make is easier to use in a debugging stage.
Do not make macros of those printing functions
Definition at line 58 of file expression.c.
References expression_domain, expression_domain_number, expression_normalized, expression_syntax, expression_undefined, fprintf(), normalized_undefined, print_normalized(), and print_syntax().
Referenced by abc_with_allocation_size(), affine_expression_of_loop_index_p(), alias_check_array_and_scalar_variable_in_caller_flt(), alias_check_array_variable_in_caller_flt(), any_basic_update_to_transformer(), any_expression_to_transformer(), array_size_stride(), atom_cse_expression(), atomize_this_expression(), bottom_up_abc_base_reference_implied_do(), bottom_up_abc_reference(), call_rwt(), copy_from_statement(), copy_from_test(), copy_to_statement(), copy_to_test(), cse_expression_flt(), debug_cost_expression_array(), dprint(), expr_cse_flt(), expression_equal_in_context_p(), expression_in_array_subscript(), expression_less_than_in_context(), expression_substitute_variable(), expression_to_points_to_sources(), find_entities_to_wrap(), formal_variable_add_aliases(), gfc2pips_code2instruction_(), Hierarchical_tiling(), HpfcExpressionToInt(), impact_check_two_scalar_variables_in_path(), integer_expression_to_transformer(), interprocedural_abc_arrays(), invariant_expression_p(), loop_flt(), loop_strip_mine(), make_list_of_flags(), make_send_receive_conversion(), MakeDimension(), MemberIdentifierToExpression(), partial_eval_reference(), pointer_expression_to_transformer(), print_alias_association(), print_alignment(), print_dimension(), print_distribution(), print_eformat(), print_expressions(), proper_to_summary_simple_effect(), ram_variable_add_aliases(), remove_minmax(), rename_statement_declarations(), same_or_equivalence_argument_add_aliases(), size_of_dummy_array(), split_update_call(), store_initial_value(), subscript_value(), substitute_and_create(), substitute_ghost_variable_in_expression(), Tiling_buffer_allocation(), top_down_abc_array(), top_down_abc_call(), transformer_add_condition_information_updown(), transformer_add_integer_relation_information(), translate_to_module_frame(), verify_array_element(), verify_used_before_set_call(), and verify_used_before_set_expression().
void print_expressions | ( | list | le | ) |
le | e |
Definition at line 98 of file expression.c.
References EXPRESSION, MAP, and print_expression().
Referenced by add_prettyprint_control_list_to_declaration_statement(), dprint(), MakeFunctionExpression(), outliner_parameters(), and verify_used_before_set_call().
void print_normalized | ( | normalized | n | ) |
should be replaced by a call to expression_fprint() if it's ever added to linear library
Definition at line 168 of file expression.c.
References fprintf(), normalized_complex_p, normalized_linear, and vect_debug().
Referenced by print_expression().
void print_reference | ( | reference | r | ) |
Definition at line 142 of file expression.c.
References fprint_reference().
Referenced by align_check(), bottom_up_abc_reference(), build_sc_with_several_uniform_ref(), create_realFifo_proc(), dprint(), entity_in_ref(), entity_in_ref_rwt(), fprint_points_to_cell(), generate_mmcd_stat_from_ref(), make_lInitStats(), make_load_blocks(), make_lSwitchStats(), make_reindex(), make_send_receive_conversion(), make_store_blocks(), Overlap_Analysis(), perform_substitution_in_expression(), phrase_remove_dependences_rwt(), print_or_dump_points_to(), print_reduction(), reference_conflicting_p(), reference_conflicting_test_and_update(), reference_filter(), reference_to_points_to_sinks(), references_for_regions(), remove_write_ref(), rename_statement_reductions(), replace_array_ref_with_fifos2(), simple_indices_p(), some_conflicts_between(), source_to_sinks(), subtsitute_variable_in_reference(), update_indices_for_local_computation(), write_conf_on_ref(), and xml_Chain_Graph().
void print_reference_list | ( | list | lr | ) |
lr | r |
Definition at line 147 of file expression.c.
References CAR, ENDP, entity_local_name(), fprintf(), MAPL, REFERENCE, and reference_variable.
Referenced by call_instruction_to_communications(), loop_nest_to_local_variables(), and print_references().
void print_references | ( | list | rl | ) |
rl | l |
Definition at line 163 of file expression.c.
References print_reference_list().
Referenced by dprint(), and UseFormalArguments().
void print_syntax | ( | syntax | s | ) |
Definition at line 121 of file expression.c.
References gen_free_list(), NIL, print_words(), and words_syntax().
Referenced by interprocedural_mapping(), make_send_receive_conversion(), print_expression(), and print_syntax_expressions().
void print_syntax_expressions | ( | list | le | ) |
le | e |
Definition at line 108 of file expression.c.
References CDR, ENDP, EXPRESSION, expression_syntax, fprintf(), MAP, and print_syntax().
Definition at line 87 of file expression.c.
References FOREACH, free(), gen_free_list(), NIL, out, STRING, words_reference(), and words_to_string().
Referenced by adapt_reference_to_type(), add_address_of_value(), analyzed_reference_p(), any_assign_to_transformer(), any_basic_update_to_transformer(), any_update_to_transformer(), attach_ref_to_loop(), basic_update_reflhs_with_rhs_to_transformer(), cell_is_xxx_p(), cell_reference_to_type(), constant_memory_access_path_to_location_name(), convex_cell_reference_preceding_p(), count_dataflows_on_ref(), dereferencing_to_sinks(), extended_source_to_sinks(), filter_formal_context_according_to_actual_context(), forward_substitute_array_location_in_transformer(), fprint_dataflow(), generic_eval_cell_with_points_to(), lhs_subs_in_ins(), new_array_element_backward_substitution_in_transformer(), new_filter_formal_context_according_to_actual_context(), perform_substitution_in_expression(), points_to_cell_name(), points_to_name(), points_to_rank(), points_to_unary_operation_to_transformer(), potential_to_effective_memory_leaks(), print_value_mappings(), print_variables(), process_ref_list(), reduction_as_str(), reference_to_address_entity(), reference_to_address_of_value(), sa_do_it(), semantics_usable_points_to_reference_p(), simple_cell_reference_preceding_p(), simple_pv_translate(), successor_only_has_rr_conflict_p(), and update_reflhs_with_rhs_to_transformer().