]>
Commit | Line | Data |
---|---|---|
f835f0a7 JH |
1 | 2011-06-13 Jan Hubicka <jh@suse.cz> |
2 | ||
3 | * ipa-cp.c (ipcp_iterate_stage): Revert accidental commit. | |
4 | ||
ee6f1177 JH |
5 | 2011-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 |
12 | 2011-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 |
17 | 2011-06-13 David Edelsohn <dje.gcc@gmail.com> |
18 | ||
19 | * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic. | |
20 | (movdi_internal64): Same. | |
21 | ||
22 | 2011-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 |
34 | 2011-06-13 Jan Hubicka <jh@suse.cz> |
35 | ||
36 | * ipa-utils.c (postorder_stack): New structure. | |
37 | (ipa_reverse_postorder): Handle aliases. | |
38 | ||
39 | 2011-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 |
46 | 2011-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 | 53 | 2011-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 |
60 | 2011-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 |
75 | 2011-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 |
81 | 2011-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 |
92 | 2011-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 |
97 | 2011-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 |
104 | 2011-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 |
110 | 2011-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 |
116 | 2011-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 |
121 | 2011-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 |
129 | 2011-06-11 Jan Hubicka <jh@suse.cz> |
130 | ||
131 | * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto. | |
132 | ||
39e2db00 JH |
133 | 2011-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 |
201 | 2011-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 | ||
207 | 2011-06-11 Uros Bizjak <ubizjak@gmail.com> | |
208 | ||
209 | * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P. | |
210 | ||
211 | 2011-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 |
217 | 2011-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 |
233 | 2011-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 |
243 | 2011-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 |
253 | 2011-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 |
260 | 2011-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 |
266 | 2011-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 |
273 | 2011-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 |
279 | 2011-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 |
289 | 2011-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 |
302 | 2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
303 | ||
304 | * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it. | |
305 | ||
9aaa7e47 HPN |
306 | 2011-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 |
312 | 2011-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 |
321 | 2011-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 |
331 | 2011-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 |
337 | 2011-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 |
343 | 2011-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 |
363 | 2011-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 |
368 | 2011-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 | 376 | 2011-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 |
381 | 2011-06-10 Eric Botcazou <ebotcazou@adacore.com> |
382 |