|
| 1 | +2025-06-11 David Malcolm < [email protected]> |
| 2 | + |
| 3 | + PR other/116792 |
| 4 | + * diagnostic-format-html.cc: Include "diagnostic-path.h" and |
| 5 | + "diagnostic-client-data-hooks.h". |
| 6 | + (html_builder::m_logical_loc_mgr): New field. |
| 7 | + (html_builder::m_cur_nesting_levels): New field. |
| 8 | + (html_builder::m_last_logical_location): New field. |
| 9 | + (html_builder::m_last_location): New field. |
| 10 | + (html_builder::m_last_expanded_location): New field. |
| 11 | + (HTML_STYLE): Add "white-space: pre;" to .source and .annotation. |
| 12 | + Add "gcc-quoted-text" CSS class. |
| 13 | + (html_builder::html_builder): Initialize the new fields. If CSS |
| 14 | + is enabled, add CDN links to PatternFly 3 stylesheets. |
| 15 | + (html_builder::add_stylesheet): New. |
| 16 | + (html_builder::on_report_diagnostic): Add "alert" param to |
| 17 | + make_element_for_diagnostic, setting it by default, but unsetting |
| 18 | + it for nested diagnostics below the top level. Use |
| 19 | + add_at_nesting_level for nested diagnostics. |
| 20 | + (add_nesting_level_attr): New. |
| 21 | + (html_builder::add_at_nesting_level): New. |
| 22 | + (get_pf_class_for_alert_div): New. |
| 23 | + (get_pf_class_for_alert_icon): New. |
| 24 | + (get_label_for_logical_location_kind): New. |
| 25 | + (add_labelled_value): New. |
| 26 | + (html_builder::make_element_for_diagnostic): Add leading comment. |
| 27 | + Add "alert" param. Drop class="gcc-diagnostic" from <div> tag, |
| 28 | + instead adding the class for a PatternFly 3 alert if "alert" is |
| 29 | + true, and adding a <span> with an alert icon, both according to |
| 30 | + the diagnostic severity. Add a severity prefix to the message for |
| 31 | + alerts. Add any metadata/option text as suffixes to the message. |
| 32 | + Show any logical location. Show any physical location. Don't |
| 33 | + show the locus if the last location is unchanged within the |
| 34 | + diagnostic_group. Wrap any execution path element in a |
| 35 | + <div id="execution-path"> and add a label to it. Wrap any |
| 36 | + generated patch in a <div id="suggested-fix"> and add a label |
| 37 | + to it. |
| 38 | + (selftest::test_simple_log): Update expected HTML. |
| 39 | + |
| 40 | +2025-06-11 David Malcolm < [email protected]> |
| 41 | + |
| 42 | + * diagnostic-path-output.cc: Use xml::printer::add_text_from_pp. |
| 43 | + * diagnostic-show-locus.cc: Likewise. |
| 44 | + * xml-printer.h (xml::printer::add_text_from_pp): New decl. |
| 45 | + * xml.cc (xml::node_with_children::add_text_from_pp): New. |
| 46 | + (xml::printer::add_text_from_pp): New. |
| 47 | + * xml.h (xml::node_with_children::add_text_from_pp): New decl. |
| 48 | + |
| 49 | +2025-06-11 David Malcolm < [email protected]> |
| 50 | + |
| 51 | + PR other/120610 |
| 52 | + * diagnostic-format-html.cc (html_builder::html_builder): Update |
| 53 | + for new param of xml::printer::pop_tag. |
| 54 | + (html_path_label_writer::end_label): Likewise. |
| 55 | + (html_builder::make_element_for_diagnostic::html_token_printer): |
| 56 | + Give the instance its own xml::printer. Update for new param of |
| 57 | + xml::printer::pop_tag. |
| 58 | + (html_builder::make_element_for_diagnostic): Give the instance its |
| 59 | + own xml::printer. |
| 60 | + (html_builder::make_metadata_element): Update for new param of |
| 61 | + xml::printer::pop_tag. |
| 62 | + (html_builder::flush_to_file): Likewise. |
| 63 | + * diagnostic-path-output.cc (begin_html_stack_frame): Likewise. |
| 64 | + (begin_html_stack_frame): Likewise. |
| 65 | + (end_html_stack_frame): Likewise. |
| 66 | + (print_path_summary_as_html): Likewise. |
| 67 | + * diagnostic-show-locus.cc |
| 68 | + (struct to_text::auto_check_tag_nesting): New. |
| 69 | + (struct to_html:: auto_check_tag_nesting): New. |
| 70 | + (to_text::pop_html_tag): Change param to const char *. |
| 71 | + (to_html::pop_html_tag): Likewise; rename param to |
| 72 | + "expected_name". |
| 73 | + (default_diagnostic_start_span_fn<to_html>): Update for new param |
| 74 | + of xml::printer::pop_tag. |
| 75 | + (layout_printer<to_html>::end_label): Likewise. |
| 76 | + (layout_printer<Sink>::print_trailing_fixits): Add RAII sentinel |
| 77 | + to check tag nesting for the HTML case. Delete stray popping |
| 78 | + of "td" in the presence of fix-it hints. |
| 79 | + (layout_printer<Sink>::print_line): Add RAII sentinel |
| 80 | + to check tag nesting for the HTML case. |
| 81 | + (diagnostic_source_print_policy::print_as_html): Likewise. |
| 82 | + (layout_printer<Sink>::print): Likewise. |
| 83 | + * xml-printer.h (xml::printer::printer): Add optional |
| 84 | + "check_popped_tags" param. |
| 85 | + (xml::printer::pop_tag): Add "expected_name" param. |
| 86 | + (xml::printer::get_num_open_tags): New accessor. |
| 87 | + (xml::printer::dump): New decl. |
| 88 | + (xml::printer::m_check_popped_tags): New field. |
| 89 | + (class xml::auto_check_tag_nesting): New. |
| 90 | + (class xml::auto_print_element): Update for new param of pop_tag. |
| 91 | + * xml.cc: Move pragma pop so that the pragma also covers |
| 92 | + xml::printer's member functions, "dump" in particular. |
| 93 | + (xml::printer::printer): Add param "check_popped_tags". |
| 94 | + (xml::printer::pop_tag): Add param "expected_name" and use it to assert |
| 95 | + that the popped tag is as expected. Assert that we have a tag to |
| 96 | + pop. |
| 97 | + (xml::printer::dump): New. |
| 98 | + (selftest::test_printer): Update for new param of pop_tag. |
| 99 | + (selftest::test_attribute_ordering): Likewise. |
| 100 | + |
| 101 | +2025-06-11 David Malcolm < [email protected]> |
| 102 | + |
| 103 | + * gimple-ssa-warn-access.cc |
| 104 | + (pass_waccess::maybe_check_dealloc_call): Add missing |
| 105 | + auto_diagnostic_group to nest the "returned from %qD" |
| 106 | + note within the warning. |
| 107 | + |
| 108 | +2025-06-10 Jan Hubicka < [email protected]> |
| 109 | + |
| 110 | + * cgraph.cc (cgraph_node::make_profile_local): New member function. |
| 111 | + (cgraph_node::make_profile_global0): New member function. |
| 112 | + (cgraph_node::apply_scale): Do not call adjust_for_ipa_scalling. |
| 113 | + (cgraph_node::scale_profile_to): New member function. |
| 114 | + * cgraph.h (cgraph_node::make_profile_local, |
| 115 | + cgraph_node::make_profile_global0, cgraph_node::scale_profile_to): |
| 116 | + Declare. |
| 117 | + * ipa-cp.cc (lenient_count_portion_handling): Fix logic dropping count |
| 118 | + to local. |
| 119 | + (update_counts_for_self_gen_clones): Use scale_profile_to. |
| 120 | + (update_profiling_info): Use make_profile_local, make_profile_global0 |
| 121 | + and scale_profile_to. |
| 122 | + (update_specialized_profile): Likewise. |
| 123 | + * ipa-inline-transform.cc (clone_inlined_nodes): Call |
| 124 | + adjust_for_ipa_scalling. |
| 125 | + |
| 126 | +2025-06-10 Jakub Jelinek < [email protected]> |
| 127 | + |
| 128 | + PR middle-end/120434 |
| 129 | + * expr.cc (expand_expr_real_2) <CASE_CONVERT>: If get_range_pos_neg |
| 130 | + at -O2 for scalar integer extension suggests the most significant |
| 131 | + bit of op0 is not set, try both unsigned and signed conversion and |
| 132 | + choose the cheaper one. If both are the same cost, choose one |
| 133 | + based on TYPE_UNSIGNED (TREE_TYPE (treeop0)). |
| 134 | + |
| 135 | +2025-06-10 Jakub Jelinek < [email protected]> |
| 136 | + |
| 137 | + PR middle-end/120434 |
| 138 | + * config/i386/i386.md (*bsr_rex64_2): Rename to ... |
| 139 | + (*bsr_rex64<u>_2): ... this. Use any_extend instead of sign_extend. |
| 140 | + (*bsr_2): Rename to ... |
| 141 | + (*bsr<u>_2): ... this. Use any_extend instead of sign_extend. |
| 142 | + (bsr splitters after those): Use any_extend instead of sign_extend. |
| 143 | + |
| 144 | +2025-06-10 Jakub Jelinek < [email protected]> |
| 145 | + |
| 146 | + PR middle-end/120434 |
| 147 | + * cfgrtl.h (update_bb_for_insn_chain): Declare. |
| 148 | + * cfgrtl.cc (update_bb_for_insn_chain): No longer static. |
| 149 | + * cfgexpand.h (expand_remove_edge): Declare. |
| 150 | + * cfgexpand.cc: Include "gimple-range.h". |
| 151 | + (head_end_for_bb): New variable. |
| 152 | + (label_rtx_for_bb): Drop ATTRIBUTE_UNUSED from bb argument. |
| 153 | + Use head_end_for_bb if possible for non-BB_RTL bbs. |
| 154 | + (expand_remove_edge): New function. |
| 155 | + (maybe_cleanup_end_of_block): Use it instead of remove_edge. |
| 156 | + (expand_gimple_cond): Don't clear EDGE_TRUE_VALUE and |
| 157 | + EDGE_FALSE_VALUE just yet. Use head_end_for_bb elts instead |
| 158 | + of BB_END and update_bb_for_insn_chain instead of update_bb_for_insn. |
| 159 | + (expand_gimple_tailcall): Use expand_remove_edge instead of |
| 160 | + remove_edge. Use head_end_for_bb elts instead of BB_END and |
| 161 | + update_bb_for_insn_chain instead of update_bb_for_insn. |
| 162 | + (expand_gimple_basic_block): Don't change bb to BB_RTL here, instead |
| 163 | + use head_end_for_bb elts instead of BB_HEAD and BB_END. Use |
| 164 | + update_bb_for_insn_chain instead of update_bb_for_insn. |
| 165 | + (pass_expand::execute): Enable ranger before expand_gimple_basic_block |
| 166 | + calls and create head_end_for_bb vector. Disable ranger after |
| 167 | + those calls, turn still non-BB_RTL blocks into BB_RTL and set their |
| 168 | + BB_HEAD and BB_END from head_end_for_bb elts, and clear EDGE_TRUE_VALUE |
| 169 | + and EDGE_FALSE_VALUE flags on edges. Release head_end_for_bb |
| 170 | + vector. |
| 171 | + * tree-outof-ssa.cc (expand_phi_nodes): Don't clear phi nodes here. |
| 172 | + * tree.h (get_range_pos_neg): Add gimple * argument defaulted to NULL. |
| 173 | + * tree.cc (get_range_pos_neg): Add stmt argument. Use |
| 174 | + get_range_query (cfun) instead of get_global_range_query () and pass |
| 175 | + stmt as third argument to range_of_expr. |
| 176 | + * expr.cc (expand_expr_divmod): Pass currently_expanding_gimple_stmt |
| 177 | + to get_range_pos_neg. |
| 178 | + (expand_expr_real_1) <case SSA_NAME>: Change internal fn handling |
| 179 | + to avoid temporarily overwriting gimple_call_lhs of ifn, instead |
| 180 | + temporarily overwrite SSA_NAME_VAR of its lhs. |
| 181 | + (maybe_optimize_pow2p_mod_cmp): Pass currently_expanding_gimple_stmt |
| 182 | + to get_range_pos_neg. |
| 183 | + (maybe_optimize_mod_cmp): Likewise. |
| 184 | + * internal-fn.cc (get_min_precision): Likewise. Use |
| 185 | + get_range_query (cfun) instead of get_global_range_query () and pass |
| 186 | + currently_expanding_gimple_stmt as third argument to range_of_expr. |
| 187 | + Pass g to get_range_pos_neg. |
| 188 | + (expand_addsub_overflow): Pass currently_expanding_gimple_stmt |
| 189 | + to get_range_pos_neg. |
| 190 | + (expand_mul_overflow): Likewise. |
| 191 | + (expand_arith_overflow): Pass stmt to get_range_pos_neg. |
| 192 | + * gimple-range-edge.cc: Include rtl.h. |
| 193 | + (gimple_outgoing_range_stmt_p): Return NULL for BB_RTL bbs. |
| 194 | + (gimple_outgoing_range::calc_switch_range): If default_edge is NULL, |
| 195 | + assert currently_expanding_to_rtl and return before trying to |
| 196 | + set range on that edge. |
| 197 | + * builtins.cc (expand_builtin_strnlen): Use get_range_query (cfun) |
| 198 | + instead of get_global_range_query () and pass |
| 199 | + currently_expanding_gimple_stmt as third argument to range_of_expr. |
| 200 | + (determine_block_size): Likewise. |
| 201 | + * gimple-range.cc (gimple_ranger::range_on_exit): Set s to NULL |
| 202 | + instead of last_nondebug_stmt for BB_RTL bbs. |
| 203 | + * stmt.cc: Include cfgexpand.h. |
| 204 | + (expand_case): Use expand_remove_edge instead of remove_edge. |
| 205 | + |
| 206 | +2025-06-10 Andrew MacLeod < [email protected]> |
| 207 | + |
| 208 | + * value-range.cc (irange::set_range_from_bitmask): When the bitmask |
| 209 | + result is a singleton, check if it is contained in the range. |
| 210 | + |
| 211 | +2025-06-10 Tobias Burnus < [email protected]> |
| 212 | + |
| 213 | + * config/gcn/gcn-devices.def: Add gfx942, gfx950 and gfx9-4-generic. |
| 214 | + * config/gcn/gcn-opts.h (TARGET_CDNA3, TARGET_CDNA3_PLUS, |
| 215 | + TARGET_GLC_NAME, TARGET_TARGET_SC_CACHE): Define. |
| 216 | + (TARGET_ARCHITECTED_FLAT_SCRATCH): Use also for CDNA3. |
| 217 | + * config/gcn/gcn.h (gcn_isa): Add ISA_CDNA3 to the enum. |
| 218 | + * config/gcn/gcn.cc (print_operand): Update 'g' to use |
| 219 | + TARGET_GLC_NAME; add 'G' to print TARGET_GLC_NAME unconditionally. |
| 220 | + * config/gcn/gcn-valu.md (scatter, gather): Use TARGET_GLC_NAME. |
| 221 | + * config/gcn/gcn.md: Use %G<num> instead of glc; use 'buffer_inv sc1' |
| 222 | + for TARGET_TARGET_SC_CACHE. |
| 223 | + * doc/invoke.texi (march): Add gfx942, gfx950 and gfx9-4-generic. |
| 224 | + * doc/install.texi (amdgcn*-*-*): Add gfx942, gfx950 and gfx9-4-generic. |
| 225 | + * config/gcn/gcn-tables.opt: Regenerate. |
| 226 | + |
| 227 | +2025-06-10 Jeff Law < [email protected]> |
| 228 | + |
| 229 | + * config/riscv/riscv.md (lui-constraint<X:mode>and_to_or): Do not use |
| 230 | + the RTL template for split code. Emit it directly taking care to avoid |
| 231 | + emitting a constant load that needed synthesis. Fix formatting. |
| 232 | + |
| 233 | +2025-06-10 Kito Cheng < [email protected]> |
| 234 | + |
| 235 | + * doc/riscv-ext.texi: Regen. |
| 236 | + |
| 237 | +2025-06-10 Pan Li < [email protected]> |
| 238 | + |
| 239 | + * config/riscv/riscv-v.cc (expand_vx_binary_vec_vec_dup): Add new |
| 240 | + case UMOD. |
| 241 | + * config/riscv/riscv.cc (riscv_rtx_costs): Ditto. |
| 242 | + * config/riscv/vector-iterators.md: Add new op umod. |
| 243 | + |
1 | 244 | 2025-06-09 David Malcolm < [email protected]>
|
2 | 245 |
|
3 | 246 | * diagnostic-format-sarif.cc (maybe_get_sarif_kind): Update for
|
|
0 commit comments