]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR middle-end/48836 (internal compiler error: in execute_todo, at passes.c:1261)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
516e0768
JH
12011-06-11 Jan Hubicka <jh@suse.cz>
2
3 PR middle-end/48836
4 * ipa-inline-transform.c: Include tree-pass.h
5 (inline_transform): Set TODO_update_ssa_only_virtuals.
6 * Makefile.in (ipa-inline-transform.o): Add tree-pass.h.
7
903b0a8b
JH
82011-06-11 Jan Hubicka <jh@suse.cz>
9
10 PR middle-end/49378
11 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out
12 aliases and thunks.
13
44542f8e
IR
142011-06-12 Ira Rosen <ira.rosen@linaro.org>
15
16 * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
17 Take number of iterations to peel into account for equally frequent
18 misalignment values.
19
ea89702b
JH
202011-06-11 Jan Hubicka <jh@suse.cz>
21
22 * lto-streamer-out.c (produce_symtab): Stream out the newly represented
23 aliases.
24
380ed5ed
JH
252011-06-11 Jan Hubicka <jh@suse.cz>
26
27 * ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting varying args.
28 (ipa_update_after_lto_read): Likewise.
29 (ipa_write_node_info): Do not sream call_with_var_arguments.
30 (ipa_read_node_info): Likewise.
31
00cfc363
JH
322011-06-11 Jan Hubicka <jh@suse.cz>
33
34 * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.
35
39e2db00
JH
362011-06-11 Jan Hubicka <jh@suse.cz>
37
38 * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.
39 (lto_symtab_resolve_can_prevail_p): Likewise.
40 (lto_symtab_merge_cgraph_nodes): Update merging of aliases.
41 * cgraph.c (same_body_aliases_done): New global var.
42 (cgraph_same_body_alias_1): Rename to ...
43 (cgraph_create_function_alias): ... this one; reorg to new
44 representation.
45 (cgraph_same_body_alias): Use cgraph_create_function_alias;
46 record references when asked to.
47 (cgraph_add_thunk): Fix formating.
48 (cgraph_get_node): Kill same body alias code.
49 (cgraph_node_for_asm): Likewise.
50 (cgraph_remove_same_body_alias): Remove.
51 (cgraph_remove_node): Kill same body alias code.
52 (cgraph_mark_address_taken_node): Mark also the aliased function
53 as having address taken.
54 (dump_cgraph_node): Dump same body aliases.
55 (cgraph_for_node_thunks_and_aliases): Update for new alias
56 representation.
57 (cgraph_for_node_and_aliases): Likewise.
58 * cgraph.h (same_body): Kll pointer.
59 (same_body_alias): Update comment.
60 (same_body_aliases_done): Declare.
61 (cgraph_remove_same_body_alias): Remove declaration.
62 (cgraph_create_function_alias): Declare.
63 (cgraph_process_same_body_aliases): Declare.
64 (cgraph_function_with_gimple_body_p): Check for alias.
65 (cgraph_can_remove_if_no_direct_calls_p): Look for aliases.
66 (cgraph_alias_aliased_node): New function.
67 (cgraph_function_node): Update for new aliases.
68 (cgraph_function_or_thunk_node): Likewise.
69 * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases.
70 (inline_call): Remove dead aliases.
71 * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler name
72 hack for same body aliases.
73 (clone_of_p): Look through aliases.
74 (verify_cgraph_node): Verify aliases.
75 (cgraph_analyze_function): Analyze aliases; fixup C++ bugs.
76 (cgraph_process_same_body_aliases): New function.
77 (process_function_and_variable_attributes): Disable weakref warning on
78 alias.
79 (cgraph_analyze_functions): Handle aliases.
80 (cgraph_mark_functions_to_output): Handle aliases same way as thunks.
81 (assemble_thunks): Rename to ...
82 (assemble_thunks_and_aliases): ... this one; handle aliases, too.
83 (cgraph_expand_function): Remove alias output code.
84 (cgraph_output_in_order): Skip aliases.
85 (cgraph_preserve_function_body_p): Aliases don't need preserving.
86 * ipa-ref.c (ipa_ref_use_name): Add alias reference.
87 (ipa_record_reference): Do not assert on alias references.
88 (ipa_ref_has_aliases_p): New function.
89 * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS.
90 (ipa_ref_has_aliases_p): Declare.
91 * lto-cgraph.c (lto_output_node): Handle aliases.
92 (input_node): Likewise.
93 * lto-streamer-out.c (lto_output): Skip aliases.
94 (produce_symtab): Kill same_body_alias code.
95 * ipa-utils.c (ipa_reverse_postorder): Add FIXME.
96 (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p.
97 * ipa-inline.c (update_caller_keys): Walk aliases.
98 (inline_small_functions): Fix thinko in previous patch.
99 * ipa.c (cgraph_externally_visible_p): Do not walk aliases.
100 (function_and_variable_visibility): Do not walk same body aliases.
101 * tree-ssa-structalias.c (associate_varinfo_to_alias): New function.
102 (ipa_pta_execute): Use it.
103
9ee65b55
UB
1042011-06-11 Uros Bizjak <ubizjak@gmail.com>
105
106 * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
107 (*vec_dupv2df): Rename from vec_dupv2df.
108 (vec_dupv2df): New expander.
109
1102011-06-11 Uros Bizjak <ubizjak@gmail.com>
111
112 * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P.
113
1142011-06-11 Uros Bizjak <ubizjak@gmail.com>
115
116 * config/i386/i386.md: Use default value in "isa" attribute.
117 * config/i386/sse.md: Ditto.
118 * config/i386/mmx.md: Ditto.
119
ba68a139
WG
1202011-06-10 Wei Guozhi <carrot@google.com>
121
122 PR target/45335
123 * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
124 stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
125 (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
126 related peephole2.
127 (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
128 related peephole2.
129 * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
130 (arm_legitimate_ldrd_p): New prototype.
131 (arm_output_ldrd): New prototype.
132 * config/arm/arm.c (arm_check_ldrd_operands): New function.
133 (arm_legitimate_ldrd_p): New function.
134 (arm_output_ldrd): New function.
135
deced1e2
XDL
1362011-06-10 David Li <davidxl@google.com>
137
138 * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
139 * passes.c (passr_eq): New function.
140 (create_pass_tab): New function.
141 (pass_traverse): New function.
142 (dump_one_pass): New function.
143 (dump_pass_list): New function.
144 (dump_passes): New function.
145
71fb4f92
JH
1462011-06-10 Jan Hubicka <jh@suse.cz>
147
148 * cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
149 setting the nothrow flag.
150 * ipa-reference.c (propagate): Skip aliases.
151 * ipa-pure-const.c (propagate_pure_const): Skip aliases.
152 (propagate_nothrow): Skip aliases; do not update cgraph.
153 (local_pure_const): Do not update cgraph.
154 * tree-profile.c (tree_profiling): Do fixup_cfg.
155
41817394
JH
1562011-06-10 Jan Hubicka <jh@suse.cz>
157
158 * ipa.c (cgraph_non_local_node_p_1): Break out from ...;
159 (cgraph_local_node_p): ... here; handle aliases.
160 (has_addr_references_p): Break out from ...;
161 (cgraph_remove_unreachable_nodes) ... here.
162
fb37c1de
JH
1632011-06-10 Jan Hubicka <jh@suse.cz>
164
165 * opts.c (default_options): Enlist OPT_finline_functions_called_once.
9ee65b55
UB
166 * common.opt (flag_inline_functions_called_once): Do not
167 initialize to 1.
fb37c1de 168
0818c24c
JH
1692011-06-10 Jan Hubicka <jh@suse.cz>
170
171 * ipa-cp.c (ipcp_versionable_function_p): Thunks are not versionable.
9ee65b55
UB
172 (ipcp_initialize_node_lattices): Do not deal with aliases;
173 Do not try to propagate through thunks.
0818c24c
JH
174 (ipcp_change_tops_to_bottom): Do not deal with aliases.
175
c8246dbe
JH
1762011-06-10 Jan Hubicka <jh@suse.cz>
177
9ee65b55
UB
178 * ipa-prop.c (ipa_write_node_info): Stream jump functions
179 for indirect calls.
c8246dbe
JH
180 (ipa_read_node_info): Likewise.
181
d7e2a1c1
BS
1822011-06-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
183
184 PR lto/49302
185 * tree-ssa-math-opts.c (powi_as_mults): Minor cleanup.
186 (build_and_insert_call): Likewise.
187 (build_and_insert_ref): New.
188 (gimple_expand_builtin_pow): Minor cleanup.
189 (gimple_expand_builtin_cabs): New.
190 (execute_cse_sincos): Add case for BUILT_IN_CABS.
9ee65b55 191
749f25d8
JH
1922011-06-10 Jan Hubicka <jh@suse.cz>
193
194 * ipa-cp.c (ipcp_versionable_function_p): Aliases are not versionable.
195 (ipcp_cloning_candidate_p): Aliases are not clonning candidates.
196 (ipcp_initialize_node_lattices): We don't propagate through an aliases.
197 (ipcp_propagate_stage): Skip aliases when propagating.
198 (ipcp_need_redirect_p): Skip aliases.
199 (ipcp_insert_stage): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY and
200 collect_callers_of_node.
201 * ipa-prop.c (ipa_init_func_list): Do not analyze datastructures
202 for aliases.
203 (ipa_compute_jump_functions): Look through aliases.
204
8340fbd7
RO
2052011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
206
207 * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it.
208
9aaa7e47
HPN
2092011-06-10 Hans-Peter Nilsson <hp@axis.com>
210
211 * ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
212 Adjust comments.
213 * system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
214
f1724940
JH
2152011-06-10 Jan Hubicka <jh@suse.cz>
216
217 * ipa-cp.c (ipcp_process_devirtualization_opportunities):
218 Update call of gimple_get_virt_method_for_binfo.
219 * gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
220 refuse_thunks parameter.
221 (gimple_fold_call): Update.
222 * ipa-prop.c (try_make_edge_direct_virtual_call): Update.
223
a6f834c5
JH
2242011-06-10 Jan Hubicka <jh@suse.cz>
225
226 * tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
227 (not_all_callers_have_enough_arguments_p): ... this one; turn into
228 worker for cgraph_for_node_and_aliases.
229 (convert_callers_for_node): Break out from ...
230 (convert_callers): ... here.
231 (modify_function): Use collect_callers_of_node.
232 (ipa_early_sra): Use cgraph_for_node_and_aliases.
233
7871eee3
RG
2342011-06-10 Richard Guenther <rguenther@suse.de>
235
236 PR tree-optimization/49361
237 * fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
238 when not already in gimple form.
239
dae957ae
RG
2402011-06-10 Richard Guenther <rguenther@suse.de>
241
242 PR bootstrap/49344
243 * tree-ssa-math-opts.c (convert_mult_to_fma): Use
244 FOR_EACH_PHI_OR_STMT_USE.
245
a5b1779f
JH
2462011-06-10 Jan Hubicka <jh@suse.cz>
247
248 * ipa-inline-transform.c (can_remove_node_now_p): Move out of...
249 (clone_inlined_nodes): ... here.
250 (inline_call): Use cgraph_function_or_thunk_node; redirect edge
251 to real destination prior inlining.
252 * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
253 can_early_inline_edge_p, want_early_inline_function_p,
254 want_early_inline_function_p, want_inline_small_function_p,
255 want_inline_self_recursive_call_p, want_inline_function_called_once_p,
256 edge_badness, update_all_callee_keys, lookup_recursive_calls,
257 add_new_edges_to_heap, inline_small_functions, flatten_function,
258 inline_always_inline_functions, early_inline_small_functions): Use
259 cgraph_function_or_thunk_node.
260 * ipa-inline-analysis.c (evaluate_conditions_for_edge,
261 dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
262 (do_estimate_edge_growth_1): Break out from ...
263 (do_estimate_growth) ... here; walk aliases.
264 (inline_generate_summary): Skip aliases.
265
c1ae3ca5
RG
2662011-06-10 Richard Guenther <rguenther@suse.de>
267
9ee65b55
UB
268 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts
269 forward when combining, visit inserted stmts when a stmt was changed.
c1ae3ca5 270
b504a918
PC
2712011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
272
273 * tree.h (error_operand_p): Add.
274 * dbxout.c (dbxout_type_fields): Use the latter.
275 * c-decl.c (add_stmt): Likewise.
276 * gimplify.c (omp_add_variable, omp_notice_variable,
277 gimplify_scan_omp_clauses): Likewise.
278
3f5ea9dc 2792011-06-10 Georg-Johann Lay <avr@gjlay.de>
b504a918 280
3f5ea9dc
GJL
281 * config/avr/avr.c (avr_function_arg_advance): Fix thinko about
282 when a value is actually passed in regs.
283
b11b0904
EB
2842011-06-10 Eric Botcazou <ebotcazou@adacore.com>
285