]>
Commit | Line | Data |
---|---|---|
516e0768 JH |
1 | 2011-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 |
8 | 2011-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 |
14 | 2011-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 |
20 | 2011-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 |
25 | 2011-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 |
32 | 2011-06-11 Jan Hubicka <jh@suse.cz> |
33 | ||
34 | * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto. | |
35 | ||
39e2db00 JH |
36 | 2011-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 |
104 | 2011-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 | ||
110 | 2011-06-11 Uros Bizjak <ubizjak@gmail.com> | |
111 | ||
112 | * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P. | |
113 | ||
114 | 2011-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 |
120 | 2011-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 |
136 | 2011-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 |
146 | 2011-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 |
156 | 2011-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 |
163 | 2011-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 |
169 | 2011-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 |
176 | 2011-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 |
182 | 2011-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 |
192 | 2011-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 |
205 | 2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
206 | ||
207 | * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it. | |
208 | ||
9aaa7e47 HPN |
209 | 2011-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 |
215 | 2011-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 |
224 | 2011-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 |
234 | 2011-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 |
240 | 2011-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 |
246 | 2011-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 |
266 | 2011-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 |
271 | 2011-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 | 279 | 2011-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 |
284 | 2011-06-10 Eric Botcazou <ebotcazou@adacore.com> |
285 |