]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
f835f0a7
JH
12011-06-13 Jan Hubicka <jh@suse.cz>
2
3 * ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.
4
ee6f1177
JH
52011-06-13 Jan Hubicka <jh@suse.cz>
6
7 * cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY
8 similarly to DECL_COMDAT.
9 * cgraphunit.c (cgraph_analyze_function): Likewise.
10 * ipa.c (function_and_variable_visibility): Likewise.
11
618abf9a
JH
122011-06-13 Jan Hubicka <jh@suse.cz>
13
14 * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output
15 BINFO_VIRTUALS when streaming for ltrans unit.
16
a45fe02f
DE
172011-06-13 David Edelsohn <dje.gcc@gmail.com>
18
19 * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic.
20 (movdi_internal64): Same.
21
222011-06-13 Edmar Wienskoski <edmar@freescale.com>
23
24 * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern
25 with a set of similar patterns, where the MATCH_OPERAND for the
26 function argument is replaced with individual references to hardware
27 registers.
28 (save_fpregs_<mode>): Ditto
29 (restore_gpregs_<mode>): Ditto
30 (return_and_restore_gpregs_<mode>): Ditto
31 (return_and_restore_fpregs_<mode>): Ditto
32 (return_and_restore_fpregs_aix_<mode>): Ditto
33
8775a18b
JH
342011-06-13 Jan Hubicka <jh@suse.cz>
35
36 * ipa-utils.c (postorder_stack): New structure.
37 (ipa_reverse_postorder): Handle aliases.
38
392011-06-13 Jan Hubicka <jh@suse.cz>
40
41 * ipa-inline.c (reset_edge_caches): Walk aliases.
42 (update_caller_keys): Do not test inlinability of aliases.
43 * ipa-inline-analysis.c (do_estimate_edge_time): Look through alias.
44 (do_estimate_growth): Fix typo.
45
6c69a029
JH
462011-06-13 Jan Hubicka <jh@suse.cz>
47
48 * ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from...
49 (can_remove_node_now_p): ... here; handle same comdat groups.
50 (clone_inlined_nodes): Update use of can_remove_node_now_p add TODO.
51 (inline_call): Update use of can_remove_node_now_p.
52
10c63ba4 532011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
495f8c14 54
10c63ba4 55 * config/h8300/h8300.md (bsetqi_msx, bclrqi_msx, bnotqi_msx): Added
495f8c14
KP
56 condition to disallow non-identical memory locations.
57 (*andqi3_2, andqi3_1, iorqi3_1, xorqi3_1): Reorder insn to give
58 preference to bit manipulation instructions.
495f8c14 59
9aa3f5c5
JH
602011-06-13 Jan Hubicka <jh@suse.cz>
61
62 * cgraph.c (cgraph_for_node_thunks_and_aliases,
63 cgraph_for_node_and_aliases): Fix thinko in recursive walking.
64 (nonremovable_p): New function.
65 (cgraph_can_remove_if_no_direct_calls_p): New function.
66 (used_from_object_file_p): New functoin.
10c63ba4
EB
67 (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for
68 references from aliases.
9aa3f5c5
JH
69 * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline.
70 * ipa-inline.c (check_caller_edge): New function.
10c63ba4
EB
71 (want_inline_function_called_once_p): Use it; accept aliases called
72 once, too.
9aa3f5c5
JH
73 * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME.
74
30cecf17
RR
752011-06-13 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
76
77 PR target/48454
78 * config/arm/neon.md (vec_pack_trunc): Set the lengths
79 correctly for the case with Quad vectors.
80
29f85237
JJ
812011-06-13 Jakub Jelinek <jakub@redhat.com>
82 Ira Rosen <ira.rosen@linaro.org>
83
84 PR tree-optimization/49352
85 * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at
86 all, make sure loop_use_stmt after the loop is a def stmt of a used
87 SSA_NAME that is the only one defined inside of the loop. Don't
88 check for COND_EXPR and GIMPLE_BINARY_RHS.
89 (vect_is_simple_reduction_1): Call vect_is_slp_reduction only if
90 check_reduction is true.
91
c3e3f090
JH
922011-06-11 Jan Hubicka <jh@suse.cz>
93
94 PR middle-end/49373
95 * ipa.c (cgraph_externally_visible_p): Check resolution info.
96
516e0768
JH
972011-06-11 Jan Hubicka <jh@suse.cz>
98
99 PR middle-end/48836
100 * ipa-inline-transform.c: Include tree-pass.h
101 (inline_transform): Set TODO_update_ssa_only_virtuals.
102 * Makefile.in (ipa-inline-transform.o): Add tree-pass.h.
103
903b0a8b
JH
1042011-06-11 Jan Hubicka <jh@suse.cz>
105
106 PR middle-end/49378
107 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out
108 aliases and thunks.
109
44542f8e
IR
1102011-06-12 Ira Rosen <ira.rosen@linaro.org>
111
112 * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
113 Take number of iterations to peel into account for equally frequent
114 misalignment values.
115
ea89702b
JH
1162011-06-11 Jan Hubicka <jh@suse.cz>
117
118 * lto-streamer-out.c (produce_symtab): Stream out the newly represented
119 aliases.
120
380ed5ed
JH
1212011-06-11 Jan Hubicka <jh@suse.cz>
122
10c63ba4
EB
123 * ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting varying
124 args.
380ed5ed
JH
125 (ipa_update_after_lto_read): Likewise.
126 (ipa_write_node_info): Do not sream call_with_var_arguments.
127 (ipa_read_node_info): Likewise.
128
00cfc363
JH
1292011-06-11 Jan Hubicka <jh@suse.cz>
130
131 * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.
132
39e2db00
JH
1332011-06-11 Jan Hubicka <jh@suse.cz>
134
135 * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.
136 (lto_symtab_resolve_can_prevail_p): Likewise.
137 (lto_symtab_merge_cgraph_nodes): Update merging of aliases.
138 * cgraph.c (same_body_aliases_done): New global var.
139 (cgraph_same_body_alias_1): Rename to ...
140 (cgraph_create_function_alias): ... this one; reorg to new
141 representation.
142 (cgraph_same_body_alias): Use cgraph_create_function_alias;
143 record references when asked to.
144 (cgraph_add_thunk): Fix formating.
145 (cgraph_get_node): Kill same body alias code.
146 (cgraph_node_for_asm): Likewise.
147 (cgraph_remove_same_body_alias): Remove.
148 (cgraph_remove_node): Kill same body alias code.
149 (cgraph_mark_address_taken_node): Mark also the aliased function
150 as having address taken.
151 (dump_cgraph_node): Dump same body aliases.
152 (cgraph_for_node_thunks_and_aliases): Update for new alias
153 representation.
154 (cgraph_for_node_and_aliases): Likewise.
155 * cgraph.h (same_body): Kll pointer.
156 (same_body_alias): Update comment.
157 (same_body_aliases_done): Declare.
158 (cgraph_remove_same_body_alias): Remove declaration.
159 (cgraph_create_function_alias): Declare.
160 (cgraph_process_same_body_aliases): Declare.
161 (cgraph_function_with_gimple_body_p): Check for alias.
162 (cgraph_can_remove_if_no_direct_calls_p): Look for aliases.
163 (cgraph_alias_aliased_node): New function.
164 (cgraph_function_node): Update for new aliases.
165 (cgraph_function_or_thunk_node): Likewise.
166 * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases.
167 (inline_call): Remove dead aliases.
10c63ba4
EB
168 * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler
169 name hack for same body aliases.
39e2db00
JH
170 (clone_of_p): Look through aliases.
171 (verify_cgraph_node): Verify aliases.
172 (cgraph_analyze_function): Analyze aliases; fixup C++ bugs.
173 (cgraph_process_same_body_aliases): New function.
174 (process_function_and_variable_attributes): Disable weakref warning on
175 alias.
176 (cgraph_analyze_functions): Handle aliases.
177 (cgraph_mark_functions_to_output): Handle aliases same way as thunks.
178 (assemble_thunks): Rename to ...
179 (assemble_thunks_and_aliases): ... this one; handle aliases, too.
180 (cgraph_expand_function): Remove alias output code.
181 (cgraph_output_in_order): Skip aliases.
182 (cgraph_preserve_function_body_p): Aliases don't need preserving.
183 * ipa-ref.c (ipa_ref_use_name): Add alias reference.
184 (ipa_record_reference): Do not assert on alias references.
185 (ipa_ref_has_aliases_p): New function.
186 * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS.
187 (ipa_ref_has_aliases_p): Declare.
188 * lto-cgraph.c (lto_output_node): Handle aliases.
189 (input_node): Likewise.
190 * lto-streamer-out.c (lto_output): Skip aliases.
191 (produce_symtab): Kill same_body_alias code.
192 * ipa-utils.c (ipa_reverse_postorder): Add FIXME.
193 (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p.
194 * ipa-inline.c (update_caller_keys): Walk aliases.
195 (inline_small_functions): Fix thinko in previous patch.
196 * ipa.c (cgraph_externally_visible_p): Do not walk aliases.
197 (function_and_variable_visibility): Do not walk same body aliases.
198 * tree-ssa-structalias.c (associate_varinfo_to_alias): New function.
199 (ipa_pta_execute): Use it.
200
9ee65b55
UB
2012011-06-11 Uros Bizjak <ubizjak@gmail.com>
202
203 * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
204 (*vec_dupv2df): Rename from vec_dupv2df.
205 (vec_dupv2df): New expander.
206
2072011-06-11 Uros Bizjak <ubizjak@gmail.com>
208
209 * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P.
210
2112011-06-11 Uros Bizjak <ubizjak@gmail.com>
212
213 * config/i386/i386.md: Use default value in "isa" attribute.
214 * config/i386/sse.md: Ditto.
215 * config/i386/mmx.md: Ditto.
216
ba68a139
WG
2172011-06-10 Wei Guozhi <carrot@google.com>
218
219 PR target/45335
220 * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
221 stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
222 (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
223 related peephole2.
224 (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
225 related peephole2.
226 * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
227 (arm_legitimate_ldrd_p): New prototype.
228 (arm_output_ldrd): New prototype.
229 * config/arm/arm.c (arm_check_ldrd_operands): New function.
230 (arm_legitimate_ldrd_p): New function.
231 (arm_output_ldrd): New function.
232
deced1e2
XDL
2332011-06-10 David Li <davidxl@google.com>
234
235 * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
236 * passes.c (passr_eq): New function.
237 (create_pass_tab): New function.
238 (pass_traverse): New function.
239 (dump_one_pass): New function.
240 (dump_pass_list): New function.
241 (dump_passes): New function.
242
71fb4f92
JH
2432011-06-10 Jan Hubicka <jh@suse.cz>
244
245 * cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
246 setting the nothrow flag.
247 * ipa-reference.c (propagate): Skip aliases.
248 * ipa-pure-const.c (propagate_pure_const): Skip aliases.
249 (propagate_nothrow): Skip aliases; do not update cgraph.
250 (local_pure_const): Do not update cgraph.
251 * tree-profile.c (tree_profiling): Do fixup_cfg.
252
41817394
JH
2532011-06-10 Jan Hubicka <jh@suse.cz>
254
255 * ipa.c (cgraph_non_local_node_p_1): Break out from ...;
256 (cgraph_local_node_p): ... here; handle aliases.
257 (has_addr_references_p): Break out from ...;
258 (cgraph_remove_unreachable_nodes) ... here.
259
fb37c1de
JH
2602011-06-10 Jan Hubicka <jh@suse.cz>
261
262 * opts.c (default_options): Enlist OPT_finline_functions_called_once.
9ee65b55
UB
263 * common.opt (flag_inline_functions_called_once): Do not
264 initialize to 1.
fb37c1de 265
0818c24c
JH
2662011-06-10 Jan Hubicka <jh@suse.cz>
267
268 * ipa-cp.c (ipcp_versionable_function_p): Thunks are not versionable.
9ee65b55
UB
269 (ipcp_initialize_node_lattices): Do not deal with aliases;
270 Do not try to propagate through thunks.
0818c24c
JH
271 (ipcp_change_tops_to_bottom): Do not deal with aliases.
272
c8246dbe
JH
2732011-06-10 Jan Hubicka <jh@suse.cz>
274
9ee65b55
UB
275 * ipa-prop.c (ipa_write_node_info): Stream jump functions
276 for indirect calls.
c8246dbe
JH
277 (ipa_read_node_info): Likewise.
278
d7e2a1c1
BS
2792011-06-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
280
281 PR lto/49302
282 * tree-ssa-math-opts.c (powi_as_mults): Minor cleanup.
283 (build_and_insert_call): Likewise.
284 (build_and_insert_ref): New.
285 (gimple_expand_builtin_pow): Minor cleanup.
286 (gimple_expand_builtin_cabs): New.
287 (execute_cse_sincos): Add case for BUILT_IN_CABS.
9ee65b55 288
749f25d8
JH
2892011-06-10 Jan Hubicka <jh@suse.cz>
290
291 * ipa-cp.c (ipcp_versionable_function_p): Aliases are not versionable.
292 (ipcp_cloning_candidate_p): Aliases are not clonning candidates.
293 (ipcp_initialize_node_lattices): We don't propagate through an aliases.
294 (ipcp_propagate_stage): Skip aliases when propagating.
295 (ipcp_need_redirect_p): Skip aliases.
296 (ipcp_insert_stage): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY and
297 collect_callers_of_node.
298 * ipa-prop.c (ipa_init_func_list): Do not analyze datastructures
299 for aliases.
300 (ipa_compute_jump_functions): Look through aliases.
301
8340fbd7
RO
3022011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
303
304 * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it.
305
9aaa7e47
HPN
3062011-06-10 Hans-Peter Nilsson <hp@axis.com>
307
308 * ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
309 Adjust comments.
310 * system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
311
f1724940
JH
3122011-06-10 Jan Hubicka <jh@suse.cz>
313
314 * ipa-cp.c (ipcp_process_devirtualization_opportunities):
315 Update call of gimple_get_virt_method_for_binfo.
316 * gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
317 refuse_thunks parameter.
318 (gimple_fold_call): Update.
319 * ipa-prop.c (try_make_edge_direct_virtual_call): Update.
320
a6f834c5
JH
3212011-06-10 Jan Hubicka <jh@suse.cz>
322
323 * tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
324 (not_all_callers_have_enough_arguments_p): ... this one; turn into
325 worker for cgraph_for_node_and_aliases.
326 (convert_callers_for_node): Break out from ...
327 (convert_callers): ... here.
328 (modify_function): Use collect_callers_of_node.
329 (ipa_early_sra): Use cgraph_for_node_and_aliases.
330
7871eee3
RG
3312011-06-10 Richard Guenther <rguenther@suse.de>
332
333 PR tree-optimization/49361
334 * fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
335 when not already in gimple form.
336
dae957ae
RG
3372011-06-10 Richard Guenther <rguenther@suse.de>
338
339 PR bootstrap/49344
340 * tree-ssa-math-opts.c (convert_mult_to_fma): Use
341 FOR_EACH_PHI_OR_STMT_USE.
342
a5b1779f
JH
3432011-06-10 Jan Hubicka <jh@suse.cz>
344
345 * ipa-inline-transform.c (can_remove_node_now_p): Move out of...
346 (clone_inlined_nodes): ... here.
347 (inline_call): Use cgraph_function_or_thunk_node; redirect edge
348 to real destination prior inlining.
349 * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
350 can_early_inline_edge_p, want_early_inline_function_p,
351 want_early_inline_function_p, want_inline_small_function_p,
352 want_inline_self_recursive_call_p, want_inline_function_called_once_p,
353 edge_badness, update_all_callee_keys, lookup_recursive_calls,
354 add_new_edges_to_heap, inline_small_functions, flatten_function,
355 inline_always_inline_functions, early_inline_small_functions): Use
356 cgraph_function_or_thunk_node.
357 * ipa-inline-analysis.c (evaluate_conditions_for_edge,
358 dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
359 (do_estimate_edge_growth_1): Break out from ...
360 (do_estimate_growth) ... here; walk aliases.
361 (inline_generate_summary): Skip aliases.
362
c1ae3ca5
RG
3632011-06-10 Richard Guenther <rguenther@suse.de>
364
9ee65b55
UB
365 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts
366 forward when combining, visit inserted stmts when a stmt was changed.
c1ae3ca5 367
b504a918
PC
3682011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
369
370 * tree.h (error_operand_p): Add.
371 * dbxout.c (dbxout_type_fields): Use the latter.
372 * c-decl.c (add_stmt): Likewise.
373 * gimplify.c (omp_add_variable, omp_notice_variable,
374 gimplify_scan_omp_clauses): Likewise.
375
3f5ea9dc 3762011-06-10 Georg-Johann Lay <avr@gjlay.de>
b504a918 377
3f5ea9dc
GJL
378 * config/avr/avr.c (avr_function_arg_advance): Fix thinko about
379 when a value is actually passed in regs.
380
b11b0904
EB
3812011-06-10 Eric Botcazou <ebotcazou@adacore.com>
382