]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR fortran/49268 (Invalid code generated for assumed-size Cray pointee)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
4e76acd2
UB
12011-06-02 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/constraints.md (Y3): New register constraint.
4 * config/i386/sse.md (*vec_interleave_highv2df): Merge with
5 *sse3_interleave_highv2df and *sse2_interleave_highv2df.
6 (*vec_interleave_lowv2df): Merge with *sse3_interleave_lowv2df and
7 *sse2_interleave_lowv2df.
8
288f605f
JB
92011-06-02 Julian Brown <julian@codesourcery.com>
10
11 * config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
12 * config/arm/arm.c (arm_cortex_a5_branch_cost): New.
13 (arm_cortex_a5_tune): New.
14
7ec70105
JB
152011-06-02 Julian Brown <julian@codesourcery.com>
16
153668ec
JB
17 * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
18 * config/arm/arm.c (arm_default_branch_cost): New.
19 (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
20 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a9_tune)
21 (arm_fa726_tune): Set branch_cost field using
22 arm_default_branch_cost.
23 * config/arm/arm.h (BRANCH_COST): Use branch_cost hook from
24 current_tune structure.
25 * dojump.c (tm_p.h): Include file.
26
272011-06-02 Julian Brown <julian@codesourcery.com>
28
29 * config/arm/arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2
30 tuning.
7ec70105
JB
31 (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
32 (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
33 * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
34 field.
35 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
36 (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
37 (arm_fa726te_tune): Add prefer_constant_pool setting.
38 (arm_v6t2_tune, arm_cortex_tune): New.
39 * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
40 prefer_constant_pool setting.
41
aad61732
UB
422011-06-02 Uros Bizjak <ubizjak@gmail.com>
43
4e76acd2
UB
44 * config/i386/i386.c (standard_sse_constant_p) <case 1>: Simplify
45 switch statement.
aad61732
UB
46 * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>: Ditto.
47 (*movdf_internal) <case 6,7,8>: Ditto.
48
4e76acd2 49 * config/i386/constraints.md (Y4): New register constraint.
aad61732
UB
50 * config/i386/sse.md (vec_set<mode>_0): Merge with
51 *vec_set<mode>_0_sse4_1 and *vec_set<mode>_0_sse2.
52 (*vec_extractv2di_1): Merge from *vec_extractv2di_1_sse2 and
53 *vec_extractv2di_1_sse.
54 (*vec_concatv2di_rex64): Merge from *vec_concatv2di_rex64_sse4_1
55 and *vec_concatv2di_rex64_sse.
56
6e588138
SH
572011-06-02 Stuart Henderson <shenders@gcc.gnu.org>
58
59 PR target/48807
60 * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Check return value
61 of cgraph_local_info for null before attempting to use it.
62
bc6d3f91
EB
632011-06-02 Eric Botcazou <ebotcazou@adacore.com>
64
65 * function.h (struct stack_usage): Remove dynamic_alloc_count field.
66 (current_function_dynamic_alloc_count): Delete.
67 * builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
68 (expand_builtin_nonlocal_goto): Remove obsolete comment.
69 (expand_builtin_update_setjmp_buf): Remove dead code.
70 * cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
71 * explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
72 support.
73 * function.c (instantiate_virtual_regs): Likewise.
74 * postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
75 for a block with a single abnormal incoming edge.
76 * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
a21ede65 77 (SETJMP_VIA_SAVE_AREA): Delete.
bc6d3f91
EB
78 * config/sparc/sparc-protos.h (load_got_register): Declare.
79 * config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
80 (load_got_register): Make global.
81 (sparc_frame_pointer_required): Add 'static'.
82 (sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
83 (sparc_builtin_setjmp_frame_value): New function.
84 * config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
85 (save_stack_nonlocal): New expander.
86 (restore_stack_nonlocal): Likewise.
87 (nonlocal_goto): Remove modes, adjust predicates and reimplement.
88 (nonlocal_goto_internal): New insn.
89 (goto_handler_and_restore): Delete.
90 (builtin_setjmp_setup): Likewise.
91 (do_builtin_setjmp_setup): Likewise.
92 (setjmp): Likewise.
93 (builtin_setjmp_receiver): New expander.
94
69282fee
DL
952011-06-01 David Li <davidxl@google.com>
96
97 PR middle-end/49261
98 * tree-pretty-print.c (dump_function_header): Format cleanup.
99
e95873dd
KK
1002011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
101
102 PR target/49238
103 * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
104 needed when original operands are used for msw_skip comparison.
105
88c15821
JJ
1062011-06-01 Jakub Jelinek <jakub@redhat.com>
107
108 PR debug/49250
109 * var-tracking.c (add_uses, add_stores): Don't call
110 cselib_subst_to_values on ENTRY_VALUE.
111
07233947
DN
1122011-06-01 Diego Novillo <dnovillo@google.com>
113
114 * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
115 output_record_start with LTO_null instead of output_zero.
116 (lto_output_ts_binfo_tree_pointers): Likewise.
117 (lto_output_tree): Likewise.
118 (output_eh_try_list): Likewise.
119 (output_eh_region): Likewise.
120 (output_eh_lp): Likewise.
121 (output_eh_regions): Likewise.
122 (output_bb): Likewise.
123 (output_function): Likewise.
124 (output_unreferenced_globals): Likewise.
125 * lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
126 instead of NUM_TREE_CODES.
127 (lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
128 (lto_output_int_in_range): Change << to >> when shifting VAL.
129
4ee3537a
DN
1302011-06-01 Diego Novillo <dnovillo@google.com>
131
132 * lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
133 Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
134
02972eaf
RS
1352011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
136
137 PR target/45074
138 * optabs.h (valid_multiword_target_p): Declare.
139 * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
140 doing multi-word operations.
141 * optabs.c (expand_binop): Likewise.
142 (expand_doubleword_bswap): Likewise.
143 (expand_absneg_bit): Likewise.
144 (expand_unop): Likewise.
145 (expand_copysign_bit): Likewise.
146 (multiword_target_p): New function.
147
4d41c2d1
RS
1482011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
149
150 PR rtl-optimization/48830
151 PR rtl-optimization/48808
152 PR rtl-optimization/48792
153 * reload.c (push_reload): Check contains_reg_of_mode.
154 * reload1.c (strip_paradoxical_subreg): New function.
155 (gen_reload_chain_without_interm_reg_p): Use it to handle
156 paradoxical subregs.
157 (emit_output_reload_insns, gen_reload): Likewise.
158
5f57dccb
DL
1592011-06-01 David Li <davidxl@google.com>
160
161 * predict.c : Change pass name
162 * ipa.c: Ditto.
163 * dce.c: Ditto.
164 * tree-profile.c: Ditto.
165 * except.c: Ditto.
166
ea6cf778
DL
1672011-06-01 David Li <davidxl@google.com>
168
169 * tree-pretty-print.c (dump_function_header): New function.
170 * final.c (rest_of_clean_state): Use header dumper.
171 * tree-cfg.c (gimple_dump_cfg): Use header dumper.
172 * passes.c (pass_init_dump_file): Use header dumper.
173
ebdc0d4b
JJ
1742011-06-01 Jakub Jelinek <jakub@redhat.com>
175
eeeb9b49
JJ
176 * dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
177 ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
178 popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
179 New functions.
180 (mem_loc_descriptor): Use them.
181
ebdc0d4b
JJ
182 * var-tracking.c (create_entry_value): New function.
183 (vt_add_function_parameter): Use it.
184
0699e415
RO
1852011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
186
187 * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
188 Include <signal.h>, <ucontext.h>.
189 (sigill_caught): Define.
190 (sigill_hdlr): New function.
191 (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
192 insns can be executed.
aad61732 193 * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
0699e415
RO
194 * config/sparc/sol2.h (ENDFILE_SPEC): Remove.
195
ca24c5ad
RO
1962011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
197
198 * config/t-slibgcc-darwin: Move to ...
aad61732 199 * config/t-slibgcc-dummy: ... this. Clarify comments.
ca24c5ad
RO
200 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
201 powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
202 (i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
aad61732 203 (i[34567]86-*-rtems*): Remove extra_parts. Use i386/t-rtems.
ca24c5ad
RO
204 Remove i386/t-crtstuff from tmake_file.
205 (i[34567]86-*-solaris2*): Remove t-svr4,
206 t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
207 t-slibgcc-dummy.
208 (sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
209 (sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
210 sparc/t-crtfm from tmake_file.
211 (sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
212 t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
213 Remove extra_parts.
214 * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
215 * config/i386/t-nwld (SHLIB_LINK): Remove.
216 * config/i386/t-rtems-i386: Rename to ...
217 * config/i386/t-rtems: ... this.
218 ($(T)crti.o, $(T)crtn.o): Remove.
219 (FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
220 (dp-bit.c, fp-bit.c, xp-bit.c): Remove.
221 (EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
222 * config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
223 EXTRA_MULTILIB_PARTS): Remove.
224 * config/sparc/t-sol2-64: Likewise.
225 * config/sparc/t-sol2: Remove.
226 * config/sparc/t-crtin: Remove.
227 * config/sparc/gmon-sol2.c: Move to ../libgcc/config.
228 * config/i386/gmon-sol2.c: Remove.
229 * config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
230 * config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
231 * config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
232 * config/i386/sol2-gc1.asm: Remove.
233 * config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
234 * config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
235 * config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
236 * config/t-slibgcc-sld: Remove.
237
a78d13c3
JJ
2382011-06-01 Jakub Jelinek <jakub@redhat.com>
239
240 * dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
241 base_type_for_mode with op_mode instead of mode.
242
572070ef
PB
2432011-06-01 Paul Brook <paul@cpodesourcery.com>
244
245 * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
246 Cortex-A15.
247 * config/arm/arm-tune.md: Regenerate.
248 * config/arm/arm-tables.opt: Regenerate.
249 * config/arm/arm.c (FL_DIV): Rename...
250 (FL_THUMB_DIV): ... to this.
251 (FL_ARM_DIV): Define.
252 (FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
253 (arm_arch_hwdiv): Remove.
254 (arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
255 (arm_issue_rate): Add cortexr5.
256 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
257 __ARM_ARCH_EXT_IDIV__.
258 (TARGET_IDIV): Define.
259 (arm_arch_hwdiv): Remove.
260 (arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
261 * config/arm/arm.md (tune_cortexr4): Add cortexr5.
262 (divsi3, udivsi3): New patterns.
263 * config/arm/thumb2.md (divsi3, udivsi3): Remove.
264 * doc/invoke.texi: Document ARM -mcpu=cortex-r5
265
11026b51
MJ
2662011-06-01 Martin Jambor <mjambor@suse.cz>
267
268 * ipa-utils.c (ipa_dfs_info): New field scc_no.
269 * ipa-utils.c (searchc): Set scc_no.
270
b6156cf2
MJ
2712011-06-01 Martin Jambor <mjambor@suse.cz>
272
273 * ipa-utils.c (searchc_env): New field allow_overwritable.
274 (searchc): do not ignore edges to overwritable nodes if indicated
275 by env->allow_overwritable.
276 (ipa_reduced_postorder): Set env.allow_overwritable.
277
6807da97
RG
2782011-06-01 Richard Guenther <rguenther@suse.de>
279
280 * tree.c (free_lang_data): Do not reset boolean_type_node nor
281 char_type_node.
282 * lto-streamer.c (lto_record_common_node): Take node pointer,
283 do not register types.
284 (lto_preload_common_nodes): Explicitly skip preloading nodes
285 that differ between frontends.
286
66bd20e7 2872011-05-31 Pat Haugen <pthaugen@us.ibm.com>
ddaf42bc
PH
288
289 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
290 NON_FLOAT_REGS.
291
66bd20e7 2922011-05-31 Pat Haugen <pthaugen@us.ibm.com>
abdd692e
PH
293
294 * config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
295 parameter value for dump. Dump cost on outermost call only.
296 (rs6000_memory_move_cost): Dump cost on outermost call only.
297
7351d8da
JJ
2982011-05-31 Jakub Jelinek <jakub@redhat.com>
299
ead7c399
JJ
300 * dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
301 DW_OP_GNU_convert ops.
302
509f4495
JJ
303 * cselib.c (promote_debug_loc): Allow l->next non-NULL for
304 cselib_preserve_constants.
305 (cselib_lookup_1): If cselib_preserve_constants,
306 a new VALUE is being created for REG and there is a VALUE for the
307 same register in wider mode, add another loc with lowpart SUBREG of
308 the wider VALUE.
309 (cselib_subst_to_values): Handle ENTRY_VALUE.
310 * var-tracking.c (replace_expr_with_values): Return NULL for
311 ENTRY_VALUE too.
312 * dwarf2out.c (convert_descriptor_to_signed): New function.
313 (mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
314 instead of two shifts.
315 (mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
316 the right mode if needed.
317 (mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
318 (mem_loc_descriptor) <case UNSIGNED_FIX>: Use
319 convert_descriptor_to_signed.
320 (mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
321 BSWAP, ROTATE, ROTATERT>: Handle these rtls.
322
7351d8da
JJ
323 PR target/48688
324 * config/i386/i386.md (*lea_general_4): New define_insn_and_split.
325
5cc93ee0
UB
3262011-05-31 Uros Bizjak <ubizjak@gmail.com>
327
328 * config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
329 of X87MODEI12 and SWI48x instead of SSEMODEI24.
330 (SWI248x): New mode iterator, rename from X87MODEI.
331 (X87MODEI): Remove mode iterator.
332 (X87MODEI12): Ditto.
333 (SSEMODEI24): Ditto.
334
f0686e78
AO
3352011-05-31 Alexandre Oliva <aoliva@redhat.com>
336
337 * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
338 * doc/invoke.texi: Document max-vartrack-expr-depth.
339 * var-tracking.c (EXPR_DEPTH): New.
340 (reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
341
f3308413
AO
3422011-05-31 Alexandre Oliva <aoliva@redhat.com>
343
344 * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
345 * config/i386/sse.md: Add n to negated FMA pattern names.
346
28c14a04
AO
3472011-05-31 Alexandre Oliva <aoliva@redhat.com>
348
349 * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
350
70efc82d
AO
3512011-05-31 Alexandre Oliva <aoliva@redhat.com>
352
5cc93ee0 353 * gengtype-state.c (read_state_params_structs): Initialize previous.
70efc82d 354
6ba5d856
UB
3552011-05-31 Uros Bizjak <ubizjak@gmail.com>
356
357 * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
358 (FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
359
3602011-05-31 Uros Bizjak <ubizjak@gmail.com>
361
362 * config/i386/i386.md (*movtf_internal): Avoid allocating general
363 registers. Penalize F*r->o alternative to prevent partial memory
364 stalls. Slightly penalize *roF->*r alternative. Generate SSE
365 CONST_DOUBLE immediates when optimizing function for size. Do not move
366 CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
367 (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
368 (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
369 (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
370 alternatives.
371 (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
372
373 (fp_register_operand splitters): Use fp_register_operand
374 constraint. Do not use FP_REG_P in insn condition.
375 (any_fp_register_operand splitters): Use any_fp_register_operand
376 constraint. Do not use ANY_FP_REG_P in insn condition.
377
533c07c5
JH
3782011-05-31 Jan Hubicka <jh@suse.cz>
379
380 * cgraph.h (cgraph_inline_failed_t): Give enum a name
381 * lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
382 (LTO_cgraph_tags): Add LTO_cgraph_last_tag.
383 (lto_output_edge): Use output_enum and var_len_unsigned.
384 (lto_output_varpool_node): Likewise.
385 (input_overwrite_node): Do not take resolution parameter;
386 extract it from a bitpack.
387 (input_node): Do not read resolution; use input_enum and
388 var_len_unsigned.
389 (input_varpool_node): Likewise.
390 (input_edge): Likewise.
391 (input_cgraph_1): Likewise.
392
2611db71
RG
3932011-05-31 Richard Guenther <rguenther@suse.de>
394
395 * gimple.c (gimple_register_canonical_type): Do not register
396 any types via gimple_register_type.
397
b9e57365
JH
3982011-05-31 Jan Hubicka <jh@suse.cz>
399
400 * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
401 of thunks.
402
35979cc2
JJ
4032011-05-31 Jakub Jelinek <jakub@redhat.com>
404
405 PR rtl-optimization/49235
406 * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
407 (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
408
8f7de592
IR
4092011-05-31 Ira Rosen <ira.rosen@linaro.org>
410
411 PR tree-optimization/49093
412 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
413 data references.
414
8d8a3bda
DS
4152011-05-31 Dodji Seketeli <dodji@redhat.com>
416
417 PR debug/49047
418 * dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
6ba5d856 419 for concrete functions containing the code of cloned functions.
8d8a3bda 420
2e87621c
RG
4212011-05-31 Richard Guenther <rguenther@suse.de>
422
423 * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
424 to ...
425 (forward_propagate_into_comparison_1): ... this.
426 (forward_propagate_comparison): Rename to ...
427 (forward_propagate_into_comparison): ... this. Split out
428 real forward propagation code to ...
429 (forward_propagate_comparison): ... this.
430 (forward_propagate_into_gimple_cond): Remove looping.
431 (forward_propagate_into_cond): Likewise.
432 (simplify_not_neg_expr): Return whether we have done something.
433 (simplify_gimple_switch): Likewise.
434 (tree_ssa_forward_propagate_single_use_vars): Rename to ...
435 (ssa_forward_propagate_and_combine): ... this. Re-structure
436 to do a forward forward-propagation walk on BBs and a backward
6ba5d856 437 stmt combining walk on BBs. Consistently re-scan changed statements.
2e87621c
RG
438 (pass_forwprop): Adjust.
439
5a880d5d
ILT
4402011-05-30 Ian Lance Taylor <iant@google.com>
441
442 * godump.c (go_format_type): Correct length of name added to
443 obstack for anonymous field.
444
5f133038
KK
4452011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
446
447 PR target/49186
448 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
449 part of the second operand is 0.
450
b17d5426
UB
4512011-05-30 Uros Bizjak <ubizjak@gmail.com>
452
453 * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
454 to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
455 to memory for !TARGET_MEMORY_MISMATCH_STALL.
456 (*movdf_internal_rex64): Do not penalize F->r alternative.
6ba5d856 457 (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
b17d5426
UB
458 memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
459 when optimizing function for size. Do not move CONST_DOUBLEs
460 directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
6ba5d856
UB
461 (FP move splitters): Merge {TF,XF,DF}mode splitters. Do not handle
462 SUBREGs. Do not check for MEM_P operands in the insn condition,
b17d5426
UB
463 check for ANY_FP_REGNO_P instead.
464 * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
465 TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
466 function for speed.
467 * config/i386/i386.c (ix86_option_override_internal): Do not
468 set TARGET_INTEGER_DFMODE_MOVES here.
469
a0cd843f
L
4702011-05-30 H.J. Lu <hongjiu.lu@intel.com>
471
472 PR target/49168
aad61732 473 * config/i386/i386.md (*movtf_internal): Handle misaligned load/store.
a0cd843f 474
006a5f38
JJ
4752011-05-30 Jakub Jelinek <jakub@redhat.com>
476
477 * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
478 DW_TAG_rvalue_reference_type even for
479 -gdwarf-4 -fno-debug-types-section.
480
6e96f98a
BS
4812011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
482
483 PR tree-optimization/46728
484 * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
485 (build_and_insert_binop): New.
486 (gimple_expand_builtin_pow): Reorder args for
487 build_and_insert_call; use build_and_insert_binop; add more
488 optimizations for fractional exponents.
b17d5426 489
4f60111f
NF
4902011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
491
492 PR bootstrap/49190
493
494 Revert:
495 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
496
497 * tree.h (struct tree_identifier): Inherit from tree_typed, not
498 tree_common.
499 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
500 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
501 TS_BASE instead of TS_COMMON.
502 * varasm.c (assemble_name): Remove assert.
503
3fd7879d
RS
5042011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
505
506 * config.gcc: Keep obselete list sorted.
507
80060f7a
JJ
5082011-05-30 Jakub Jelinek <jakub@redhat.com>
509 Eric Botcazou <ebotcazou@adacore.com>
510
511 * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
512 crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
513 there is a DRAP register and arg_pointer_rtx is the CFA pointer.
514 (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
515 (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
516
17e99cdb
RG
5172011-05-30 Richard Guenther <rguenther@suse.de>
518
519 * gimple.c (gimple_types_compatible_p_1): Compare record
520 and union type members properly.
521
42b05b6e
RG
5222011-05-30 Richard Guenther <rguenther@suse.de>
523
524 PR tree-optimization/49210
6ba5d856
UB
525 * ipa-split.c (split_function): Care for the case where the call
526 result is not trivially convertible to the result holding variable.
42b05b6e 527
f3321158
RG
5282011-05-30 Richard Guenther <rguenther@suse.de>
529
530 PR tree-optimization/49218
531 * tree-vrp.c (adjust_range_with_scev): Properly check whether
532 overflow occured.
533
d12d8efe
RG
5342011-05-30 Richard Guenther <rguenther@suse.de>
535
536 * tree-ssa-forwprop.c (forward_propagate_into_comparison):
537 New function split out from ...
538 (forward_propagate_into_gimple_cond): ... here. Adjust.
539 (forward_propagate_into_cond): Likewise.
540 (forward_propagate_comparison): Also propagate into
541 comparisons on assignment RHS. Change return value to
542 behave similar to forward_propagate_into_cond.
543 (tree_ssa_forward_propagate_single_use_vars): Handle
544 strict-overflow warnings properly for forward_propagate_comparison.
545
df33b41f
RO
5462011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
547
548 * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
549 from plugin linker.
550 * configure: Regenerate.
551
69940d4d
IR
5522011-05-30 Ira Rosen <ira.rosen@linaro.org>
553
554 PR tree-optimization/49199
555 * tree-vect-loop.c (vect_is_slp_reduction): Check that the
b17d5426 556 non-reduction operands are either defined in the loop or by induction.
69940d4d 557
226c52aa
XDL
5582011-05-29 Xinliang David Li <davidxl@google.com>
559
560 * opts-global.c (handle_common_deferred_options): Handle new options.
561 * passes.c (register_one_dump_file): Call register_pass_name.
562 (execute_one_pass): Check explicit enable/disable flag.
563 (passr_hash): New function.
564 (passr_eq): Ditto.
565 (register_pass_name): Ditto.
566 (get_pass_by_name): Ditto.
567 (pass_hash): Ditto.
568 (pass_eq): Ditto.
569 (enable_pass): Ditto.
570 (disable_pass): Ditto.
571 (is_pass_explicitly_enabled_or_disabled): Ditto.
572
491d8eed
UB
5732011-05-29 Uros Bizjak <ubizjak@gmail.com>
574
575 * config/i386/i386.md (*movoi_internal_avx): Use
576 standard_sse_constant_opcode for alternative 0.
577 (*movti_internal_sse): Ditto.
578 (*movti_internal_rex64): Use standard_sse_constant_opcode for
579 alternative 2.
580 (*movdi_internal_rex64): Use standard_sse_constant_opcode for
581 sselog1 type moves.
582 (*movsi_internal): Ditto.
583 (*movdi_internal): Ditto. Add ssecvt type moves.
584
eb93b31f
EB
5852011-05-29 Eric Botcazou <ebotcazou@adacore.com>
586
587 PR target/48830
588 * rtlanal.c (simplify_subreg_regno): Adjust comment.
589
3f831b7d
JJ
5902011-05-29 Jakub Jelinek <jakub@redhat.com>
591
592 PR rtl-optimization/49095
593 * config/i386/predicates.md (plusminuslogic_operator): New predicate.
594 * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
595
ee3ee488
RS
5962011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
597
598 PR target/43995
599 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
600 recurse_p argument. Only follow register copies if it is set,
601 and prevent mips_find_pic_call_symbol from recursing.
602 (mips_find_pic_call_symbol): Add a recurse_p argument.
603 Pass it to mips_pic_call_symbol_from_set.
604 (mips_annotate_pic_calls): Update accordingly.
605
65f3dedb
RS
6062011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
607
608 * emit-rtl.c (try_split): Use a loop to search for
609 NOTE_INSN_CALL_ARG_LOCATIONs.
610
61e374ab
RG
6112011-05-29 Richard Guenther <rguenther@suse.de>
612
613 PR tree-optimization/49217
614 * ipa-pure-const.c (propagate_pure_const): Fix typos.
615
fac009a8
JH
6162011-05-28 Jan Hubicka <jh@suse.cz>
617
618 * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
619 length.
620 (string_slot_free): Remove
621 (create_output_block): Initialize obstack.
622 (destroy_output_block): Free obstack.
623 (lto_string_index): Add PERSISTENT parameter; do not duplicate
624 the string unless it needs to be added into the hash.
625 (lto_output_string_with_length): Add persistent attribute;
626 handle NULL strings.
627 (lto_output_string): Add PERSISTENT parameter.
628 (output_string_cst, output_identifier): Simplify.
629 (lto_output_location_bitpack): Update.
630 (lto_output_builtin_tree): Update.
631 * lto-streamer.h (struct output_block): Add obstack.
491d8eed
UB
632 (lto_output_string, lto_output_string_with_length): Remove
633 declarations; functions are static now.
fac009a8 634
fa766006
JH
6352011-05-28 Jan Hubicka <jh@suse.cz>
636
637 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
638 pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
639 pack_ts_function_decl_value_fields, lto_output_builtin_tree,
640 output_cfg, output_gimple_stmt): Use enum and variable length i/o.
641 * lto-streamer-in.c (input_cfg, input_gimple_stmt,
642 unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
643 unpack_ts_decl_with_vis_value_fields,
644 unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
645 lto_get_builtin_tree): Use enum and variable length i/o.
646 * basic-block.h (profile_status_d): Add PROFILE_LAST.
647 * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
648 New functions.
649 (bp_pack_enum, bp_unpack_enum): New macros.
650
e092158b
RS
6512011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
652
653 * genrecog.c: Remove redundant forward declarations.
654
7ca2afa0
RS
6552011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
656
657 * config.gcc: Deprecate mips*-*-openbsd*.
658
a601a53a
RS
6592011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
660
661 PR bootstrap/49195
662 * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
663 for match_op_dup.
664
fc64b448
AP
6652011-05-27 Andrew Pinski <pinskia@gmail.com>
666
667 PR middle-end/48981
668 * gengtype.c (vec_prefix_type): New function.
669 (note_def_vec): Use vec_prefix_type and change the length
670 attribute to be based on the prefix.
671 * vec.c: Include coretypes.h before vec.h.
672 (struct vec_prefix): Remove.
673 (vec_gc_p_reserve): Change the offsetof to sizeof.
674 (vec_gc_p_reserve_exact): Likewise.
675 (vec_heap_p_reserve): Likewise.
676 (vec_heap_p_reserve_exact): Likewise.
677 (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
678 (vec_stack_p_reserve): Change the offsetof to sizeof.
679 (vec_stack_p_reserve_exact): Likewise.
680 * vec.h (struct vec_prefix): New struct definition.
681 (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
682 (VEC_T_GTY(T,B)): Likewise.
683 (DEF_VEC_FUNC_P(T)): Use prefix field.
684 (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
685 (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
686
ba869341
BS
6872011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
688
689 PR tree-optimization/46728
690 * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
691 (powi_as_mults): Add gimple_set_location.
692 (build_and_insert_call): New.
693 (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
694 0.5, 0.25, 0.75, 1./3., or 1./6.
491d8eed 695
d296760d
AM
6962011-05-27 Alexander Monakov <amonakov@ispras.ru>
697
698 * doc/contrib.texi: Update copyright years.
699 (Contributors): Add Zdenek Sojka.
700
38e01f9e
NF
7012011-05-27 Nathan Froyd <froydnj@codesourcery.com>
702
703 * c-decl.c (c_push_function_context): Copy the current statement
704 list stack.
705 (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
706 (finish_struct): Call building_stmt_list_p instead of checking
707 cur_stmt_list.
708 * c-parser.c (c_parser_postfix_expression): Likewise.
709 * c-typeck.c (c_end_compound_stmt): Likewise.
710 * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
711 * tree-iterator.c (stmt_list_cache): Change to a VEC.
712 (alloc_stmt_list): Adjust for stmt_list_cache's new type.
713 (free_stmt_list): Likewise.
714 * tree.h (struct tree_statement_list): Include typed_tree instead
715 of tree_common.
716 * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
717 as TS_TYPED instead of TS_COMMON.
718
8950516e 7192011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
66bd20e7 720 Uros Bizjak <ubizjak@gmail.com>
8950516e
RO
721
722 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
723 (HAVE_AS_IX86_TLSGDPTL): Define.
724 (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
725 (HAVE_AS_IX86_TLSLDMPLT): Define.
726 * configure: Regenerate.
727 * config.in: Regenerate.
728 * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
729 * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
730 TARGET_SUN_TLS, use @tlsgdplt or @plt.
731 (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
732 (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
733 @tlsldmplt or @plt.
734 (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
735
b0bd15f7
BS
7362011-05-27 Bernd Schmidt <bernds@codesourcery.com>
737
738 * sched-int.h (struct _haifa_deps_insn_data): New members cond
739 and reverse_cond.
740 (INSN_COND, INSN_REVERSE_COND): New macros.
741 * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
742 once.
743 (sched_get_condition_with_rev): Cache the results, and look them up
744 if possible.
745 (sched_analyze_insn): Destroy INSN_COND of previous insns if they
746 are clobbered by the current insn.
747 * target.def (exposed_pipline): New sched data hook.
748 * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
749 * doc/tm.texi: Regenerate.
750
fa65a9cf
BS
7512011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
752
753 PR tree-optimization/49170
754 * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
755 sincos or cexp.
b0bd15f7 756
c2299dfe
RG
7572011-05-27 Richard Guenther <rguenther@suse.de>
758
759 PR middle-end/49189
760 * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
761 of comparisons.
762
a95b23b4
BS
7632011-05-27 Bernd Schmidt <bernds@codesourcery.com>
764
765 * haifa-sched.c (sched_scan_info): Remove.
766 (schedule_block): Call sched_extend_luids rather than sched_init_luids
767 with NULL args.
768 (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
769 Remove functions.
770 (sched_scan): Remove.
771 (sched_extend_luids): Renamed from luids_extend_insn and no longer
772 static. All callers changed.
773 (sched_init_insn_luid): Renamed from luids_init_insn and no longer
774 static. All callers changed.
775 (sched_init_luids): Remove all arguments except the first. All
776 callers changed. Don't use sched_scan.
777 (haifa_init_h_i_d): Likewise.
778 (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
779 manually rather than using sched_init_luids. Likewise with
780 extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
781 * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
782 rather than sched_init_luids with NULL args.
783 * sel-sched-ir.c (new_insns): Remove variable.
784 (sched_scan): New static function, previously in haifa-sched.c. Remove
785 all arguments but the first two; all callers changed.
786 (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
787 rather than sched_init_luids.
788 (sel_init_bbs): Remove second argument. All callers changed.
789 (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
790 with NULL arguments.
791 (create_insn_rtx_from_pattern): Likewise.
792 * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
793 * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
794 (sched_init_insn_luid, sched_extend_luids): Declare.
795 (sched_scan_info_def, sched_scan_info, sched_scan): Remove
796 declarations.
797
f8f972fc
RB
7982011-05-27 Richard Guenther <rguenther@suse.de>
799
800 PR middle-end/49177
801 * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
802 A CMP B ? (T) true : (T) false for non-integral types T again.
803
51a9ed47
JH
8042011-05-27 Jan Hubicka <jh@suse.cz>
805
806 * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
807 so 0 means NULL string.
808 (lto_output_string_with_length): ... here.
f8f972fc
RB
809 (lto_output_string, output_string_cst, output_identifier): Update
810 handling of NULL strings.
51a9ed47
JH
811 (lto_output_location_bitpack): New function.
812 (lto_output_location): Use it.
813 (lto_output_tree_ref): Use output_record_start.
f8f972fc
RB
814 (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
815 len values.
816 * lto-streamer-in.c (string_for_index): Break out from ...; offset
817 values by 1.
491d8eed 818 (input_string_internal): ... here;
f8f972fc
RB
819 (input_string_cst, input_identifier, lto_input_string): Update handling
820 of NULL strings.
51a9ed47
JH
821 (lto_input_location_bitpack): New function
822 (lto_input_location): Use it.
f8f972fc
RB
823 (unpack_ts_type_common_value_fields): Pack align & alias in var len
824 values.
51a9ed47
JH
825 * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
826 bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
827 (bp_pack_value): Sanity check the value range.
828 * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
829 New functions.
830 * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
831 New functions.
832
66bd20e7 8332011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
dc38fc2e
HS
834
835 * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
836 call_arg_location instructions down the floor.
837
574e418a
VM
8382011-05-26 Vladimir Makarov <vmakarov@redhat.com>
839
840 PR rtl-optimization/49154
841 * ira.c (setup_pressure_classes): Process class without sublcasses
842 as a candidate for pressure classes.
843
6a1a787e
RS
8442011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
845
846 PR rtl-optimization/48575
847 * genrecog.c (position_type): New enum.
848 (position): New structure.
849 (decision): Use position structure instead of a string.
850 (root_pos, peep2_insn_pos_list): New variables.
851 (next_position, compare_positions): New functions.
852 (new_decision): Use position structures instead of strings.
853 (maybe_both_true): Likewise.
854 (change_state): Likewise.
855 (write_tree): Likewise.
856 (make_insn_sequence): Likewise.
857
92e948a8
NF
8582011-05-26 Nathan Froyd <froydnj@codesourcery.com>
859
860 * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
861 TS_BASE instead of TS_COMMON.
862 (find_decls_types_r): Check for TS_TYPED structure before looking at
863 TREE_TYPE.
864 * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
865 Add chain field.
866 (BLOCK_CHAIN): Use new chain field.
867
66bd20e7 8682011-05-26 Pat Haugen <pthaugen@us.ibm.com>
c61e40d3
PH
869
870 * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
871 moves expensive on Power7 also.
872
1f498652
RG
8732011-05-26 Richard Guenther <rguenther@suse.de>
874
875 * fold-const.c (fold_unary_loc): Remove bogus code.
876
a2fc3e63
NF
8772011-05-26 Nathan Froyd <froydnj@codesourcery.com>
878
879 * tree.h (struct tree_identifier): Inherit from tree_typed, not
880 tree_common.
881 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
882 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
883 TS_BASE instead of TS_COMMON.
884 * varasm.c (assemble_name): Remove assert.
885
d11bf18f
BS
8862011-05-26 Bernd Schmidt <bernds@codesourcery.com>
887
888 * Makefile.in (srcdirify): Change order so that libgcc_objdir is
889 substituted first.
890 * libgcc-std.ver: Delete file.
891
ac8e1875
RG
8922011-05-26 Richard Guenther <rguenther@suse.de>
893
894 PR tree-optimization/48702
895 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
896 only when we know the base address is within bounds.
897 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
898 assume the base address of TARGET_MEM_REFs is in bounds.
899
7e32e652
RO
9002011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
901
902 PR target/49099
903 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
904 declaration in TARGET_SOLARIS.
905
66bd20e7 9062011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
43660e0b
HS
907
908 * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
491d8eed 909 The instruction is then expanded explicitly.
43660e0b
HS
910 (supported_compare): Callable instruction.
911 (compare): Likewise.
912
1537737f
JJ
9132011-05-26 Jakub Jelinek <jakub@redhat.com>
914
915 PR c++/49165
916 * gimplify.c (shortcut_cond_r): Don't special case
917 COND_EXPRs if they have void type on one of their arms.
918
7b1ac803
BS
9192011-05-26 Bernd Schmidt <bernds@codesourcery.com>
920
921 * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
922 to reduce duplication, and to achieve a slightly more logical order
923 of operations.
924
1aa9438f
JJ
9252011-05-26 Jakub Jelinek <jakub@redhat.com>
926
927 PR tree-optimization/49161
928 * tree-vrp.c (struct case_info): New type.
929 (compare_case_labels): Sort case_info structs instead of
930 trees, and not primarily by CASE_LABEL uids but by
931 label_for_block indexes.
932 (find_switch_asserts): Put case labels into struct case_info
933 array instead of TREE_VEC, adjust sorting, compare label_for_block
934 values instead of CASE_LABELs.
935
50fed7bf
RR
9362011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
937
938 * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
939 ("orndi3_neon"): Likewise.
940 ("bic<mode>3_neon"): Likewise.
941
48df3fa6
IR
9422011-05-26 Ira Rosen <ira.rosen@linaro.org>
943
944 PR tree-optimization/49038
945 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
946 Ensure at least one epilogue iteration if required by data
947 accesses with gaps.
948 * tree-vectorizer.h (struct _loop_vec_info): Add new field
949 to mark loops that require peeling for gaps.
950 * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
951 (vect_get_known_peeling_cost): Take peeling for gaps into
952 account.
953 (vect_transform_loop): Generate epilogue if required by data
954 access with gaps.
955 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
956 loop as requiring an epilogue if there are gaps in the end of
957 the strided group.
958
53febcba
ILT
9592011-05-25 Ian Lance Taylor <iant@google.com>
960
961 * godump.c (go_format_type): Output the first field with a usable
962 Go type, if any.
963
dbbc4d4c
ILT
9642011-05-25 Ian Lance Taylor <iant@google.com>
965
966 * godump.c (go_format_type): Check for invalid type names, pointer
967 target types, and struct field types.
968
f03a5402
JM
9692011-05-25 Jason Merrill <jason@redhat.com>
970
971 * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
972
c497c412
UB
9732011-05-25 Uros Bizjak <ubizjak@gmail.com>
974
975 * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
976
e470affe
L
9772011-05-25 H.J. Lu <hongjiu.lu@intel.com>
978
979 * config/i386/i386.md (*movqi_extv_1)): Put back
980 "register_operand" check in "type" calculation.
981 (*movqi_extzv_2): Likewise.
982
6c81b2bc
L
9832011-05-25 H.J. Lu <hongjiu.lu@intel.com>
984
c497c412 985 * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
6c81b2bc 986
0c007eb2
BS
9872011-05-25 Bernd Schmidt <bernds@codesourcery.com>
988
989 PR bootstrap/49160
990 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
991 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
992 __divxc3, __divtc3): Wrap definitions in #ifndef.
993
521ca78e
L
9942011-05-25 H.J. Lu <hongjiu.lu@intel.com>
995
996 PR target/49142
997 * config/i386/i386.md (*movqi_extv_1_rex64): Remove
998 "register_operand" check and replace q_regs_operand with
999 QIreg_operand in "type" calculation.
1000 (*movqi_extv_1): Likewise.
1001 (*movqi_extzv_2_rex64): Likewise.
1002 (*movqi_extzv_2): Likewise.
1003
1004 * config/i386/predicates.md (QIreg_operand): New.
1005
29f8b844
RG
10062011-05-25 Richard Guenther <rguenther@suse.de>
1007
1008 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
1009 type-based offset disambiguation, streamline MEM_REF and
1010 TARGET_MEM_REF handling.
1011
74838de3
L
10122011-05-25 H.J. Lu <hongjiu.lu@intel.com>
1013
1014 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
1015 (bdesc_special_args): Add pause intrinsic.
1016
1017 * config/i386/i386.md (UNSPEC_PAUSE): New.
1018 (pause): Likewise.
1019 (*pause): Likewise.
1020 * config/i386/ia32intrin.h (__pause): Likewise.
1021
1022 * doc/extend.texi (X86 Built-in Functions): Add documentation for
1023 pause intrinsic.
1024
d24ad7d6
BS
10252011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1026
1027 PR tree-optimization/46728
1028 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
1029 (execute_cse_sincos): Add switch case for BUILT_IN_POW.
c497c412 1030
d9f8303f
NF
10312011-05-25 Nathan Froyd <froydnj@codesourcery.com>
1032
1033 * tree.h (struct tree_exp): Inherit from struct tree_typed.
1034 * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
1035 instead of TS_COMMON.
1036
cdbf4541
BS
10372011-05-25 Bernd Schmidt <bernds@codesourcery.com>
1038
1039 * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
1040 LIBGCC2_GNU_PREFIX is defined.
1041 (__N): New macro.
1042 (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
1043 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
1044 __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
1045 __clz_tab): Define using __N.
1046 (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
1047 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1048 * target.def (libfunc_gnu_prefix): New hook.
1049 * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
1050 (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
1051 * doc/tm.texi: Regenerate.
1052 * system.h (LIBGCC2_GNU_PREFIX): Poison.
1053 * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
1054 account.
1055 (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
1056 (init_optabs): Likewise for the bswap libfuncs.
1057 * tree.c (build_common_builtin_nodes): Likewise for complex multiply
1058 and divide.
1059 * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
1060 * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
1061 * libgcc-std.ver: Remove.
1062 * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
1063 * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
1064 libgcc-std.ver.
1065 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1066 * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
1067 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
1068 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
1069 * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
1070 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1071 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1072 * config/fixed-bit.h (FIXED_OP): Define differently depending on
1073 LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
1074 (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
1075
f242c0a5
JH
10762011-05-25 Jan Hubicka <jh@suse.cz>
1077
1078 * lto-streamer-out.c (output_record_start): Use lto_output_enum
1079 (lto_output_tree): Use output_record_start.
1080 * lto-streamer-in.c (input_record_start): Use lto_input_enum
1081 (lto_get_pickled_tree): Use input_record_start.
1082 * lto-section-in.c (lto_section_overrun): Turn into fatal error.
1083 (lto_value_range_error): New function.
1084 * lto-streamer.h (lto_value_range_error): Declare.
1085 (lto_output_int_in_range, lto_input_int_in_range): New functions.
1086 (lto_output_enum, lto_input_enum): New macros.
1087
a11e0df4
EB
10882011-05-25 Eric Botcazou <ebotcazou@adacore.com>
1089
1090 * common.opt (flag_stack_usage_info): New variable.
1091 (-Wstack-usage): New option.
1092 * doc/invoke.texi (Warning options): Document -Wstack-usage.
1093 * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
1094 <OPT_fstack_usage>: Likewise.
1095 * toplev.c (output_stack_usage): Handle -Wstack-usage.
1096 * calls.c (expand_call): Test flag_stack_usage_info variable instead
1097 of flag_stack_usage.
1098 (emit_library_call_value_1): Likewise.
1099 * explow.c (allocate_dynamic_stack_space): Likewise.
1100 * function.c (instantiate_virtual_regs ): Likewise.
1101 (prepare_function_start): Likewise.
1102 (rest_of_handle_thread_prologue_and_epilogue): Likewise.
1103 * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
1104 * config/arm/arm.c (arm_expand_prologue): Likewise.
1105 (thumb1_expand_prologue): Likewise.
1106 * config/avr/avr.c (expand_prologue): Likewise.
1107 * config/i386/i386.c (ix86_expand_prologue): Likewise.
1108 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
1109 * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
1110 * config/mips/mips.c (mips_expand_prologue): Likewise.
1111 * config/pa/pa.c (hppa_expand_prologue): Likewise.
1112 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
1113 * config/s390/s390.c (s390_emit_prologue): Likewise.
1114 * config/sh/sh.c (sh_expand_prologue): Likewise.
1115 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
1116 * config/spu/spu.c (spu_expand_prologue): Likewise.
1117
e7cfe241
RG
11182011-05-25 Richard Guenther <rguenther@suse.de>
1119
1120 * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
1121 (gimple_canonical_types_compatible_p): Likewise.
1122
c5235f4c
JH
11232011-05-25 Jan Hubicka <jh@suse.cz>
1124
1125 PR middle-end/49062
1126 * ipa.c (function_and_variable_visibility): Only add to same
1127 comdat group list if DECL_ONE_ONLY.
1128
8242a0f6
AB
11292011-05-25 Andrey Belevantsev <abel@ispras.ru>
1130
1131 PR rtl-optimization/49014
1132 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1133
642a011d
JJ
11342011-05-25 Jakub Jelinek <jakub@redhat.com>
1135
1136 PR target/49128
1137 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
1138
30a435d8
VM
11392011-05-24 Vladimir Makarov <vmakarov@redhat.com>
1140
1141 PR rtl-optimization/48757
1142 * ira-build.c (loop_with_eh_edge_p): Rename to
1143 loop_with_complex_edge_p, check edges on complexity, make function
1144 conditional.
1145 (mark_loops_for_removal): Make call of loop_with_complex_edge_p
1146 conditional.
1147
24d1bbc7
EB
11482011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1149
1150 * config/sparc/sparc.c (sparc_option_override): If not set by the user,
1151 force flag_ira_share_save_slots to 0.
1152
65773087
EB
11532011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1154
1155 * var-tracking.c (compute_cfa_pointer): Adjust head comment.
1156 (vt_initialize): Set PROLOGUE_BB unconditionally.
1157 Add block comment about CFA_BASE_RTX machinery.
1158 Reset FP_CFA_OFFSET to -1 on all invalid paths.
1159 Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
1160
4e26ba90
NP
11612011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
1162
1163 PR objc/48187
1164 * c-parser.c (c_parser_objc_class_instance_variables): More robust
1165 parsing of syntax error in ObjC instance variable lists. In
1166 particular, avoid an infinite loop if there is a stray ']'.
1167 Updated error message.
1168
936fd13c
ILT
11692011-05-24 Ian Lance Taylor <iant@google.com>
1170
1171 * godump.c (go_define): Don't accept a string immediately after
1172 another operand.
1173
f17333e3
ILT
11742011-05-24 Ian Lance Taylor <iant@google.com>
1175
1176 * godump.c (struct godump_container): Add invalid_hash field.
1177 (go_format_type): Return false if type is found in invalid_hash.
1178 (go_output_typedef): Add invalid type to invalid_hash.
1179 (go_finish): Create and delete invalid_hash.
1180
d24ad7d6 11812011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
c497c412 1182
78be79d5
BS
1183 PR tree-optimization/46728
1184 * tree-ssa-math-opts.c (powi_table): New.
1185 (powi_lookup_cost): New.
1186 (powi_cost): New.
1187 (powi_as_mults_1): New.
1188 (powi_as_mults): New.
1189 (gimple_expand_builtin_powi): New.
1190 (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
1191 (gate_cse_sincos): Remove sincos/cexp restriction.
f17333e3 1192
caee412b
RO
11932011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1194
1195 PR target/3746
1196 * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
1197 mips-tdump native.
1198 * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
1199 * mips-tdump.c: Likewise.
1200
5eed4f27
L
12012011-05-24 H.J. Lu <hongjiu.lu@intel.com>
1202
1203 PR target/49128
1204 * config/i386/driver-i386.c (host_detect_local_cpu): Always
1205 add -mno-XXX. Handle FMA.
1206
8c5fdaae
VM
12072011-05-24 Vladimir Makarov <vmakarov@redhat.com>
1208
1209 PR rtl-optimization/48633
1210 * ira-build.c (loop_with_eh_edge_p): New function.
1211 (mark_loops_for_removal): Use it.
1212
12132011-05-24 Vladimir Makarov <vmakarov@redhat.com>
113a5be6
VM
1214
1215 PR rtl-optimization/48971
1216 * ira.c (setup_pressure_classes): Don't check register move cost
1217 for classes with one registers. Don't add pressure class if there
1218 is a pressure class with the same available hard registers.
1219 Check contains_reg_of_mode. Fix a typo in collecting
1220 temp_hard_regset. Ignore hard registers not belonging to a class.
1221
df1f7315
UB
12222011-05-24 Uros Bizjak <ubizjak@gmail.com>
1223
1224 PR target/49133
1225 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
1226
ee0cb37c
EB
12272011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1228 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1229
1230 PR gcov-profile/48845
1231 * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
1232
6a20ce76
RG
12332011-05-24 Richard Guenther <rguenther@suse.de>
1234
1235 * gimple.c (compare_type_names_p): Remove for_completion_p arg.
1236 (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
1237 (gimple_types_compatible_p_1): Adjust.
1238 (iterative_hash_canonical_type): Do not bother about complete vs.
1239 incomplete types.
1240 (gimple_canonical_types_compatible_p): Likewise.
1241
2fcb858c
RO
12422011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1243
1244 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
1245
96d91dcf
RG
12462011-05-24 Richard Guenther <rguenther@suse.de>
1247
1248 PR bootstrap/49078
1249 * gimple.c (gimple_register_canonical_type): Revert
1250 previous change.
1251 * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
1252 does not for a tree for the case where it matters. Cache
1253 pointer-type alias-sets.
1254
1ed1641d
JM
12552011-05-24 Joseph Myers <joseph@codesourcery.com>
1256
1257 * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
1258 (OBJS): Remove options.o, opts-common.o and prefix.o.
1259 (OBJS-libcommon-target): New.
1260 (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
1261 (BACKEND): Include libcommon-target.a.
1262 (MOSTLYCLEANFILES): Include libcommon-target.a.
1263 (libcommon-target.a): New.
1264 (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
1265 prefix.o.
1266
57dfdff0
JM
12672011-05-23 Joseph Myers <joseph@codesourcery.com>
1268
1269 * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
1270 parts of output shared with the driver.
1271 * optc-gen.awk: Don't generate parts of output not shared with the
1272 driver.
1273 * opth-gen.awk: Remove GCC_DRIVER conditionals.
1274 * doc/options.texi (SourcerInclude): Mention options-save.c.
1275 * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
1276 (OBJS): Add options-save.o.
1277 (options-save.c, options-save.o): New.
1278 (options.o): Update dependencies.
1279 (gcc-options.o): Remove.
1280 (mostlyclean): Remove options-save.c.
1281
0e0d82a7
JJ
12822011-05-23 Jakub Jelinek <jakub@redhat.com>
1283
9166988f
JJ
1284 PR debug/49032
1285 * dbxout.c: Include cgraph.h.
1286 (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
1287 and without value expr, return NULL if no varpool node exists for
1288 it or if it is not needed.
1289 * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
1290
0e0d82a7
JJ
1291 PR c/49120
1292 * c-decl.c (start_decl): Convert expr to void_type_node.
1293
65712d5c
RS
12942011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
1295
1296 PR rtl-optimization/48826
1297 * emit-rtl.c (try_split): When splitting a call that is followed
1298 by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
1299
9025085e
JJ
13002011-05-23 Jakub Jelinek <jakub@redhat.com>
1301
1302 * cfgexpand.c (expand_debug_expr): For unused non-addressable
1303 parameters passed in memory prefer using DECL_INCOMING_RTL over
1304 the pseudos it will be copied into.
1305
34a061be
L
13062011-05-23 H.J. Lu <hongjiu.lu@intel.com>
1307
1308 PR target/47315
1309 * config/i386/i386.c (ix86_option_override_internal): Save the
1310 initial options after checking vzeroupper.
1311
c375a3a4
DL
13122011-05-23 David Li <davidxl@google.com>
1313
1314 PR tree-optimization/48988
1315 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
1316 Initialize has_valid_pred for each pred chain.
1317
e1caba18
RG
13182011-05-23 Richard Guenther <rguenther@suse.de>
1319
1320 * gimple.c (gimple_types_compatible_p_1): Always compare type names.
1321 (iterative_hash_gimple_type): Always hash type names.
1322
dde05067
NF
13232011-05-23 Nathan Froyd <froydnj@codesourcery.com>
1324
1325 * c-typeck.c (build_function_call_vec): Tweak call to
1326 check_function_arguments.
1327
094f6ab3
RG
13282011-05-23 Richard Guenther <rguenther@suse.de>
1329
1330 PR tree-optimization/49115
1331 * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1332 is not necessarily carried out, do not claim it kills the ref.
1333 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1334
9a9822e1
RG
13352011-05-23 Richard Guenther <rguenther@suse.de>
1336
1337 PR middle-end/15419
1338 * builtins.c (fold_builtin_memory_op): Be less restrictive about
1339 what pointer types we accept for folding.
1340
c8028650
RO
13412011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1342
1343 * gthr-gnat.c: Remove.
1344 * gthr-gnat.h: Remove.
1345 * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
1346 * config/t-freebsd (LIB2ADDEH): Likewise.
1347 * config/t-linux (LIB2ADDEH): Likewise.
1348 * config/t-sol2 (LIB2ADDEH): Likewise.
1349 * config/ia64/t-vms (LIB2ADDEH): Likewise.
1350 * configure.ac (target_thread_file): Remove gnat handling.
1351 * configure: Regenerate.
1352 * doc/install.texi (Configuration, --enable-threads): Remove gnat.
1353
15882fe9
TG
13542011-05-23 Tristan Gingold <gingold@adacore.com>
1355 Eric Botcazou <ebotcazou@adacore.com>
1356
1357 * gcov.c (create_file_names): If no object directory is specified,
1358 keep the directory of the file.
1359
da90c957
RO
13602011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1361
1362 * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
1363 * configure: Regenerate.
1364
7bba408b
JJ
13652011-05-23 Jakub Jelinek <jakub@redhat.com>
1366
1367 PR middle-end/48973
1368 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
1369 failed and the comparison has a single bit signed type, use
1370 constm1_rtx instead of const1_rtx for true value.
1371 (do_store_flag): If ops->type is single bit signed type, disable
1372 signel bit test optimization and pass -1 instead of 1 as last
1373 parameter to emit_store_flag_force.
1374
bc69f7ff
TV
13752011-05-23 Tom de Vries <tom@codesourcery.com>
1376
1377 PR target/45098
1378 * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
1379 function.
1380 (infer_loop_bounds_from_undefined): Use new function.
1381
29cedf8e
RS
13822011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
1383
1384 * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
1385 (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
1386 -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
1387 and -O0 otherwise.
1388 (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
1389
afe8b6ec
EB
13902011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1391
1392 * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
1393 (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
1394 returns true.
1395
872dab53
RS
13962011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
1397
1398 * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
1399
145f6c5b
EB
14002011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1401
1402 * config/sparc/sparc.c (sparc_delegitimize_address): Handle
1403 UNSPEC_MOVE_PIC pattern.
1404
8ac79835
EB
14052011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1406
1407 * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
1408 (sparc-*-rtems*): Likewise.
1409 (sparc64-*-elf*): Likewise.
1410 (sparc64-*-rtems*): Likewise.
1411 (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
1412 * config/sparc/t-crtin: New file.
1413 * config/sparc/t-sol2 (crti.o): Delete rule.
1414 (crtn.o): Likewise.
1415 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
1416 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
1417 * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
1418 (ENDFILE_SPEC): Add crtn.o.
1419
5fb43dd8
TV
14202011-05-22 Tom de Vries <tom@codesourcery.com>
1421
1422 PR middle-end/48689
1423 * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
1424 CODE_CONTAINS_STRUCT (TS_COMMON).
1425
ccb1b17b
JJ
14262011-05-22 Jakub Jelinek <jakub@redhat.com>
1427
1428 PR middle-end/49029
1429 * expmed.c (extract_fixed_bit_field): Test whether target can be used
1430 only after deciding which mode to use.
1431
50ad7db2
TV
14322011-05-22 Tom de Vries <tom@codesourcery.com>
1433
1434 PR target/45098
dc0a3366 1435 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
50ad7db2
TV
1436 for call to get_shiftadd_cost.
1437
ef230b38
UB
14382011-05-22 Uros Bizjak <ubizjak@gmail.com>
1439
1440 PR target/49104
1441 * config/i386/cpuid.h (bit_MMXEXT): New define.
1442
15f072f9
NC
14432011-05-22 Nick Clifton <nickc@redhat.com>
1444
1445 * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
1446 initialisation of non-existant args[2] element. Use args[] array
1447 not arg[] array to pass arguments to build_function_type_list.
1448
e38fdc94
IR
14492011-05-22 Ira Rosen <ira.rosen@linaro.org>
1450
1451 PR tree-optimization/49087
ef230b38 1452 * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
e38fdc94 1453
5b018c65
JM
14542011-05-21 Jason Merrill <jason@redhat.com>
1455
1456 PR c++/49092
1457 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
1458 static storage duration.
1459
abd9a770
EB
14602011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1461
1462 * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
1463 frame pointer.
1464
bd9a3248
EB
14652011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1466
1467 * config/sparc/sparc.c (eligible_for_return_delay): Do not return
1468 false if there are call-saved registers here...
1469 (sparc_can_use_return_insn_p): ...but here instead.
1470 (save_or_restore_regs): Fix thinko.
1471 (sparc_expand_prologue): Use current_function_is_leaf.
1472 (sparc_frame_pointer_required): Likewise.
1473
a5dfec9a
NC
14742011-05-21 Nick Clifton <nickc@redhat.com>
1475
1476 PR target/49098
1477 * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
1478
555c3771
NP
14792011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
1480
1481 * gengtype.c (walk_type): Implemented "atomic" GTY option.
1482 * doc/gty.texi (GTY Options): Document "atomic" GTY option.
1483
86fa5de4
JM
14842011-05-21 Joseph Myers <joseph@codesourcery.com>
1485
1486 * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
1487 * optc-gen.awk: Move common code to opt-read.awk.
1488 * opth-gen.awk: Likewise.
ef230b38 1489 * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
86fa5de4 1490
bce33ab2
NF
14912011-05-20 Nathan Froyd <froydnj@codesourcery.com>
1492
1493 * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
1494
e6450c11
TV
14952011-05-20 Tom de Vries <tom@codesourcery.com>
1496
1497 PR target/45098
1498 * tree-ssa-loop-ivopts.c: Include expmed.h.
1499 (get_shiftadd_cost): New function.
1500 (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
1501
0e8b84ec
JJ
15022011-05-20 Jakub Jelinek <jakub@redhat.com>
1503
1504 PR bootstrap/49086
1505 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
1506 for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
1507
946bdf67
JM
15082011-05-20 Joseph Myers <joseph@codesourcery.com>
1509
1510 * Makefile.in: Update comment referring to $(OBJS-common).
1511
c53aafdf
ILT
15122011-05-20 Ian Lance Taylor <iant@google.com>
1513
1514 * godump.c (go_output_typedef): Put enum constants in the macro
1515 hash table to avoid duplicate Go const definitions.
1516
2691e6d7
JM
15172011-05-20 Joseph Myers <joseph@codesourcery.com>
1518
1519 * Makefile.in (LIBDEPS): Add libcommon.a.
1520 (LIBS): Likewise.
1521 (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
1522 (OBJS-common): Remove diagnostic.o, input.o, intl.o,
1523 pretty-print.o and version.o.
1524 (OBJS-libcommon): New.
1525 (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
1526 (BACKEND): Add libcommon.a.
1527 (MOSTLYCLEANFILES): Likewise.
1528 (libcommon.a): New.
1529 (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
1530 (cpp$(exeext)): Likewise.
1531 (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
1532 pretty-print.o and input.o.
1533 (lto-wrapper$(exeext)): Don't explicitly use intl.o.
1534 (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
1535 (errors.o): Remove.
1536 (mips-tfile): Don't explicitly use version.o.
1537 (mips-tdump): Likewise.
1538 (gcov.o): Depend on $(DIAGNOSTIC_H).
1539 (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
1540 (GCOV_OBJS): Remove intl.o, version.o and errors.o.
1541 (GCOV_DUMP_OBJS): Remove version.o and errors.o.
1542 * gcov-dump.c: Include intl.h and diagnostic.h.
1543 (main): Initialize diagnostics.
1544 * gcov.c: Include diagnostic.h.
1545 (fnotice): Remove.
1546 (main): Initialize diagnostics.
1547 * lto-wrapper.c: Include diagnostic.h.
1548 (main): Initialize diagnostics.
1549
252b3e8c
MM
15502011-05-20 Michael Matz <matz@suse.de>
1551
1552 * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
1553
2ee36ba6
MM
15542011-05-20 Michael Matz <matz@suse.de>
1555 Richard Guenther <rguenther@suse.de>
1556
1557 * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
1558 use lto_streamer_cache_append directly instead of returning a VEC.
1559 (preload_common_node): Remove.
1560 (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
1561 track seen nodes.
1562 (lto_streamer_cache_create): Call lto_preload_common_nodes.
1563
90ff582f
RG
15642011-05-20 Richard Guenther <rguenther@suse.de>
1565
1566 PR tree-optimization/49079
1567 * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
1568 MEM_REFs correctly for the trailing array access detection.
1569 Special case constants the same way as decls for overall size
1570 constraining.
1571
3cda91d8
UB
15722011-05-20 Uros Bizjak <ubizjak@gmail.com>
1573
1574 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
1575 argument expansion.
1576
6c66f733
JJ
15772011-05-20 Jakub Jelinek <jakub@redhat.com>
1578
1579 PR tree-optimization/49073
3cda91d8
UB
1580 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
1581 PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
6c66f733
JJ
1582 * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
1583
0ea80a16
RG
15842011-05-20 Richard Guenther <rguenther@suse.de>
1585
1586 PR middle-end/48849
1587 * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
1588 of pointer types the same way the middle-end does.
1589
fb291a1e
RG
15902011-05-20 Richard Guenther <rguenther@suse.de>
1591
3cda91d8
UB
1592 * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
1593 or pointer-to chains. Delay all fixup to uniquify_nodes.
fb291a1e 1594
37cb25ed
QN
15952011-05-19 Quentin Neill <quentin.neill@amd.com>
1596
1597 * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1598 (fma4_fmaddsub): Likewise
1599
a30726a4
JH
16002011-05-19 Jan Hubicka <jh@suse.cz>
1601
1602 * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
1603 (GIMPLE_TYPE_PAIR_SIZE): New macro.
1604 (type_pair_cache): New static var.
1605 (lookup_type_pair): Use fixed sized custom hash; make inline.
1606 (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
1607 calls of lookup_type_pair.
1608 (print_gimple_types_stats): Remove cache stats.
1609 (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
1610 and gtc_ob.
1611
0955cf61
UB
16122011-05-19 Uros Bizjak <ubizjak@gmail.com>
1613
1614 * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
1615 when TARGET_RDRND is active.
1616 (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
1617 Generate dummy SImode target register when target is NULL.
1618
12d844c8
JM
16192011-05-19 Joseph Myers <joseph@codesourcery.com>
1620
1621 * config/arm/arm-fpus.def: New.
1622 * config/arm/genopt.sh: Generate Enum and EnumValue entries from
1623 arm-fpus.def.
1624 * config/arm/arm-tables.opt: Regenerate.
1625 * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
1626 (arm_option_override): Don't decode FPU name to string here.
1627 * config/arm/arm.opt (mfpu=): Use Enum.
1628 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
1629 Update dependencies.
1630
9e350e99
JM
16312011-05-19 Joseph Myers <joseph@codesourcery.com>
1632
1633 * collect2.c: Include diagnostic.h.
1634 (fatal_perror, fatal, error, fancy_abort): Remove.
1635 (main): Set progname. Call xmalloc_set_program_name and
1636 diagnostic_initialize.
1637 (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
1638 scan_libraries, resolve_lib_name): Call fatal_error instead of
1639 fatal and fatal_perror.
1640 * collect2.h (error, fatal, fatal_perror): Don't declare.
1641 * tlink.c: Include diagnostic-core.h.
1642 (recompile_files): Call fatal_error instead of fatal_perror.
1643 * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
1644 pretty-print.o and input.o.
1645 (collect2.o, tlink.o): Update dependencies.
1646
86ff4081
RO
16472011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1648
1649 * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
1650
2ca48caa
RO
16512011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1652
1653 PR target/40483
1654 * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
1655 COMDAT group syntax, both SPARC and x86 variants.
1656 (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
1657 * configure: Regenerate.
1658 * config/sol2.h (TARGET_SOLARIS): Define.
1659 (PUSHSECTION_FORMAT): Remove.
1660 (SECTION_NAME_FORMAT): Define.
1661 * config/sol2.c: Include hashtab.h.
1662 (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
1663 expansion, using SECTION_NAME_FORMAT.
1664 (solaris_comdat_htab): New variable.
1665 (struct comdat_entry): Define.
1666 (comdat_hash): New function.
1667 (comdat_eq): New function.
1668 (solaris_elf_asm_comdat_section): New function.
1669 (solaris_define_comdat_signature): New function.
1670 (solaris_code_end): New function.
1671 * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
1672 (solaris_code_end): Declare.
1673 * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
1674 * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
1675 solaris_code_end.
1676 (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
1677 Remove ATTRIBUTE_UNUSED.
1678 [!USE_GAS]: Call solaris_elf_asm_comdat_section for
1679 SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
0955cf61 1680 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
2ca48caa
RO
1681 * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
1682 * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
1683 * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
1684 (PUSHSECTION_FORMAT): Remove.
1685 (SECTION_NAME_FORMAT): Redefine.
1686
da5fb469
KT
16872011-05-19 Kai Tietz <ktietz@redhat.com>
1688
1689 * tree-cfg.c (verify_gimple_assign_binary): Barf on
1690 TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
1691 (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
1692
1651e703 16932011-05-19 Anatoly Sokolov <aesok@post.ru>
0967b228
AS
1694 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1695
1696 * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
1697
e497b9bd
RG
16982011-05-19 Richard Guenther <rguenther@suse.de>
1699
1700 PR middle-end/48985
1701 * tree-object-size.c (addr_object_size): If the pointed-to
1702 variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1703
31b3ca64
RG
17042011-05-19 Richard Guenther <rguenther@suse.de>
1705
1706 * gimple.c (gimple_types_compatible_p_1): Compare names of
1707 the types themselves.
1708 (iterative_hash_gimple_type): And hash them that way.
1709 (gimple_register_type_1): If we register a main variant properly
1710 initialize the leader to ourselves.
1711
bb8d292d
TV
17122011-05-19 Tom de Vries <tom@codesourcery.com>
1713
1714 PR target/45098
1715 * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
1716 get_loop_invariant_expr_id.
1717 (get_loop_invariant_expr_id): Use get_expr_id.
1718 (parm_decl_cost): New function.
1719 (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
1720 Improve bound cost estimation. Use different inv_expr_id for elim and
1721 express cases.
1722
a53c5024
TV
17232011-05-19 Tom de Vries <tom@codesourcery.com>
1724
1725 PR target/45098
1726 * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
1727 cost_base.cost == 0.
1728
31f9eb59
L
17292011-05-18 H.J. Lu <hongjiu.lu@intel.com>
1730
1731 PR target/49002
66bd20e7
EB
1732 * config/i386/sse.md
1733 (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>): Properly handle
1734 load cast.
31f9eb59 1735
681056ae
JJ
17362011-05-18 Jakub Jelinek <jakub@redhat.com>
1737
1738 PR tree-optimization/49039
1739 * tree-vrp.c (extract_range_from_binary_expr): For
1740 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
1741 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
1742
b5ee6752
TV
17432011-05-18 Tom de Vries <tom@codesourcery.com>
1744
1745 PR target/45098
1746 * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
1747
0bda47a3
UB
17482011-05-18 Uros Bizjak <ubizjak@gmail.com>
1749
1750 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
1751 (*tls_global_dynamic_64): Ditto.
1752 (*tls_local_dynamic_base_32_gnu): Ditto.
1753 (*tls_local_dynamic_base_64): Ditto.
1754 (tls_initial_exec_64_sun): Ditto.
1755
033b0805
SH
17562011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
1757
1758 * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
1759 * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
1760 bf592-none.
1761 * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
1762 * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
1763 * config/bfin/bfin.c (bfin_cpus): Add bf592.
1764 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
0bda47a3 1765 __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
033b0805
SH
1766 * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
1767 * config/bfin/elf.h (LIB_SPEC): Add bf592.
1768
ba163417
JM
17692011-05-18 Joseph Myers <joseph@codesourcery.com>
1770
1771 * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
0bda47a3 1772 arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
ba163417
JM
1773 * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
1774 target_thread_pointer, arm_structure_size_boundary, struct
1775 float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
1776 struct abi_name, arm_all_abis): Remove.
0bda47a3
UB
1777 (arm_option_override) Don't process most enumerated option values here.
1778 Don't process target_fpe_name here. Work with integer not string for
1779 structure size boundary; use separate diagnostics for each case.
ba163417
JM
1780 * config/arm/arm.h (enum float_abi_type, enum
1781 arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
1782 to arm-opts.h.
1783 (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
1784 arm_structure_size_boundary): Remove.
1785 * config/arm/arm.opt (mabi=): Use Enum and Init.
1786 (arm_abi_type): New Enum and EnumValue entries.
1787 (mfloat-abi=): Use Enum and Init.
1788 (float_abi_type): New Enum and EnumValue entries.
0bda47a3 1789 (mfp=, mfpe=): Replace by separate Alias entries for each argument.
ba163417
JM
1790 (mfp16-format=): Use Enum and Init.
1791 (arm_fp16_format_type): New Enum and EnumValue entries.
1792 (mstructure-size-boundary=): Use UInteger and Init.
1793 (mtp=): Use Enum and Init.
1794 (arm_tp_type): New Enum and EnumValue entries.
1795
179184e3
RG
17962011-05-18 Richard Guenther <rguenther@suse.de>
1797
1798 PR tree-optimization/49018
1799 * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
1800 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
1801 gimple_has_side_effects.
1802
93b2a207
RG
18032011-05-18 Richard Guenther <rguenther@suse.de>
1804
1805 * gimple.c (gimple_register_type_1): New function, split out from ...
1806 (gimple_register_type): ... here. Avoid infinite recursion.
1807
b010117a
IR
18082011-05-18 Ira Rosen <ira.rosen@linaro.org>
1809
1810 PR tree-optimization/41881
1811 * tree-vectorizer.h (struct _loop_vec_info): Add new field
1812 reduction_chains along with a macro for its access.
1813 * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
1814 (destroy_loop_vec_info): Free reduction chains.
1815 (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
1816 (vect_is_slp_reduction): New function.
1817 (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
1818 (vect_create_epilog_for_reduction): Support SLP reduction chains.
1819 * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
1820 definition types for reduction chains.
1821 (vect_supported_load_permutation_p): Don't allow permutations for
1822 reduction chains.
1823 (vect_analyze_slp_instance): Support reduction chains.
1824 (vect_analyze_slp): Try to build SLP instance from reduction chains.
1825 (vect_get_constant_vectors): Handle reduction chains.
1826 (vect_schedule_slp_instance): Mark the first statement of the
1827 reduction chain as reduction.
1828
e14c1050
IR
18292011-05-18 Ira Rosen <ira.rosen@linaro.org>
1830
1831 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
1832 names for group elements access.
1833 * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
1834 reduction chains as well. Remove data reference and interleaving
1835 related words from the fields names.
1836 * tree-vect-loop.c (vect_transform_loop): Use new names for group
1837 elements access.
1838 * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
1839 vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
1840 vect_update_interleaving_chain, vect_same_range_drs,
1841 vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
1842 vect_verify_datarefs_alignment, vector_alignment_reachable_p,
1843 vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
1844 vect_analyze_group_access, vect_analyze_data_ref_access,
1845 vect_create_data_ref_ptr, vect_transform_strided_load,
1846 vect_record_strided_load_vectors): Likewise.
1847 * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
1848 vect_model_load_cost, vectorizable_store, vectorizable_load,
1849 vect_remove_stores, new_stmt_vec_info): Likewise.
1850 * tree-vect-slp.c (vect_build_slp_tree,
1851 vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
1852
51c213f7
RG
18532011-05-18 Richard Guenther <rguenther@suse.de>
1854
1855 PR middle-end/48989
1856 * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
1857 operand verification.
1858 (verify_gimple_assign_binary): Likewise.
1859 * tree-ssa.c (useless_type_conversion_p): Preserve conversions
1860 to non-1-precision BOOLEAN_TYPEs.
1861
8f5e5434
TV
18622011-05-18 Tom de Vries <tom@codesourcery.com>
1863
1864 PR target/45098
1865 * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
1866
116bc3a4
JJ
18672011-05-18 Jakub Jelinek <jakub@redhat.com>
1868
1869 PR tree-optimization/49000
1870 * tree-ssa.c (execute_update_addresses_taken): Call
1871 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
1872 be rewritten and decl has been marked for renaming, reset
1873 the debug stmt.
1874
26a8964c
JM
18752011-05-17 Joseph Myers <joseph@codesourcery.com>
1876
1877 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
1878 enum_opts_set when testing if attributes have set -mfpmath=.
1879
82bd45d7
RS
18802011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
1881
1882 * config/mips/mips.c (mips_handle_option): Remove unused variable.
1883
267ffce3
UB
18842011-05-17 Uros Bizjak <ubizjak@gmail.com>
1885
1886 * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
1887 info->entry with 0
1888 * tree-inline.c (maybe_inline_call_in_expr): Initialize
1889 id.transform_lang_insert_block with NULL.
1890
18912011-05-17 Uros Bizjak <ubizjak@gmail.com>
d9403b0d
UB
1892
1893 * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
1894 (output_fp_compare): Change args 3 and 4 to bool.
1895 (ix86_expand_call): Change arg 6 to bool.
1896 (ix86_attr_length_immediate_default): Change arg 2 to bool.
1897 (ix86_attr_length_vex_default): Change arg 3 to bool.
1898 * config/i386/i386.md: Update all uses.
1899 * config/i386/i386.c: Ditto.
1900 (ix86_flags_dependent): Change return type to bool.
1901
5beaf664
RG
19022011-05-17 Richard Guenther <rguenther@suse.de>
1903
1904 * gimple.c (type_hash_pair_compare): Fix comparison.
1905
008bad7a
RG
19062011-05-17 Richard Guenther <rguenther@suse.de>
1907
1908 * gimple.c (iterative_hash_gimple_type): Simplify singleton
1909 case some more, fix final hash value of the non-singleton case.
1910
36461340
RG
19112011-05-17 Richard Guenther <rguenther@suse.de>
1912
1913 PR bootstrap/49013
1914 Revert
1915 2011-05-16 Richard Guenther <rguenther@suse.de>
1916
1917 * gimple.c (gimple_types_compatible_p_1): Use names of the
1918 type itself, not its main variant.
1919 (iterative_hash_gimple_type): Likewise.
1920
6b6a59f3
RG
19212011-05-17 Richard Guenther <rguenther@suse.de>
1922
1923 * gimple.c (gimple_register_canonical_type): Use the main-variant
1924 leader for computing the canonical type.
1925
4ffc4134
NC
19262011-05-17 Nick Clifton <nickc@redhat.com>
1927
a1d8754e
NC
1928 * config/rx/rx.c (rx_memory_move_cost): Include cost of register
1929 moves.
1930
4ffc4134
NC
1931 * config/rx/rx.md: Add peephole to remove redundant extensions
1932 after loads.
39960f7a
NC
1933 (bitset_in_memory): Use rx_restricted_mem_operand.
1934 (bitinvert_in_memory): Likewise.
1935 (bitclr_in_memory): Likewise.
4ffc4134 1936
b3db92ac
KI
19372011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
1938 Nick Clifton <nickc@redhat.com>
1939
1940 * config/rx/rx.md: Add peepholes to match a register move followed
1941 by a comparison of the moved register. Replace these with an
1942 addition of zero that does both actions in one instruction.
1943
8637e32a
JJ
19442011-05-17 Jakub Jelinek <jakub@redhat.com>
1945
1946 PR target/48986
1947 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
1948 predicate to allow CONST_INT.
1949 (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
1950
8023568e
JM
19512011-05-16 Joseph Myers <joseph@codesourcery.com>
1952
1953 * opts-common.c (opt_enum_arg_to_value): New.
1954 * opts.h (opt_enum_arg_to_value): Declare.
1955 * config/i386/i386.opt (fpmath): Remove.
1956 (mfpmath=): Use Enum, Init and Save.
1957 (fpmath_unit): New Enum and EnumValue entries.
1958 * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
1959 name for function fpmath state.
1960 * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
1961 * config/i386/i386.c: Include diagnostic.h.
1962 (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
d9403b0d 1963 (ix86_target_string): Take enum fpmath_unit value instead of string.
8023568e 1964 (ix86_debug_options): Update call to ix86_target_string.
d9403b0d 1965 (ix86_option_override_internal): Don't process fpmath strings here.
8023568e
JM
1966 (x86_function_specific_save, ix86_function_specific_restore):
1967 Don't handle fpmath state specially.
1968 (ix86_function_specific_print): Pass fpmath state to
1969 ix86_target_string instead of printing in this function.
1970 (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
1971 Handle enum attributes.
1972 (IX86_ATTR_ENUM, ix86_opt_enum): New.
1973 (ix86_valid_target_attribute_tree): Update option_strings
1974 handling. Handle fpmath as enum option.
1975 (ix86_can_inline_p): Update field names for function fpmath state.
1976 (ix86_expand_builtin): Update call to ix86_target_string.
1977 * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
1978 (ix86_fpmath): Remove.
1979 * config/i386/t-i386 (i386.o): Update dependencies.
1980
9e8d926e
JM
19812011-05-16 Joseph Myers <joseph@codesourcery.com>
1982
1983 PR preprocessor/48677
1984 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
1985 from decoded_options[0], not from itself.
1986
f6449011
UB
19872011-05-16 Uros Bizjak <ubizjak@gmail.com>
1988
1989 * config/i386/constraints.md (z): New constraint.
1990 * config/i386/i386.c (c): New mode attribute.
1991 (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
1992 *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
1993 constraint for operand 0.
1994 (*call_vzeroupper): Ditto.
1995 (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
1996 (*call_rex64_ms_sysv_vzeroupper): Ditto.
1997 (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
1998 Use "lzm" constraint for operand 0.
1999 (*call_pop_vzeroupper): Ditto.
2000 (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
2001 *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
2002 constraint for operand 0.
2003 (*sibcall_vzeroupper): Ditto.
2004 (*sibcall_rex64_ms_sysv): Ditto.
2005 (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
2006 (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
2007 *sibcall_pop_1. Use "Uz" constraint for operand 0.
2008 (*sibcall_pop_vzeroupper): Ditto.
2009 (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
2010 *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
2011 mode iterator. Use "<c>zm" constraint for operand 1.
2012 (*call_value_vzeroupper): Ditto.
2013 (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
d9403b0d 2014 for operand 1.
f6449011
UB
2015 (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
2016 (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
2017 *call_value_pop_1. Use "lzm" constraint for operand 1.
2018 (*call_value_pop_vzeroupper): Ditto.
2019 (*sibcall_value): Merge insn pattern from *sibcall_value_0,
2020 *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
2021 mode iterator. Use "Uz" constraint for operand 1.
2022 (*sibcall_value_vzeroupper): Ditto.
2023 (*sibcall_value_rex64_ms_sysv): Ditto.
2024 (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
2025 (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
2026 constraint for operand 1.
2027 (*sibcall_value_pop_vzeroupper): Ditto.
2028 (*tls_global_dynamic_64): Use constant_call_address_operand predicate
2029 and "z" constraint for operand 2.
2030 (*tls_global_dynamic_32_gnu): Ditto.
2031 (*tls_local_dynamic_base_32_gnu): Ditto.
2032 (*tls_local_dynamic_base_64): Ditto.
2033 (*tls_local_dynamic_32_once): Ditto.
2034 * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
2035 Update all callers.
2036 * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
2037
c11b6902
RG
20382011-05-16 Richard Guenther <rguenther@suse.de>
2039
2040 * gimple.c (gimple_types_compatible_p_1): Use names of the
2041 type itself, not its main variant.
2042 (iterative_hash_gimple_type): Likewise.
2043
1e83b5f1
RG
20442011-05-16 Richard Guenther <rguenther@suse.de>
2045
f6449011
UB
2046 * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
2047 always visit pointer target and function result and argument types.
1e83b5f1 2048
62e36382
JM
20492011-05-16 Jason Merrill <jason@redhat.com>
2050
2051 PR c++/48999
2052 * tree-inline.c (copy_statement_list): Put back recursion.
2053
687027a4
GJL
20542011-05-16 Georg-Johann Lay <avr@gjlay.de>
2055
2056 PR target/27663
2057 PR target/41076
2058 * config/avr/predicates.md (const_8_16_24_operand): New predicate.
2059 * config/avr/avr.md ("*ior<mode>qi.byte0",
2060 "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
2061
f24a5190
GJL
20622011-05-16 Georg-Johann Lay <avr@gjlay.de>
2063
2064 PR target/45099
2065 * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
2066 register is needed for a function argument.
2067
3066f593
RG
20682011-05-16 Richard Guenther <rguenther@suse.de>
2069
2070 * gimple.c (struct type_hash_pair): New type.
2071 (type_hash_pair_compare): New function.
f6449011 2072 (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
3066f593 2073
b2ab2cf4
RE
20742011-05-16 Revital Eres <revital.eres@linaro.org>
2075
f6449011 2076 * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
b2ab2cf4 2077
dfb737fc
UB
20782011-05-15 Uros Bizjak <ubizjak@gmail.com>
2079
2080 * config/i386/i386.md (floating point move splitters): Fix
2081 usage of standard_80387_constant_p.
f6449011 2082 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
dfb737fc 2083
8caa1de0
UB
20842011-05-15 Uros Bizjak <ubizjak@gmail.com>
2085
2086 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
2087
8a519095
EB
20882011-05-14 Eric Botcazou <ebotcazou@adacore.com>
2089
2090 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
2091 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
2092 (tree_ssa_lim_finalize): Likewise.
2093
479fecd3
UB
20942011-05-14 Uros Bizjak <ubizjak@gmail.com>
2095
2096 * config/i386/constraint.md (Yd, Yx): New register constraints.
2097 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
2098 Yd conditional register constraint.
2099 (*movtf_internal): Use standard_sse_constant_opcode.
2100 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
2101 Yx conditional register constraint.
2102 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
2103 Yd conditional register constraint. Use standard_sse_constant_p to
2104 check for valid SSE constants and call standard_sse_constant_opcode to
2105 output SSE insn.
2106 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
2107 constants and call standard_sse_constant_opcode to output SSE insn.
2108 * config/i386/i386.c (ix86_option_ovverride_internal): Set
2109 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
2110 optimize_size is set.
2111 (standard_sse_constant_opcode): Output conditional AVX insn templates.
2112
2d8c9ad5
TB
21132011-05-14 Tobias Burnus <burnus@net-b.de>
2114
2115 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
2116
411a20d6
MJ
21172011-05-13 Martin Jambor <mjambor@suse.cz>
2118
2119 * ipa-prop.c (ipa_cst_from_jfunc): New function.
2120 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
2121 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
2122 (evaluate_conditions_for_ipcp_clone): Removed.
2123 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
2124 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
2125 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
2126
dc764d10
EB
21272011-05-13 Eric Botcazou <ebotcazou@adacore.com>
2128
2129 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
2130 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
2131 lieu of MAY_HAVE_DEBUG_STMTS.
2132 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
2133 debug statements if !MAY_HAVE_DEBUG_STMTS.
2134
9f47a24e
MT
21352011-05-13 Martin Thuresson <martint@google.com>
2136
2137 PR gcov-profile/47793
2138 * libgcov.c (gcov_exit): Support relative profile paths.
2139 * doc/invoke.texi (-fprofile-dir): Update for above change.
2140
b8a71aed
RG
21412011-05-13 Richard Guenther <rguenther@suse.de>
2142
2143 * gimple.c (gimple_canonical_types_compatible_p): Do not use
2144 type-pair caching, do not compare hashes.
2145
eb9f9259
NF
21462011-05-13 Nathan Froyd <froydnj@codesourcery.com>
2147
2148 PR middle-end/48965
2149 * tree-cfg.c (edge_to_cases_cleanup): Return true.
2150 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
2151
3c6cbf7a
KT
21522011-05-13 Kai Tietz <ktietz@redhat.com>
2153
2154 * gimplify.c (gimplify_expr): Make sure operand is boolified.
2155 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
2156 compatible type for TRUTH_NOT_EXPR.
2157
2e7f5dc0
L
21582011-05-13 H.J. Lu <hongjiu.lu@intel.com>
2159
dc764d10 2160 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
2161 (ix86_hard_regno_mode_ok): Change return value to bool. Use
2162 can_create_pseudo_p ().
2163
e834e95c
RG
21642011-05-13 Richard Guenther <rguenther@suse.de>
2165
2166 PR lto/48978
2167 * gimple.c (iterative_hash_gimple_type): Revert change in
2168 pointer target and function result and argument hashing.
2169
34203483
UB
21702011-05-13 Uros Bizjak <ubizjak@gmail.com>
2171
2172 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
2173 (*movxf_internal_nointeger): Ditto.
2174 (*movdf_internal_rex64): Ditto.
2175 (*movdf_internal): Ditto.
2176 (*movdf_internal_nointeger): Ditto.
2177 (*movsf_internal): Ditto.
2178 (sincos splitters): Use can_create_pseudo ().
2179
7eb68c06
JM
21802011-05-13 Joseph Myers <joseph@codesourcery.com>
2181
2182 * config/i386/i386-opts.h: New.
2183 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
2184 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
2185 ix86_section_threshold): Remove.
2186 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
2187 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
2188 OPT_mbranch_cost_.
2189 (ix86_option_override_internal): Don't decode strings for options
2190 other than -march=, -mtune= and -mfpmath=. Don't allow for
2191 __attribute__ uses in remaining diagnostics for options with
34203483 2192 string arguments. Don't check for integer arguments being negative.
7eb68c06 2193 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 2194 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
2195 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
2196 ix86_branch_cost, ix86_section_threshold): Remove.
2197 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
2198 HeaderInclude.
2199 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
2200 but not Var.
2201 (masm=): Use Enum and Init.
2202 (asm_dialect): New Enum and EnumValue entries.
2203 (mbranch-cost=): Use UInteger.
2204 (mlarge-data-threshold=): Use UInteger and Init.
2205 (mcmodel=): Use Enum and Init.
2206 (cmodel): New Enum and EnumValue entries.
2207 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
2208 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
2209 mregparm=): Use UInteger.
2210 (mstringop-strategy=): Use Enum and Init.
2211 (stringop_alg): New Enum and EnumValue entries.
2212 (mtls-dialect=): Use Enum and Init.
2213 (tls_dialect): New Enum and EnumValue entries.
2214 (mabi=): Use Enum and Init.
2215 (calling_abi): New Enum and EnumValue entries.
2216 (mveclibabi=): Use Enum and Init.
2217 (ix86_veclibabi): New Enum and EnumValue entries.
2218
f67e203c
NC
22192011-05-13 Nick Clifton <nickc@redhat.com>
2220
34203483
UB
2221 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
2222 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 2223
221df0b6
KT
22242011-05-13 Kai Tietz <ktietz@redhat.com>
2225
2226 PR middle-end/48984
2227 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
2228 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
2229 (gimple_boolify): Check for cast for boolean_type_node instead for
2230 BOOLEAN_TYPE.
2231
208cb8cb
RG
22322011-05-13 Richard Guenther <rguenther@suse.de>
2233
2234 PR tree-optimization/48172
2235 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
2236 multiplying by number of iterations for equal step.
2237 (vect_create_cond_for_alias_checks): Likewise.
2238
b88ecf55
AS
22392011-05-13 Andreas Schwab <schwab@redhat.com>
2240
2241 * configure.ac: Use AS_HELP_STRING throughout.
2242 * configure: Regenerate.
2243
569b527e
L
22442011-05-12 H.J. Lu <hongjiu.lu@intel.com>
2245
34203483 2246 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
2247 (ix86_emit_restore_regs_using_mov): Likewise.
2248 (ix86_emit_restore_sse_regs_using_mov): Likewise.
2249
8b9a1428
AS
22502011-05-12 Anatoly Sokolov <aesok@post.ru>
2251
2252 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
2253 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
2254 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
2255 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
2256 RTX_OK_FOR_OLO10_P): ...here.
2257 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
2258 SYMBOLIC_CONST.
2259
1d15f620
KT
22602011-05-12 Kai Tietz <ktietz@redhat.com>
2261
2262 * gimplify.c (gimple_boolify): Re-boolify expression
2263 arguments even if expression type is of kind BOOLEAN_TYPE.
2264 (gimplify_boolean_expr): Removed.
2265 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
2266 and XOR. Additional take care that we keep expression's type.
2267 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
2268 of TRUTH_AND|OR|XOR_EXPR.
2269
c2b5fc8d
JJ
22702011-05-12 Jakub Jelinek <jakub@redhat.com>
2271
2272 PR tree-optimization/48975
2273 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
2274 on all bbs here and free and clear ifc_bbs at the end.
2275
61332f77
RG
22762011-05-12 Richard Guenther <rguenther@suse.de>
2277
2278 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
2279 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
2280 until after simple checks.
2281 (gimple_types_compatible_p): Likewise.
2282 (iterative_hash_gimple_type): Always hash pointer targets
2283 and function return and argument types.
2284 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
2285 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
2286 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
2287 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
2288 completely in the simple compare section.
2289 (gimple_register_canonical_type): Query the cache again after
2290 registering.
2291
e2a3a5f1
RG
22922011-05-12 Richard Guenther <rguenther@suse.de>
2293
2294 PR tree-optimization/48172
2295 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
2296 the number of iterations from the segment size calculation.
2297 (vect_create_cond_for_alias_checks): Adjust.
2298
2c703f3a
JJ
22992011-05-12 Jakub Jelinek <jakub@redhat.com>
2300
2301 PR debug/48967
2302 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
2303 if validate_subreg fails.
2304
23052011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
2306
2307 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
2308 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
2309 early.
2310
87e91fca
DD
23112011-05-12 DJ Delorie <dj@redhat.com>
2312
d53903d6 2313 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
2314 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
2315 created builtin into rx_builtins array.
2316 (rx_builtin_decl): New function.
34203483 2317 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 2318
5f2f13fd
DD
23192011-05-12 DJ Delorie <dj@redhat.com>
2320 Nick Clifton <nickc@redhat.com>
2321
2322 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
2323 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
2324 (rx_is_legitimate_address): Add pre-decrement and post-increment
2325 addressing in HImode and QImode. Fix test for out of range
2326 REG+INT addressing.
87e91fca 2327 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 2328 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 2329 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 2330 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 2331
57421f45
JM
23322011-05-11 Jason Merrill <jason@redhat.com>
2333
2334 * tree.c (type_hash_canon): Use struct tree_type_non_common.
2335
898c90c0
EB
23362011-05-11 Eric Botcazou <ebotcazou@adacore.com>
2337
2338 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
2339 reindent the subsequent block.
2340
79bec923
ST
23412011-05-11 Satoru Takabayashi <satorux@google.com>
2342 Paul Pluzhnikov <ppluzhnikov@google.com>
2343
34203483 2344 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
2345 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
2346 * config.in: Add LINKER_HASH_STYLE.
2347 * configure.ac: Add --with-linker-hash-style.
2348 * configure: Regenerate.
79bec923 2349
d0340959
RG
23502011-05-11 Richard Guenther <rguenther@suse.de>
2351
2352 PR middle-end/48964
2353 * gimple.c (iterative_hash_canonical_type): Fix typo.
2354
cb032fee
UB
23552011-05-11 Uros Bizjak <ubizjak@gmail.com>
2356
2357 * config/i386/i386.c (legitimize_tls_address)
479fecd3 2358 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
2359 expanders directly for TARGET_GNU2_TLS. Determine pic and
2360 __tls_get_addr symbol reference here. Update call to
2361 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 2362 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
2363 expanders directly for TARGET_GNU2_TLS. Determine
2364 __tls_get_addr symbol reference here. Update call to
2365 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
2366 unique UNSPEC REG_EQUIV to libcall block.
2367 (ix86_tls_get_addr): Declare static.
2368 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
2369 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
2370 Do not determine pic and __tls_get_addr symbol reference here. Do not
2371 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
2372 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
2373 (tls_global_dynamic_64): Add operand 2. Do not determine
2374 __tls_get_addr symbol reference here. Do not call
2375 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
2376 (tls_local_dynamic_base64): Ditto for operand 1.
2377
6d3cc8f0
EB
23782011-05-11 Eric Botcazou <ebotcazou@adacore.com>
2379
2380 * function.c (expand_function_start): Initialize stack_check_probe_note
2381 only if the generic stack checking mechanism is used.
2382
51e020fc
RG
23832011-05-11 Richard Guenther <rguenther@suse.de>
2384
2385 PR tree-optimization/15256
2386 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
2387 (A & B) | C, combine (A op CST1) op CST2.
2388 (tree_ssa_forward_propagate_single_use_vars): Only bother to
2389 visit assigns that have uses.
2390
51545682
NF
23912011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2392
cb032fee 2393 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
2394 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
2395 (unpack_ts_type_common_value_fields): ...this. Update comment.
2396 (unpack_value_fields): Adjust for renaming.
2397 (lto_input_ts_type_tree_pointers): Split into...
2398 (lto_input_ts_type_common_tree_pointer): ...this and...
2399 (lto_input_ts_type_non_common_tree_pointers): ...this.
2400 (lto_input_tree_pointers): Adjust for above split.
2401 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
2402 (pack_ts_type_common_value_fields): ...this. Update comment.
2403 (lto_output_ts_type_tree_pointers): Split into...
2404 (lto_output_ts_type_common_tree_pointers): ...this and...
2405 (lto_output_ts_type_non_common_tree_pointers): ...this.
2406 (lto_output_tree_pointers): Adjust for above split.
2407 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
2408 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
2409 * stor-layout.c (vector_type_mode): Adjust location of mode field.
2410 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
2411 Define.
2412 (struct tree_type): Split into...
2413 (struct tree_type_common: ...this and...
2414 (struct tree_type_with_lang_specific): ...this and...
2415 (struct tree_type_non_common): ...this. Adjust accessor macros
2416 accordingly.
2417 (TYPE_VALUES_RAW): Define.
2418 (union tree_node): Update for above changes.
2419 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
2420 TS_TYPE_NON_COMMON.
2421 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
2422 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
2423 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
2424 * treestructu.def (TS_TYPE): Remove.
2425 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
2426 Define.
2427
b03c3082
JJ
24282011-05-11 Jakub Jelinek <jakub@redhat.com>
2429
2430 PR debug/48159
2431 * tree-ssa.c (reset_debug_uses): New function.
2432 * tree-flow.h (reset_debug_uses): New prototype.
2433 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2434 * tree-loop-distribution.c (generate_loops_for_partition): Call
2435 reset_debug_uses on the stmts that will be removed. Keep around
2436 all debug stmts, don't count them as bits in partition bitmap.
2437 (generate_builtin): Don't count debug stmts or labels as bits in
2438 partition bitmap.
2439
b5e04de5
RG
24402011-05-11 Richard Guenther <rguenther@suse.de>
2441
2442 * gimple.c (gimple_type_hash_1): Merge with ...
2443 (gimple_type_hash): ... this.
2444 (gtc_visit): Remove mode parameter and simplify accordingly.
2445 (gimple_types_compatible_p_1): Likewise.
2446 (gimple_types_compatible_p): Likewise.
2447 (iterative_hash_gimple_type): Likewise.
2448 (visit): Likewise.
2449 (gimple_type_eq): Adjust.
2450
fc6970e4
RE
24512011-05-11 Revital Eres <revital.eres@linaro.org>
2452
2453 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
2454 enters the branch create an anti edge in the opposite direction
2455 to prevent the creation of reg-moves.
2456 * modulo-sched.c: Adjust comment to reflect the fact we are
2457 scheduling closing branch.
2458 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
2459 (stage_count): New field in struct partial_schedule.
2460 (calculate_stage_count): New function.
2461 (normalize_sched_times): Rename to reset_sched_times and handle
2462 incrementing the sched time of the nodes by a constant value
2463 passed as parameter.
2464 (duplicate_insns_of_cycles): Skip closing branch.
2465 (sms_schedule_by_order): Schedule closing branch.
2466 (ps_insn_find_column): Handle closing branch.
2467 (sms_schedule): Call reset_sched_times and adjust the code to
2468 support scheduling of the closing branch.
2469 (ps_insert_empty_row): Update calls to normalize_sched_times
2470 and rotate_partial_schedule functions.
2471
41a58a92
RG
24722011-05-11 Richard Guenther <rguenther@suse.de>
2473
2474 PR middle-end/48953
2475 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
2476
e9f8dcf9
JM
24772011-05-11 Joseph Myers <joseph@codesourcery.com>
2478
cb032fee
UB
2479 * opts.c (finish_options): Move warning settings from process_options.
2480 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 2481
10c224a9
RG
24822011-05-11 Richard Guenther <rguenther@suse.de>
2483
2484 PR tree-optimization/18041
2485 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
2486 (simplify_bitwise_binary): ... this. Handle operand conversions
2487 by applying them to the result instead.
2488 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
2489
825b27de
RG
24902011-05-11 Richard Guenther <rguenther@suse.de>
2491
2492 * gimple.c (gimple_canonical_types_compatible_p): Split out
2493 from gimple_types_compatible_p and friends. Do not recurse
2494 to pointed-to types.
2495 (gimple_canonical_type_eq): Use it.
2496 (iterative_hash_canonical_type): Split out from
2497 iterative_hash_gimple_type and friends. Do not recurse
2498 to pointed-to types.
2499 (gimple_canonical_type_hash): Use it, allocate the hash here.
2500
ca756625
RE
25012011-05-11 Revital Eres <revital.eres@linaro.org>
2502
2503 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
2504 recognizing doloop.
2505
b8abece3
RE
25062011-05-11 Revital Eres <revital.eres@linaro.org>
2507
2508 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
2509 instead of PREV_INSN.
2510
ce7b3761
RE
25112011-05-11 Revital Eres <revital.eres@linaro.org>
2512
2513 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
2514 * loop-doloop.c (doloop_condition_get): Likewise.
2515 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
2516 (doloop_end): New.
2517 * config/arm/arm.md (*addsi3_compare0): Remove "*".
2518
a9dc9d37
NF
25192011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2520
2521 * tree.def (CASE_LABEL_EXPR): Add an operand.
2522 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
2523
96703596
JM
25242011-05-10 Joseph Myers <joseph@codesourcery.com>
2525
2526 * c-decl.c (c_override_global_bindings_to_false): Remove.
2527 (global_bindings_p): Don't check
2528 c_override_global_bindings_to_false.
2529 * c-tree.h (c_override_global_bindings_to_false): Remove.
2530 * c-typeck.c (composite_type): Don't set
2531 c_override_global_bindings_to_false.
2532
dbcc9f08
MM
25332011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2534
2535 PR target/48857, 48495
2536 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2537 (VSX_MODE): Ditto.
2538 (VSX_MOVE_MODE): Ditto.
2539 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2540 VSX vector types. Add V2DImode.
2541 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2542 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2543 (MODES_TIEABLE_P): Ditto.
2544
2545 * config/rs6000/rs6000.c (rs6000_emit_move): Use
2546 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2547 VSX_VECTOR_MODE.
2548 (init_cumulative_args): Ditto.
2549 (rs6000_function_arg_boundary): Ditto.
2550 (rs6000_function_arg_advance_1): Ditto.
2551 (rs6000_function_arg): Ditto.
2552 (rs6000_function_ok_for_sibcall): Ditto.
2553 (emit_frame_save): Ditto.
2554 (rs6000_function_value): Ditto.
2555 (rs6000_libcall_value): Ditto.
2556
4a68b4ca
JM
25572011-05-10 Joseph Myers <joseph@codesourcery.com>
2558
2559 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2560 i386/darwin-lib.h to $libgcc_tm_file.
2561 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
2562
bcb521e9
JM
25632011-05-10 Joseph Myers <joseph@codesourcery.com>
2564
2565 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
2566
f10d3ac9
JM
25672011-05-10 Joseph Myers <joseph@codesourcery.com>
2568
cb032fee 2569 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
2570 * config/rs6000/rs6000-tables.opt: New file (generated).
2571 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
2572 rs6000/rs6000-tables.opt to extra_options.
2573 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
2574 * config/rs6000/rs6000.c (rs6000_select): Remove.
2575 (processor_target_table): Move contents to rs6000-cpus.def.
2576 (darwin_rs6000_override_options): Check
2577 global_options_set.x_rs6000_cpu_index instead of
2578 rs6000_select[1].string.
2579 (rs6000_option_override_internal): Likewise.
2580 (rs6000_handle_option): Don't assert that global structures are in
2581 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
2582 (rs6000_default_cpu): New variable.
2583 (rs6000_file_start): Set it instead of local default_cpu. Check
2584 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
2585 global_options_set.x_rs6000_tune_index instead of rs6000_select.
2586 (rs6000_darwin_file_start): Check rs6000_default_cpu and
2587 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
2588 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
2589 rs6000_select): Remove.
2590 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
2591 Remove.
2592 (mcpu=, mtune=): Use Var, Init, Enum and Save.
2593 * config/rs6000/t-rs6000
2594 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
2595 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2596 global_options_set.x_rs6000_cpu_index instead of
2597 rs6000_select[1].string.
2598 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2599 global_options_set.x_rs6000_cpu_index instead of
2600 rs6000_select[1].string.
2601
80cf2e08
JM
26022011-05-10 Joseph Myers <joseph@codesourcery.com>
2603
2604 * config.gcc (libgcc_tm_file): Define instead of including files
2605 from ../../libgcc/config/ in tm_file.
cb032fee 2606 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
2607 * configure: Regenerate.
2608 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
2609 libgcc_tm.h, cs-libgcc_tm.h): New.
2610 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
2611 (clean): Remove libgcc_tm.h.
2612 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
2613 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
2614 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
2615
fd01a351
GJL
26162011-05-10 Georg-Johann Lay <avr@gjlay.de>
2617
2618 PR target/48896
2619 * config/avr/avr.c (avr_ret_register): Return unsigned int
2620 instead of int.
2621 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
2622 it to avr_libcall_value.
2623 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
2624 expand_expr.
2625 (avr_expand_binop_builtin): Ditto.
2626 (avr_expand_unop_builtin): Ditto.
2627
34cc3c86
DD
26282011-05-10 DJ Delorie <dj@redhat.com>
2629
2630 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2631 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2632 * config/rx/rx.c (rx_align_for_label): Add label and
2633 uses_threshold parameters. Do not align when the label is not
2634 used enough.
2635 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2636
be173289
RG
26372011-05-10 Richard Guenther <rguenther@suse.de>
2638
2639 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
2640 a series of conversions and apply foldings similar to what
2641 fold-const does.
2642 (tree_ssa_forward_propagate_single_use_vars): Call it.
2643
e7f78021
JJ
26442011-05-10 Jakub Jelinek <jakub@redhat.com>
2645
6ae70ea2
JJ
2646 PR tree-optimization/48611
2647 PR tree-optimization/48794
2648 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2649 referenced from RESX or EH_DISPATCH arguments.
2650
e7f78021
JJ
2651 PR debug/48928
2652 * dfp.c (decimal_to_decnumber): Handle conversion from
2653 dconst{1,2,m1,half}.
2654
fca132b9
UB
26552011-05-09 Uros Bizjak <ubizjak@gmail.com>
2656
2657 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
2658 for !flag_prefer_avx128.
2659 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
2660
e4c03378
EB
26612011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2662
2663 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
2664 (fold_ternary_loc): Use expr_location_or.
2665
805d6a75
L
26662011-05-09 H.J. Lu <hongjiu.lu@intel.com>
2667
2668 PR debug/48853
2669 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
2670 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
2671 Pmode and mem_mode is not VOIDmode.
2672
e4c03378 26732011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 2674
e4c03378
EB
2675 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
2676 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 2677
51e7f377
UB
26782011-05-09 Uros Bizjak <ubizjak@gmail.com>
2679
2680 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
2681 (const_pow2_1_to_8_operand): Ditto.
2682 (const_pow2_1_to_128_operand): Ditto.
2683 (const_pow2_1_to_32768_operand): Ditto.
2684 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
2685 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
2686 in insn constraint to check integer value of operand 3.
2687 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
2688
2689 (PINSR_MODE): New mode iterator.
2690 (sse2p4_1): New mode attribute.
2691 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
2692 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
2693 iterator. Use const_int_operand instead of
2694 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
2695 exact_log2 in insn constraint to check integer value of operand 3.
2696
26972011-05-09 Uros Bizjak <ubizjak@gmail.com>
2698
2699 * config/i386/sse.md (blendbits): Remove mode attribute.
2700 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
2701 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
2702 Check integer value of operand 3 in insn constraint.
2703
0ca8de87
RG
27042011-05-09 Richard Guenther <rguenther@suse.de>
2705
2706 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
2707 for diagnostics.
2708 (lto_symtab_merge): Likewise. Do not register types here.
2709 (lto_symtab_merge_decls_2): Likewise.
2710 (lto_symtab_merge_decls_1): Likewise.
2711 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
2712 * gimple.c (enum gtc_mode): Declare.
2713 (gimple_types_compatible_p): Make static.
2714
a9e6994a
AK
27152011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2716
2717 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2718 temporary register to match Pmode.
2719
fb55d62e
UB
27202011-05-09 Uros Bizjak <ubizjak@gmail.com>
2721
2722 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
2723 and *vec_concatv4si_1_avx.
2724
eb1485a6
UB
27252011-05-09 Uros Bizjak <ubizjak@gmail.com>
2726
2727 PR rtl-optimization/48927
2728 * ira-conflicts.c (commutative_constraint_p): Use
2729 recog_data.alternative_enabled_p to disable alternatives where
2730 "enabled" attribute is false.
2731 (get_dup_num): Ditto.
2732 * ira-lives.c (single_reg_class): Ditto.
2733 (ira_implicitly_set_insn_hard_regs): Ditto.
2734
c46d001a
EB
27352011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2736
2737 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2738 (dataflow_set_preserve_mem_locs): Likewise.
2739
27402011-05-09 Philipp Thomas <pth@suse.de>
2741
6d9e7c41
PT
2742 * config/mep/mep.c (mep_validate_vliw): Syntax description
2743 should not be translated.
2744
d371df6f
JM
27452011-05-09 Joseph Myers <joseph@codesourcery.com>
2746
2747 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
2748 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 2749 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
2750 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
2751 MIPS_ARCH_OPTION_NATIVE): Define.
2752 * config/mips/mips.c (mips_cpu_info_table): Move contents to
2753 mips-cpus.def.
2754 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
2755 mips_parse_cpu): Remove.
2756 (mips_cpu_info_from_opt, mips_default_arch): New.
2757 (mips_handle_option): Don't assert that global structures are in
2758 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
2759 (mips_option_override): Use new variables and functions to set
eb1485a6 2760 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
2761 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
2762 definition.
2763 * config/mips/mips.opt (march=): Use ToLower and Enum.
2764 (mips): Use ToLower, Enum and Var.
2765 (mtune=): Use ToLower and Enum.
2766 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
2767
4fc07af9
JH
27682011-05-08 Jan Hubicka <jh@suse.cz>
2769
2770 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
2771 Arrange type pairs to be UID ordered.
2772 (gimple_lookup_type_leader): Make inline.
2773
2cf320a8
NC
27742011-05-09 Nick Clifton <nickc@redhat.com>
2775
61d6def5
NC
2776 PR target/48899
2777 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
2778 PROCESSOR_DEFAULT.
2779
2cf320a8
NC
2780 PR target/48897
2781 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
2782 variable 's'.
2783
4f82319d
CLT
27842011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
2785
2786 * combine.c (simplify_comparison): Abstract out parts into...
2787 (simplify_compare_const): ... new function.
2788 (try_combine): Generalize parallel arithmetic/compare combining
2789 to call simplify_compare_const() and CANONICALIZE_COMPARE().
2790
74605a11
JH
27912011-05-08 Jan Hubicka <jh@suse.cz>
2792
2793 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
2794 (cgraph_create_virtual_clone): Call hooks once virtual clone
2795 is finished.
74605a11 2796 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
2797 * ipa-cp.c (ipcp_estimate_growth): Use
2798 estimate_ipcp_clone_size_and_time.
74605a11
JH
2799 * ipa-inline-transform.c (clone_inlined_nodes): Update.
2800 * lto-cgraph.c (input_node): Update.
2801 * ipa-inline.c (recursive_inlining): Update.
2802 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
2803 (evaluate_conditions_for_known_args): Break out from ...
2804 (evaluate_conditions_for_edge): ... here.
2805 (evaluate_conditions_for_ipcp_clone): New function.
2806 (inline_node_duplication_hook): Update clone summary based
2807 on parameter map.
2808 (estimate_callee_size_and_time): Rename to ...
2809 (estimate_node_size_and_time): take NODE instead of EDGE;
2810 take POSSIBLE_TRUTHS as argument.
2811 (estimate_callee_size_and_time): Update.
2812 (estimate_ipcp_clone_size_and_time): New function.
2813 (do_estimate_edge_time): Update.
2814
5c049507
RG
28152011-05-08 Richard Guenther <rguenther@suse.de>
2816
2817 PR middle-end/48908
2818 PR middle-end/48905
2819 * expmed.c (expand_shift_1): Compute adjusted constant shift
2820 amount manually.
2821
f64c36ba
EB
28222011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2823
2824 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
2825
c461a957
EB
28262011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2827
2828 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
2829
7c74e556
JW
28302011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2831
2832 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
2833
b4c0a884
JH
28342011-05-07 Jan Hubicka <jh@suse.cz>
2835
a9bcb3f0
EB
2836 * ipa-inline-transform.c (inline_call): Account when program size
2837 decreases.
b4c0a884 2838 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
2839 (edge_badness): Reorganize to be power 2 based; fix thinko when
2840 computing badness for negative growth; update comments to match
2841 reality; better dumps.
b4c0a884 2842
c99c0026
EB
28432011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2844
2845 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
2846 type to bool and adjust comment.
2847 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
2848 (fold_mathfn_compare): Remove calls to global_bindings_p.
2849 (fold_inf_compare): Likewise.
2850 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
2851 * c-tree.h (global_bindings_p): Adjust prototype.
2852 * c-decl.c (global_bindings_p): Return bool and simplify.
2853
1400c8e5
ZD
28542011-05-07 Zdenek Dvorak <ook@ucw.cz>
2855
2856 PR tree-optimization/48837
2857 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2858 when accumulator transformation is performed.
2859
5d0878e7
JH
28602011-05-06 Jan Hubicka <jh@suse.cz>
2861
a9bcb3f0
EB
2862 * i386.h (ix86_tune_indices): Add
2863 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 2864 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
2865 * i386.c (initial_ix86_tune_features): Add
2866 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
2867 (software_prefetching_beneficial_p): Remove predicate.
2868 (ix86_option_override_internal): Use new macro.
2869
58696ce5
JH
28702011-05-06 Jan Hubicka <jh@suse.cz>
2871
2872 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
2873
c47d0034
JH
28742011-05-06 Jan Hubicka <jh@suse.cz>
2875
2876 * cgraph.c (cgraph_add_thunk): Create real function node instead
2877 of alias node; finalize it and mark needed/reachale; arrange visibility
2878 to be right and add it into the corresponding same comdat group list.
2879 (dump_cgraph_node): Dump thunks.
2880 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
2881 cgraph_function_with_gimple_body_p,
2882 cgraph_first_function_with_gimple_body,
c47d0034
JH
2883 cgraph_next_function_with_gimple_body): New functions.
2884 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
2885 New macros.
2886 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
2887 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2888 * cgraphunit.c (cgraph_finalize_function): Only look into possible
2889 devirtualization when optimizing.
2890 (verify_cgraph_node): Verify thunks.
2891 (cgraph_analyze_function): Analyze thunks.
2892 (cgraph_mark_functions_to_output): Output thunks only in combination
2893 with function they are assigned to.
2894 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
2895 alias into normal node.
2896 (assemble_thunks): New functoin.
2897 (cgraph_expand_function): Use it.
2898 * lto-cgraph.c (lto_output_node): Stream thunks.
2899 (input_overwrite_node): Stream in thunks.
2900 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
2901 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
2902 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
2903 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
2904 (inline_analyze_function): Do not care about thunk jump functions.
2905 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
2906 * ipa-prop.c (ipa_prop_write_jump_functions): Use
2907 cgraph_function_with_gimple_body_p.
2908 * passes.c (do_per_function_toporder): Use
2909 cgraph_function_with_gimple_body_p.
c47d0034
JH
2910 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2911 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
2912 (function_called_by_processed_nodes_p): Likewise.
2913
d8f426ec
JM
29142011-05-06 Joseph Myers <joseph@codesourcery.com>
2915
2916 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
2917 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
2918 entries.
2919 (mabi=): Replace with separate entries for mabi=altivec,
2920 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
2921 mabi=ieeelongdouble and mabi=ibmlongdouble.
2922 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
2923 check for -mabi=spe without SPE ABI support here.
2924 (rs6000_handle_option): Replace OPT_mabi_ handling with
2925 OPT_mabi_altivec and OPT_mabi_spe handling.
2926
80bde45b
CC
29272011-05-06 Cary Coutant <ccoutant@google.com>
2928
2929 * dwarf2out.c (contains_subprogram_definition): New function.
2930 (should_move_die_to_comdat): Call it.
2931
a91926b9
JL
29322011-05-06 Jeff Law <law@redhat.com>
2933
2934 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
2935 remove_ctrl_stmt_and_useless_edges.
2936 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
2937 (fixup_template_block, thread_single_edge): Likewise.
2938 (mark_threaded_blocks): Use THREAD_TARGET.
2939
1fc1b66d
AM
29402011-05-06 Alan Modra <amodra@gmail.com>
2941
2942 PR target/48900
2943 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2944 const0_rtx as the arg to the dummy __tls_get_addr libcall.
2945
e194de64
UB
29462011-05-06 Uros Bizjak <ubizjak@gmail.com>
2947
2948 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2949 constraint modifier to "r".
2950
d740dc9e
JM
29512011-05-06 Joseph Myers <joseph@codesourcery.com>
2952
2953 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
2954 fall through for OPT_mcmodel_.
2955
cab78b15
AK
29562011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2957
2958 * config/s390/s390.c (s390_asm_trampoline_template): Comment
2959 instruction sizes.
e194de64 2960 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 2961
ee6824ae
RR
29622011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2963
eb1485a6
UB
2964 PR target/47930
2965 * config/arm/arm.opt (marm): Document it.
2966 (mthumb): Reject negative variant.
ee6824ae 2967
9ef58464
UB
29682011-05-06 Uros Bizjak <ubizjak@gmail.com>
2969
2970 PR target/48898
2971 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
2972 Fix typo in "ccvt" variable name.
2973
155b6176
TG
29742011-05-06 Tristan Gingold <gingold@adacore.com>
2975
2976 PR target/48895
2977 * config/vms/vms-ar.c (main): Remove cwd variable.
2978
3becc47b
JJ
29792011-05-06 Jakub Jelinek <jakub@redhat.com>
2980
2981 PR debug/48902
2982 * var-tracking.c (prepare_call_arguments): Move else before #endif.
2983
3d528853
NF
29842011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2985
2986 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
2987 * gimplify.c (gimplify_switch_expr): Likewise.
2988 * omp-low.c (expand_omp_sections): Likewise.
2989 * tree-eh.c (lower_try_finally_switch): Likewise.
2990 (lower_eh_dispatch): Likewise.
2991 * tree.h (build_case_label): Declare.
2992 * tree.c (build_case_label): Define.
2993
deb5046b
JM
29942011-05-05 Jason Merrill <jason@redhat.com>
2995
2996 PR c++/40975
2997 * tree-inline.c (copy_tree_r): Use copy_statement_list.
2998 (copy_statement_list): Don't recurse.
2999 * stor-layout.c (copy_self_referential_tree_r): Don't allow
3000 STATEMENT_LIST.
3001
013c0411
JM
30022011-05-05 Joseph Myers <joseph@codesourcery.com>
3003
3004 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
3005 through from -mfpu= handling.
3006 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
3007
a0905f8b
BS
30082011-05-05 Bernd Schmidt <bernds@codesourcery.com>
3009
3010 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
3011 POST_MODIFY.
3012
fc4538e4
SE
30132011-05-05 Steve Ellcey <sje@cup.hp.com>
3014
3015 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
3016 for 11.31.
3017 (hppa[12]*-*-hpux11*): Ditto.
3018 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
3019 * config/ia64/hpux-unix2003.h: New.
3020 * config/pa/pa-hpux1131.opt: New.
3021 * config/pa/pa-hpux1131.h: New.
3022 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
3023 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 3024 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 3025
1e30c578
JJ
30262011-05-05 Jakub Jelinek <jakub@redhat.com>
3027
3028 PR debug/48853
3029 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
3030 instead of mode as 3rd argument to recursive call.
3031 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
3032 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
3033 VOIDmode.
3034 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
3035 don't give up if mode is Pmode and mem_mode is not VOIDmode.
3036 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
3037 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
3038
d19eb620
JB
30392011-05-05 Julian Brown <julian@codesourcery.com>
3040
3041 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
3042 parenthesis in D-register case.
3043
c860fe8c
JM
30442011-05-05 Joseph Myers <joseph@codesourcery.com>
3045
3046 * opt-functions.awk (var_type_struct): Handle Enum options.
3047 * optc-gen.awk: Don't check range of variables of character type.
3048 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
3049 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
3050 rs6000_sdata_name, rs6000_explicit_options): Remove.
3051 (rs6000_option_override_internal): Check for -malign-power here.
3052 Use global_options_set instead of rs6000_explicit_options.
3053 (rs6000_parse_fpu_option): Remove.
3054 (rs6000_handle_option): Access variables via opts and opts_set
3055 pointers. Use error_at and warning_at. Add fall-through
3056 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
3057 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
3058 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
3059 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
3060 here. Don't use rs6000_parse_fpu_option.
3061 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
3062 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
3063 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
3064 (mrecip=): Use Var.
3065 (mspe): Use Var and Save.
3066 (mtraceback=): Use Enum and Var.
3067 (rs6000_traceback_type): New Enum and EnumValue entries.
3068 (mfloat-gprs=): Use Enum, Var and Save.
3069 (rs6000_float_gprs): New Enum and EnumValue entries.
3070 (mlong-double-): use Var and Save.
3071 (msched-costly-dep=, minsert-sched-nops=): Use Var.
3072 (malign-): Use Enum and Var.
3073 (rs6000_alignment_flags): New Enum and EnumValue entries.
3074 (mfpu=): Use Enum.
3075 (fpu_type_t): New Enum and EnumValue entries.
3076 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3077 global_options_set instead of rs6000_explicit_options.
3078 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3079 global_options_set instead of rs6000_explicit_options.
3080 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3081 global_options_set instead of rs6000_explicit_options.
3082 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3083 global_options_set instead of rs6000_explicit_options.
3084 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
3085 global_options_set instead of rs6000_explicit_options.
3086 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3087 global_options_set instead of rs6000_explicit_options.
3088 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
3089 definition.
3090 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3091 global_options_set instead of rs6000_explicit_options.
3092 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
3093 (rs6000_cmodel): New Enum and EnumValue entries.
3094 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3095 global_options_set instead of rs6000_explicit_options.
3096 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
3097 (mtls-size=): Use Enum and Var.
3098 (rs6000_tls_size): New Enum and EnumValue entries.
3099
0691dde9
MM
31002011-05-05 Michael Matz <matz@suse.de>
3101
3102 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
3103 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
3104 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
3105 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
3106 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
3107 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
3108 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
3109 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
3110 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
3111 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
3112 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
3113 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
3114 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
3115 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
3116 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
3117 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
3118
86529a49
RG
31192011-05-05 Richard Guenther <rguenther@suse.de>
3120
3121 * expmed.c (expand_variable_shift): Rename to ...
3122 (expand_shift_1): ... this. Take an expanded shift amount.
3123 For rotates recurse directly not building trees for the shift amount.
3124 (expand_variable_shift): Wrap around expand_shift_1.
3125 (expand_shift): Adjust.
3126
d0228c2e
JJ
31272011-05-05 Jakub Jelinek <jakub@redhat.com>
3128
3129 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
3130
907a08d9
EB
31312011-05-05 Eric Botcazou <ebotcazou@adacore.com>
3132
3133 * tree.h (get_pending_sizes): Remove prototype.
3134 (put_pending_size): Likewise.
3135 (put_pending_sizes): Likewise.
3136 * stor-layout.c (pending_sizes): Delete.
3137 (get_pending_sizes): Likewise.
3138 (put_pending_size): Likewise.
3139 (put_pending_sizes): Likewise.
3140 (variable_size): Do not call put_pending_size and tidy up.
3141 * function.h (struct function): Remove dont_save_pending_sizes_p.
3142 * lto-streamer-in.c (input_function): Do not stream it.
3143 * lto-streamer-out.c (output_function): Likewise.
3144 * tree-inline.c (initialize_cfun): Do not copy it.
3145 * c-decl.c (store_parm_decls): Do not set it.
3146 * omp-low.c (create_task_copyfn): Likewise.
3147 * tree-optimize.c (tree_rest_of_compilation): Likewise.
3148
386d9c57
UB
31492011-05-05 Uros Bizjak <ubizjak@gmail.com>
3150
3151 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
3152 conditions.
3153 (*movdf_internal): Ditto.
3154 (*movdf_internal_nointeger): Ditto.
3155 (*movsf_internal): Ditto.
3156
a04a722b
JM
31572011-05-05 Joseph Myers <joseph@codesourcery.com>
3158
3159 * c-decl.c (finish_decl): Don't call get_pending_sizes.
3160 (grokparm): Add parameter expr. Pass it to grokdeclarator.
3161 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
3162 (c_variable_size): Remove.
3163 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
3164 call put_pending_sizes.
3165 (get_parm_info): Add parameter expr. Use it to set
3166 arg_info->pending_sizes.
3167 (store_parm_decls): Use arg_info->pending_sizes instead or calling
3168 get_pending_sizes.
3169 * c-parser.c (c_parser_parms_declarator): Update call to
3170 c_parser_parms_list_declarator.
3171 (c_parser_parms_list_declarator): Take parameter expr. Update
3172 call to push_parm_decl. Update recursive call. Don't call
3173 get_pending_sizes. Update calls to get_parm_info.
3174 (c_parser_objc_method_definition): Update calls to
3175 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 3176 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
3177 (c_parser_objc_method_decl): Add parameter expr. Update call to
3178 grokparm.
386d9c57 3179 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
3180 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
3181 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
3182
c92a6f97
MH
31832011-05-05 Michael Hope <michael.hope@linaro.org>
3184
386d9c57
UB
3185 PR pch/45979
3186 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
3187 __ARM_EABI__ hosts.
c92a6f97 3188
07ea0048
UW
31892011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3190
3191 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3192 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
3193 (spu_output_mi_thunk): New function.
3194
d634bfa1
RO
31952011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3196
3197 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
3198 targetm.asm_out.print_operand.
3199 * config/sol2.c: Include target.h.
3200
40fda55b
JH
32012011-05-04 Jan Hubicka <jh@suse.cz>
3202
3203 * ipa-inline.c (reset_edge_caches): New function.
3204 (update_caller_keys): Add check_inlinablity_for; do not
3205 reset edge caches; remove now unnecesary loop.
386d9c57 3206 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
3207 (update_all_callee_keys): Likewise.
3208 (inline_small_functions): Sanity check cache; update code
3209 recomputing it.
3210
0360f70d
BS
32112011-05-04 Bernd Schmidt <bernds@codesourcery.com>
3212
3213 PR rtl-optimization/47612
3214 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
3215 as the last insn of the sequence to be moved.
3216
7a994646
TB
32172011-05-04 Tobias Burnus <burnus@net-b.de>
3218
3219 PR fortran/48864
3220 * doc/invoke.texi (Ofast): Document that it
3221 enables Fortran's -fno-protect-parens.
3222
7a2f7208
UB
32232011-05-04 Uros Bizjak <ubizjak@gmail.com>
3224
3225 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
3226
a2d42931
EB
32272011-05-04 Eric Botcazou <ebotcazou@adacore.com>
3228
3229 * stor-layout.c (variable_size): Do not issue errors.
3230
f81b1a3d
RG
32312011-05-04 Richard Guenther <rguenther@suse.de>
3232
3233 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
3234 for array-ref indices.
3235 (tree_coverage_counter_addr): Likewise.
3236 (build_fn_info_type): Use size_int for index types.
3237 (build_gcov_info): Likewise.
3238
c62c040f
RG
32392011-05-04 Richard Guenther <rguenther@suse.de>
3240
3241 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
3242 to build_int_cst.
3243 * c-typeck.c (really_start_incremental_init): Use bitsize_int
3244 for constructor indices.
3245 (push_init_level): Likewise.
3246
1e3287d0
RG
32472011-05-04 Richard Guenther <rguenther@suse.de>
3248
3249 * explow.c (promote_mode): Move variable declarations before code.
3250
6c32445b
NF
32512011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3252
3253 * tree.h (build_function_type_array): Declare.
3254 (build_varargs_function_type_array): Declare.
3255 (build_function_type_vec, build_varargs_function_type_vec): Define.
3256 * tree.c (build_function_type_array_1): New function.
3257 (build_function_type_array): New function.
3258 (build_varargs_function_type_array): New function.
3259
fdabf269
RS
32602011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
3261
3262 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
3263 before setting STMT_VINFO_TYPE.
3264
a207915a
UW
32652011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3266
3267 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
3268 instead of spu_pass_by_reference.
3269
5e617be8
AK
32702011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3271
3272 * calls.c (emit_library_call_value_1): Invoke
3273 promote_function_mode hook on libcall arguments.
3274 * explow.c (promote_function_mode, promote_mode): Handle TYPE
3275 argument being NULL.
3276 * targhooks.c (default_promote_function_mode): Lisewise.
3277 * config/s390/s390.c (s390_promote_function_mode): Likewise.
3278 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
3279
3280 * doc/tm.texi: Document that TYPE argument might be NULL.
3281
486d04be
SH
32822011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3283
3284 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
3285
9b19b026
SH
32862011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3287
3288 From Bernd Schmidt
3289 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
3290
502bc3df
RO
32912011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3292
3293 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
3294 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
3295 Move ...
3296 * mips-tfile.c: ... here.
3297 Don't include coretypes.h, tm.h, filenames.h.
3298 (saber_stop): Remove definition and all calls.
3299 [__SABER__]: Remove.
3300 (__LINE__): Remove default.
3301 (Size_t, Ptrdiff_t): Remove definitions.
3302 Replace by size_t, ptrdiff_t.
3303 [!MIPS_DEBUGGING_INFO]: Remove.
3304 (SHASH_SIZE, THASH_SIZE): Remove defaults.
3305 (progname): Add const.
3306 (STATIC): Remove.
3307 Replace all uses by static.
3308 (ALIGN_SYMTABLE_OFFSET): Remove default.
3309 * mips-tdump.c: Don't include coretypes.h, tm.h.
3310 Remove !MIPS_IS_STAB guard.
3311 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
3312 $(TM_H), filenames.h dependencies.
3313 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
3314
991eb6ef
SH
33152011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3316
3317 From Jie Zhang
3318 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
3319 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
3320
420ccc84
SH
33212011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3322
3323 From Bernd Schmidt
3324 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
3325 account and save/restore RETS.
3326 (PROFILE_BEFORE_PROLOGUE): Define.
3327 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
3328 the push insn to use predecrement.
3329
9f8d69ee
SH
33302011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3331
3332 From Jie Zhang
3333 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
3334
662c03f4
NC
33352011-05-04 Nick Clifton <nickc@redhat.com>
3336
3337 * config/mn10300/mn10300.c: Include cfgloop.h.
3338 (DUMP): New macro.
3339 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
3340 Lcc or a FLcc insn into the instruction stream.
3341 (mn10300_block_contains_call): New function. Returns true if the
3342 given basic block contains a CALL insn.
3343 (mn10300_loop_contains_call_insn): New function. Returns true if
3344 the given loop contains a CALL insn.
3345 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
3346 to use the SETLB and Lcc or FLcc insns.
3347 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
3348 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
3349 * config/mn10300/mn10300.opt (msetlb): New option. Used to
3350 disable the SETLB optimization.
3351 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
3352 __SETLB__ or __NO_SETLB__.
3353 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
3354 (movsf_internal): Handle MDR register.
3355 (cmpsi): Make visible.
3356 (setlb): New pattern.
3357 (Lcc): New pattern.
3358 (FLcc): New pattern.
3359
843b6915
UB
33602011-05-04 Uros Bizjak <ubizjak@gmail.com>
3361
3362 PR target/48860
3363 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
3364 for reg<->xmm moves.
3365 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
3366 (vec_concatv2di_rex64_sse): Ditto.
3367 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
3368 (*vec_extractv2di_1_rex64): Ditto.
3369
3370 Revert:
3371 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
3372
3373 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
3374 reg<->xmm moves.
3375 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
3376
d35936ab
RG
33772011-05-04 Richard Guenther <rguenther@suse.de>
3378
3379 * tree.h (int_const_binop): Remove notrunc argument.
3380 * fold-const.c (int_const_binop): Remove notrunc argument. Always
3381 create integer constants that are properly truncated.
3382 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
3383 (const_binop): Remove zero notrunc argument to int_const_binop.
3384 (size_binop_loc): Likewise.
3385 (fold_div_compare): Likewise.
3386 (maybe_canonicalize_comparison_1): Likewise.
3387 (fold_comparison): Likewise.
3388 (fold_binary_loc): Likewise.
3389 (multiple_of_p): Likewise.
3390 * expr.c (store_constructor): Likewise.
3391 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
3392 (maybe_fold_stmt_addition): Likewise.
3393 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
3394 * stor-layout.c (layout_type): Likewise.
3395 * tree-data-ref.c (tree_fold_divides_p): Likewise.
3396 * tree-sra.c (build_ref_for_offset): Likewise.
3397 (build_user_friendly_ref_for_offset): Likewise.
3398 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
3399 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
3400 * tree-ssa-loop-niter.c (inverse): Likewise.
3401 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
3402 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
3403 * tree-switch-conversion.c (check_range): Likewise.
3404 (build_constructors): Likewise.
3405 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
3406 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
3407 (extract_range_from_assert): Likewise.
3408 (vrp_int_const_binop): Likewise.
3409 (extract_range_from_binary_expr): Likewise.
3410 (extract_range_from_unary_expr): Likewise.
3411 (check_array_ref): Likewise.
3412 (find_case_label_range): Likewise.
3413 (simplify_div_or_mod_using_ranges): Likewise.
3414 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
3415 comparing case labels for merging.
3416
8992c063
MW
34172011-05-03 Mark Wielaard <mjw@redhat.com>
3418
3419 * dwarf2out.c (debug_str_hash_forced): Removed.
3420 (gen_label_for_indirect_string): Removed.
3421 (get_debug_string_label): Removed.
3422 (AT_string_form): Generate label directly.
3423 (output_indirect_string): Test indirect_string_node for
3424 DW_FORM_strp instead of checking label and refcount.
3425 (prune_indirect_string): Removed.
3426 (prune_unused_types): Don't check debug_str_hash_forced or
3427 call prune_indirect_string.
3428
4868e6ea
AO
34292011-05-04 Alexandre Oliva <aoliva@redhat.com>
3430
3431 PR other/48093
3432 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
3433
01a5c0ab
AO
34342011-05-04 Alexandre Oliva <aoliva@redhat.com>
3435
3436 PR debug/47994
3437 PR debug/47919
3438 * combine.c (try_combine): Skip debug insns at m_split tests.
3439
6ac00218
MW
34402011-04-26 Mark Wielaard <mjw@redhat.com>
3441
3442 PR42288
3443 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
3444 when info_section_emitted.
3445
3af42a7b
JM
34462011-05-03 Joseph Myers <joseph@codesourcery.com>
3447
3448 * config/mips/mips-opts.h: New.
3449 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
3450 to mips-opts.h.
3451 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
3452 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
3453 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
3454 via opts pointer.
3455 * config/mips/mips.h (enum mips_code_readable_setting): Move to
3456 mips-opts.h.
3457 (mips_abi, mips_code_readable): Don't declare.
843b6915 3458 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
3459 (mabi=): Use Enum and Var.
3460 (mips_abi): New Enum and EnumValue entries.
3461 (mcode-readable=): Use Enum and Var.
3462 (mips_code_readable_setting): New Enum and EnumValue entries.
3463 (mr10k-cache-barrier=): Use Enum and Var.
3464 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
3465
1cb1a99f
JH
34662011-05-03 Jan Hubicka <jh@suse.cz>
3467
3468 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
3469 replace hash by pointer map.
3470 (cgraph_node_set_element_def, cgraph_node_set_element,
3471 const_cgraph_node_set_element, varpool_node_set_element_def,
3472 varpool_node_set_element, const_varpool_node_set_element): Remove.
3473 (free_cgraph_node_set, free_varpool_node_set): New function.
3474 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
3475 * tree-emutls.c: Free varpool node set.
3476 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
3477 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3478 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
3479 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3480 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
3481 Move here from ipa.c; implement using pointer_map
3482 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
3483 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3484 debug_cgraph_node_set, varpool_node_set_new,
3485 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3486 dump_varpool_node_set, debug_varpool_node_set):
3487 Move to ipa-uitls.c.
3488 * passes.c (ipa_write_summaries): Update.
3489
7f31f4db
SH
34902011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3491
7a2f7208
UB
3492 From Mike Frysinger:
3493 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
3494 bf542/bf544/bf547/bf548/bf549.
7f31f4db 3495
b70fce6d
UB
34962011-05-03 Uros Bizjak <ubizjak@gmail.com>
3497
3498 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
3499
265b1d82
SH
35002011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3501
3502 From Bernd Schmidt:
3503 * config/bfin/bfin.md (MOVCC): New mode_macro.
3504 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
3505 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
3506 comments from generated assembly.
3507
f0b568f3
SH
35082011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3509
3510 From Bernd Schmidt
3511 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
3512 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
3513 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
3514 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
3515 * config/bfin/lib1funcs.asm (___muldi3): New function.
3516
2c67cf6e
NF
35172011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3518
3519 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
3520 build_function_type_list instead of build_function_type.
3521 Rearrange initialization of `args' to do so.
3522
f9ac28ad
NF
35232011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3524
3525 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
3526 instead of build_function_type.
3527
22b8798c
NF
35282011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3529
3530 * config/rs6000/rs6000.c (spe_init_builtins): Call
3531 build_function_type_list instead of build_function_type.
3532 (paired_init_builtins, altivec_init_builtins): Likewise.
3533 (builtin_function_type): Likewise.
3534
4cb44528
NF
35352011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3536
3537 * config/sh/sh.c (sh_media_init_builtins): Call
3538 build_function_type_list instead of build_function_type.
3539
4c203a6a
NF
35402011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3541
3542 * config/sparc/sparc.c (sparc_file_end): Call
3543 build_function_type_list instead of build_function_type.
3544
d6a3d62b
NF
35452011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3546
3547 * config/alpha/alpha.c (alpha_init_builtins): Call
3548 build_function_type_list instead of build_function_type.
3549
de530b86
NF
35502011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3551
3552 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
3553 build_function_type_list instead of build_function_type.
3554
baeec5f2
NF
35552011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3556
3557 * config/iq2000/i2000.c (iq2000_init_builtins): Call
3558 build_function_type_list instead of build_function_type.
3559 Delete `endlink' variable.
3560
c19afe52
NF
35612011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3562
3563 * config/avr/avr.c (avr_init_builtins): Call
3564 build_function_type_list instead of build_function_type.
3565
a341df0a
NF
35662011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3567
3568 * config/picochip/picochip.c (picochip_init_builtins): Call
3569 build_function_type_list instead of build_function_type.
3570 Delete `endlink' variable.
3571
2102b1e1
NF
35722011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3573
3574 * config/bfin/bfin.c (bfin_init_builtins): Call
3575 build_function_type_list instead of build_function_type.
3576
9f111209
SH
35772011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3578
3579 From Bernd Schmidt
3580 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
3581 that's not CONST_INT. Seemingly redundant check is due to PR39768.
3582
7071d064
SH
35832011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3584
3585 From Jie Zhang:
3586 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
3587 libbffastfp overrides libgcc when -mfast-fp.
3588
748f7574 35892011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
3590
3591 Originally from Bernd Schmidt
3592 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
3593 * config/bfin/bfin.c (override_options): Test it and error if
3594 TARGET_FDPIC.
3595
1a3a9152
SH
35962011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3597
3598 Originally From Bernd Schmidt
3599 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
3600 FD-PIC.
3601
7134c090
JL
36022011-05-03 Jeff Law <law@redhat.com>
3603
3604 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
3605 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
3606 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
3607 than accessing AUX field directly. Free the AUX field before
3608 clearing it.
7134c090
JL
3609 (thread_block, thread_through_loop_header): Likewise.
3610 (thread_single_edge, mark_threaded_blocks): Likewise.
3611 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
3612 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 3613
2c7eebae
BS
36142011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3615
3616 * function.c (init_function_start): Call decide_function_section.
3617 * varasm.c (decide_function_section): New function.
3618 (assemble_start_function): When not using
3619 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
3620 or first_function_block_is_cold.
3621 * rtl.h (decide_function_section): Declare.
3622
17038fcf
JJ
36232011-05-03 Uros Bizjak <ubizjak@gmail.com>
3624 Jakub Jelinek <jakub@redhat.com>
3625
3626 PR target/48774
3627 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
3628 only succeed if req_mode is the same as set_mode.
3629
3810076b
BS
36302011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3631
3632 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
3633 * genemit.c (gen_exp): Handle RETURN.
3634 * emit-rtl.c (verify_rtx_sharing): Likewise.
3635 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
3636 * rtl.c (copy_rtx): RETURN is shared.
3637 * rtl.h (enum global_rtl_index): Add GR_RETURN.
3638 (ret_rtx): New.
3639 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
3640 * config/s390/s390.c (s390_emit_epilogue): Likewise.
3641 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
3642 * config/cris/cris.c (cris_expand_return): Likewise.
3643 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
3644 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
3645 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
3646 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
3647 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
3648 Likewise.
3649 * config/v850/v850.c (expand_epilogue): Likewise.
3650 * config/bfin/bfin.c (bfin_expand_call): Likewise.
3651 * config/arm/arm.md (epilogue): Likewise.
3652 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
3653 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
3654 variable to ret_reg.
3655
9efdb4ad
RG
36562011-05-03 Richard Guenther <rguenther@suse.de>
3657
3658 PR lto/48846
3659 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
3660 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
3661 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
3662
60a45536
RG
36632011-05-03 Richard Guenther <rguenther@suse.de>
3664
3665 * c-decl.c (grokdeclarator): Instead of looking at
3666 TREE_OVERFLOW check if the constant fits in the index type.
3667
3188ed59
RS
36682011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3669
3670 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
3671 (vec_store_lanes<mode><mode>): Likewise.
3672
272c6793
RS
36732011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3674
3675 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
3676 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
3677 convert_optab_index values.
3678 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
3679 * genopinit.c (optabs): Initialize the new optabs.
3680 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
3681 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
3682 (expand_STORE_LANES): New functions.
3683 * tree.h (build_array_type_nelts): Declare.
3684 * tree.c (build_array_type_nelts): New function.
3685 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
3686 (vect_model_load_cost): Likewise.
3687 (vect_store_lanes_supported, vect_load_lanes_supported)
3688 (vect_record_strided_load_vectors): Declare.
3689 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
3690 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
3691 (vect_transform_strided_load): Split out statement recording into...
3692 (vect_record_strided_load_vectors): ...this new function.
3693 * tree-vect-stmts.c (create_vector_array, read_vector_array)
3694 (write_vector_array, create_array_ref): New functions.
3695 (vect_model_store_cost): Add store_lanes_p argument.
3696 (vect_model_load_cost): Add load_lanes_p argument.
3697 (vectorizable_store): Try to use store-lanes functions for
3698 interleaved stores.
3699 (vectorizable_load): Likewise load-lanes and loads.
3700 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
3701 to vect_model_store_cost.
3702 (vect_build_slp_tree): Likewise vect_model_load_cost.
3703
0f6d54f7
RS
37042011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3705
3706 * hooks.h (hook_bool_mode_uhwi_false): Declare.
3707 * hooks.c (hook_bool_mode_uhwi_false): New function.
3708 * target.def (array_mode_supported_p): New hook.
3709 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
3710 * doc/tm.texi: Regenerate.
3711 * stor-layout.c (mode_for_array): New function.
3712 (layout_type): Use it.
3713 * config/arm/arm.c (arm_array_mode_supported_p): New function.
3714 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
3715
b15eacc7
EB
37162011-05-03 Eric Botcazou <ebotcazou@adacore.com>
3717
3718 PR target/48723
3719 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
3720 for -fstack-check if the size to allocate is negative.
3721
575bfb00
LC
37222011-05-02 Lawrence Crowl <crowl@google.com>
3723
3724 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
3725 (timevar_cond_start): New for starting a timer only when it is not
3726 already running.
3727 (timevar_cond_stop): New for stopping a timer when it was not already
3728 running.
3729
3730 * timevar.c (timevar_stop): Enable start/stop timers to start again.
3731 (timevar_cond_start): New as above.
3732 (timevar_cond_stop): New as above.
3733
3734 * timevar.def: Add start/stop timers for compiler phases,
3735 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
3736 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
3737 and TV_PHASE_FINALIZE.
3738 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
3739 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
3740 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
3741 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
3742 Make unused TV_OVERLOAD into a start/stop timer.
3743
3744 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
3745 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
3746 to indicate that they are start/stop timers.
3747
3748 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
3749 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
3750 Move initialization to do_compile.
3751 (do_compile): Add initialization from above.
3752 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
3753
3754 * c-decl.c (c_write_global_declarations): Add start/stop of
3755 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
3756
3757 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
3758 or TV_PARSE_INLINE, as appropriate.
3759 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
3760 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
3761
3533b943
JM
37622011-05-02 Jason Merrill <jason@redhat.com>
3763
3764 PR c++/40975
3765 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
3766
2609a0ce
SM
37672011-05-02 Simon Martin <simartin@users.sourceforge.net>
3768
3769 PR c/35445
3770 * c-decl.c (finish_decl): Only create a composite if the types are
3771 compatible.
3772
6b0e4cbb
JM
37732011-05-02 Joseph Myers <joseph@codesourcery.com>
3774
3775 * config/fr30/fr30-protos.h (Mmode): Don't define.
3776 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
3777 definition where used.
3778 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
3779 define. Expand definitions where used.
3780 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
3781 Expand definitions where used.
3782 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
3783 rx_function_arg, rx_function_arg_advance,
3784 rx_function_arg_boundary): Expand definitions of those macros.
3785 * config/v850/v850-protos.h (Mmode): Don't define. Expand
3786 definition where used.
3787
4e938ce6
UB
37882011-05-02 Uros Bizjak <ubizjak@gmail.com>
3789
3790 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
3791 reg<->xmm moves.
3792 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
3793 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
3794 with *movv2sf_internal_rex64_avx.
3795 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
3796 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
3797 Use %v prefix in insn mnemonic to handle TARGET_AVX.
3798 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
3799 "vex" in "prefix" attribute calculation.
3800 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
3801
36019c19
SH
38022011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
3803
7a2f7208
UB
3804 PR target/47951
3805 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
3806 inputs match the output.
36019c19 3807
f69ea688
AS
38082011-05-02 Andreas Schwab <schwab@linux-m68k.org>
3809
3810 PR target/47955
3811 * config/m68k/m68k.c (m68k_expand_prologue): Set
3812 current_function_static_stack_size.
3813
c33406f5
JH
38142011-05-02 Jan Hubicka <jh@suse.cz>
3815
3816 * lto-streamer.c (lto_streamer_cache_insert_1,
3817 lto_streamer_cache_lookup, lto_streamer_cache_create,
3818 lto_streamer_cache_delete): Use pointer map instead of hashtable.
3819 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
3820
47c94d21
JM
38212011-05-02 Joseph Myers <joseph@codesourcery.com>
3822
3823 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
3824 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
3825 config/m68k/t-opts: New files.
3826 * config/m68k/m68k-tables.opt: New file (generated).
3827 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
3828 extra_options and m68k/t-opts to tmake_file.
3829 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
3830 (all_isas): Initialize using m68k-isas.def.
3831 (all_microarchs): Initialize using m68k-microarchs.def.
3832 (m68k_find_selection): Remove.
3833 (m68k_handle_option): Don't assert that global structures are in
3834 use. Use error_at. Access variables via opts pointer. Don't
3835 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
3836 directly for -m68020-40 and -m68020-60.
3837 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
3838 m68k_tune_entry here.
3839 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
3840 to m68k-opts.h.
3841 (m68k_library_id_string): Remove declaration.
4e938ce6 3842 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
3843 (m68k_library_id_string): New Variable.
3844 (march=, mcpu=, mtune=): Use Enum and Var.
3845
e562bf36
RG
38462011-05-02 Richard Guenther <rguenther@suse.de>
3847
3848 * varasm.c (output_constructor_regular_field): Compute zero-based
3849 index with double-ints. Make sure to ICE instead of producing
3850 wrong code.
3851 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
3852 in asserts. Properly use a signed type.
3853
6bec6c98
UB
38542011-05-02 Uros Bizjak <ubizjak@gmail.com>
3855
3856 * config/i386/sse.md (V): New mode iterator.
3857 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
3858 TARGET_SSE2.
3859 (V_256): Rename from AVX256MODE.
3860 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
3861 condition to all users.
3862 (VF1): Ditto.
3863 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
3864 condition to all users.
3865 (VF_128): Make V4SF mode unconditional.
3866 (VF_256): Rename from AVX256MODEF2P.
3867 (VI4F_128): Rename from SSEMODE4S.
3868 (VI8F_128): Rename from SSEMODE2D.
3869 (VI4F_256): Rename from AVX256MODE8P.
3870 (VI8F_256): Rename from AVX256MODE4P.
3871 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
3872 (ssescalarmodesuffix): Remove SF and DF modes.
3873 (SSEMODE124): Remove.
3874 (SSEMODE1248): Ditto.
3875 (SSEMODEF2P): Ditto.
3876 (AVXMODEF2P): Ditto.
3877 (AVXMODEFDP): Ditto.
3878 (AVXMODEFSP): Ditto.
3879 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
3880 unconditional.
3881 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
3882 unconditional.
3883 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
3884 xop_pcmov_<mode>256. Use V mode iterator.
3885
3886 Adjust RTX patterns globally for renamed mode attributes.
3887
2dfdcb4b
UW
38882011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3889
3890 * haifa-sched.c (sched_emit_insn): Emit insn before first
3891 non-scheduled insn. Inform back-end about new insn. Add
3892 new insn to scheduled_insns list.
3893
90bc4623
RG
38942011-05-02 Richard Guenther <rguenther@suse.de>
3895
3896 PR tree-optimization/48822
3897 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
3898 (process_scc): Indicate which iteration we start.
3899
bc0fe8cb
JH
39002011-05-02 Jan Hubicka <jh@suse.cz>
3901
3902 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
3903 (lto_section_overrun): New.
3904 * lto-section-out.c (append_block): Rename to ...
3905 (lto_append_block): ... this one; export.
3906 (lto_output_1_stream): Move lto lto-streamer.h
3907 (lto_output_data_stream): Update.
3908 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
3909 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
3910 functions.
3911
f070a9d1
RG
39122011-05-02 Richard Guenther <rguenther@suse.de>
3913
3914 * tree.c (tree_code_counts): New global array.
3915 (record_node_allocation_statistics): Count individual tree codes.
3916 (dump_tree_statistics): Dump individual code stats.
3917
09dfe187
JH
39182011-05-01 Jan Hubicka <jh@suse.cz>
3919
3920 * ipa-inline.c (caller_growth_limits): Fix thinko when
3921 looking for largest stack frame.
3922 * ipa-inline.h (dump_inline_summary): Declare.
3923 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
3924 on stack usage.
3925 (dump_inline_summary): Export.
3926 (debug_inline_summary): Declare as DEBUG_FUNCTION.
3927
6f76a878
AS
39282011-05-01 Anatoly Sokolov <aesok@post.ru>
3929
3930 * reginfo.c (memory_move_cost): Change rclass argument type form
3931 'enum reg_class' to reg_class_t.
3932 * reload.h (memory_move_cost): Update prototype.
3933 * postreload.c reload_cse_simplify_set): Change type dclass var to
3934 reg_class_t.
3935 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
3936 Update prototype.
3937 (ira_allocate_and_set_costs): Change aclass argument type form
3938 'enum reg_class' to reg_class_t.
6bec6c98 3939 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
3940 Change aclass argument type to reg_class_t.
3941 (update_conflict_hard_reg_costs): Change type aclass and pref vars
3942 to reg_class_t.
3943 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
3944 memory_move_cost call.
3945
3946 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
3947 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
3948 Change type tmp var to reg_class_t.
3949
9a4ac625
JH
39502011-04-30 Jan Hubicka <jh@suse.cz>
3951
3952 * ipa-inline.c (can_inline_edge_p): Disregard limits when
3953 inlining into function with flatten attribute.
3954 (want_inline_small_function_p): Be more realistic about inlining
3955 cold calls where callee size grows.
3956
dd8352ee
JH
39572011-04-30 Jan Hubicka <jh@suse.cz>
3958
3959 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
3960 flags.
3961
46e43d2b
AS
39622011-04-30 Anatoly Sokolov <aesok@post.ru>
3963
3964 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
3965 PRINT_OPERAND_PUNCT_VALID_P): Remove.
3966 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
3967 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
3968 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3969 (print_operand): Rename to...
3970 (sparc_print_operand): ...this. Make static. Adjust
3971 sparc_print_operand function call.
3972 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
3973 functions.
3974
ecb62563
JH
39752011-04-30 Jan Hubicka <jh@suse.cz>
3976
6bec6c98 3977 PR middle-end/48752
ecb62563
JH
3978 * ipa-inline.c (early_inliner): Disable when doing late
3979 addition of function.
3980
edb9b69e
JJ
39812011-04-30 Jakub Jelinek <jakub@redhat.com>
3982
be80a87e
JJ
3983 * dwarf2out.c (get_address_mode): New inline.
3984 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
3985 if not dwarf_strict emit
3986 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
3987 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
3988 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
3989 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
3990 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
3991 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
3992 mem_loc_descriptor callers.
3993 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
3994 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
3995 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
3996 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
3997 (base_types): New variable.
3998 (get_base_type_offset, calc_base_type_die_sizes,
3999 base_type_for_mode, mark_base_types, base_type_cmp,
4000 move_marked_base_types): New functions.
4001 (calc_die_sizes): Assert that die_offset is 0 or equal to
4002 next_die_offset.
4003 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
4004 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
4005 callers. If not dwarf_strict, call mem_loc_descriptor even for
4006 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
4007 (gen_subprogram_die): Don't give up on call site parameters
4008 with non-integral or large integral modes. Adjust
4009 mem_loc_descriptor callers.
4010 (prune_unused_types): Call prune_unused_types_mark on base_types
4011 vector entries.
4012 (resolve_addr): Call mark_base_types.
4013 (dwarf2out_finish): Call move_marked_base_types.
4014
edb9b69e
JJ
4015 PR tree-optimization/48809
4016 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
4017 type.
4018 (gen_inbound_check): Don't compute index_expr - range_min in utype
4019 again, instead reuse SSA_NAME initialized in build_arrays.
4020 Remove two useless gsi_for_stmt calls.
4021
a6545a3d
JL
40222011-04-29 Jeff Law <law@redhat.com>
4023
4024 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
4025
af8bca3c
MJ
40262011-04-29 Martin Jambor <mjambor@suse.cz>
4027
4028 * cgraph.h (cgraph_postorder): Remove declaration.
4029 * ipa-utils.h (ipa_free_postorder_info): Declare.
4030 (ipa_reverse_postorder): Likewise.
4031 * cgraphunit.c: Include ipa-utils.h.
4032 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
4033 * ipa-inline.c: Include ipa-utils.h.
4034 (ipa_inline): Update call to ipa_reverse_postorder.
4035 * ipa-pure-const.c (propagate_pure_const): Update call to
4036 ipa_reduced_postorder and ipa_print_order. Call
4037 ipa_free_postorder_info to clean up.
4038 (propagate_nothrow): Likewise.
4039 * ipa-reference.c (propagate): Removed a useless call to
4040 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
4041 and ipa_print_order. Call ipa_free_postorder_info to clean up.
4042 * ipa.c: Include ipa-utils.h.
4043 (ipa_profile): Update call to ipa_reverse_postorder.
4044 (cgraph_postorder): Moved to...
4045 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
4046 (ipa_utils_print_order): Renamed to ipa_print_order.
4047 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
4048 comments.
4049 (ipa_free_postorder_info): New function.
4050 * passes.c: Include ipa-utils.h.
4051 (do_per_function_toporder): Update call to ipa_reverse_postorder.
4052 (ipa_write_summaries): Likewise.
4053 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
4054 (cgraphunit.o): Likewise.
4055 (ipa.o): Likewise.
4056 (ipa-inline.o): Likewise.
4057
b15c64ee
JH
40582011-04-29 Jan Hubicka <jh@suse.cz>
4059
4060 * gcc.dg/tree-ssa/inline-10.c: New testcase.
4061 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
4062 * ipa-inline.h (clause_t): Turn into unsigned int.
4063 * ipa-inline-analysis.c (add_clause): Do more simplification.
4064 (and_predicates): Shortcut more cases.
4065 (predicates_equal_p): Move forward; check that clauses are properly
4066 ordered.
4067 (or_predicates): Shortcut more cases.
4068 (edge_execution_predicate): Rewrite as...
4069 (set_cond_stmt_execution_predicate): ... this function; handle
4070 __builtin_constant_p.
4071 (set_switch_stmt_execution_predicate): New .
4072 (compute_bb_predicates): New.
4073 (will_be_nonconstant_predicate): Update TODO.
4074 (estimate_function_body_sizes): Use compute_bb_predicates
4075 and free them later, always try to estimate if stmt is constant.
4076 (estimate_time_after_inlining, estimate_size_after_inlining):
4077 Gracefully handle optimized out edges.
4078 (read_predicate): Fix off by one error.
4079
a88fdc2a
NP
40802011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
4081
4082 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
4083
d984c8ef
XDL
40842011-04-27 Xinliang David Li <davidxl@google.com>
4085
4086 * tree-profile.c (init_ic_make_global_vars): Set
4087 tls attribute on ic vars.
4088 * coverage.c (coverage_end_function): Initialize
4089 function_list with zero.
4090
45a2c477
RG
40912011-04-29 Richard Guenther <rguenther@suse.de>
4092
4093 * builtins.c (fold_builtin_classify_type): Use integer_type_node
4094 for the type of the result.
4095 (fold_builtin_isascii): Likewise.
4096 (fold_builtin_toascii): Use integer_type_node where appropriate.
4097 (fold_builtin_logb): Likewise.
4098 (fold_builtin_frexp): Likewise.
4099 (fold_builtin_strstr): Likewise.
4100 (fold_builtin_strpbrk): Likewise.
4101 (fold_builtin_fputs): Likewise.
4102 (fold_builtin_sprintf): Likewise.
4103 (fold_builtin_snprintf): Likewise.
4104 (fold_builtin_printf): Likewise.
4105 (do_mpfr_remquo): Use a proper type for the assigned constant.
4106 (do_mpfr_lgamma_r): Likewise.
4107 * dwarf2out.c (resolve_one_addr): Use size_int.
4108 * except.c (init_eh): Likewise.
4109 (assign_filter_values): Use integer_type_node for filter values.
4110 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
4111 indices.
4112 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
4113 for EH region numbers.
4114 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
4115 for the shift amount.
4116
eb6c3df1
RG
41172011-04-29 Richard Guenther <rguenther@suse.de>
4118
4119 * expr.h (expand_shift): Rename to ...
4120 (expand_variable_shift): ... this.
4121 (expand_shift): Take a constant shift amount.
4122 * expmed.c (expand_shift): Rename to ...
4123 (expand_variable_shift): ... this.
4124 (expand_shift): New wrapper around expand_variable_shift.
4125 * expr.c (convert_move, emit_group_load_1, emit_group_store,
4126 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
4127 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
4128 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
4129 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
4130 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
4131 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
4132 emit_store_flag_1, emit_store_flag): Likewise.
4133 * builtins.c (expand_builtin_signbit): Likewise.
4134 * calls.c (load_register_parameters): Likewise.
4135 * function.c (assign_parm_setup_block): Likewise.
4136 * lower-subreg.c (resolve_shift_zext): Likewise.
4137 * optabs.c (widen_bswap, expand_abs_nojump,
4138 expand_one_cmpl_abs_nojump, expand_float): Likewise.
4139 * spu/spu.c (spu_expand_extv): Likewise.
4140 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
4141
9f616812
RG
41422011-04-29 Richard Guenther <rguenther@suse.de>
4143
4144 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
4145 for the remapped region number.
4146 * predict.c (build_predict_expr): Use integer_type_node for the
4147 predict kind.
4148 * fold-const.c (fold_binary_loc): Use integer_type_node for
4149 the shift amount. Use a proper type for the PLUS_EXPR operand.
4150
b823cdfe
MM
41512011-04-29 Michael Matz <matz@suse.de>
4152
4153 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
4154 other trees that just builtins.
4155 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
4156
413581ba
RG
41572011-04-29 Richard Guenther <rguenther@suse.de>
4158
4159 * tree-nested.c (get_trampoline_type): Use size_int.
4160 (get_nl_goto_field): Likewise.
4161 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
4162 for all indexes.
4163 (lower_eh_constructs_2): Likewise.
4164 (lower_resx): Likewise.
4165 (lower_eh_dispatch): Likewise.
4166 * tree-mudflap.c (mf_build_string): Use size_int.
4167 (mudflap_register_call): Use integer_type_node for the flag.
4168 (mudflap_enqueue_constant): Use size_int.
4169 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
4170 instead of rebuilding it.
4171
5c04e9f4
RG
41722011-04-29 Richard Guenther <rguenther@suse.de>
4173
4174 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
4175 Handle OBJ_TYPE_REF.
4176 (find_func_aliases_for_call): Use it more consistently.
4177
5c24671b
AO
41782011-04-29 Alexandre Oliva <aoliva@redhat.com>
4179
4180 * haifa-sched.c (last_nondebug_scheduled_insn): New.
4181 (rank_for_schedule): Use it.
4182 (schedule_block): Set it.
4183
10adac51
XDL
41842011-04-28 David Li <davidxl@google.com>
4185
4186 * tree.c (crc32_string): Use crc32_byte.
4187 (crc32_byte): New function.
4188 * tree.h (crc32_byte): New function.
4189 * gcov.c (read_graph_file): Handle new cfg_cksum.
4190 (read_count_file): Ditto.
4191 * profile.c (instrument_values): Ditto.
4192 (get_exec_counts): Ditto.
4193 (read_profile_edge_counts): Ditto.
4194 (compute_branch_probabilities): Ditto.
4195 (compute_value_histograms): Ditto.
4196 (branch_prob): Ditto.
4197 (end_branch_prob): Ditto.
4198 * coverage.c (read_counts_file): Ditto.
4199 (get_coverage_counts): Ditto.
4200 (tree_coverage_counter_addr): Ditto.
4201 (coverage_checksum_string): Ditto.
4202 (coverage_begin_output): Ditto.
4203 (coverage_end_function): Ditto.
4204 (build_fn_info_type): Ditto.
4205 (build_fn_info_value): Ditto.
4206 * libgcov.c (gcov_exit): Ditto.
4207 * gcov-dump.c (tag_function): Ditto.
4208 (compute_checksum): Remove.
4209
5d6358a5
AM
42102011-04-29 Alan Modra <amodra@gmail.com>
4211
4212 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4213 unspec plus offset. Tidy macho code.
4214
85ad2ef5
MJ
42152011-04-29 Martin Jambor <mjambor@suse.cz>
4216
4217 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
4218 node instead of a decl. Update all callers.
4219 * cgraph.h: Update declaration.
4220
437f4a00
IR
42212011-04-28 Ira Rosen <ira.rosen@linaro.org>
4222
4223 PR tree-optimization/48765
4224 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
4225 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
4226 to indicate if loop aware SLP is being used. Scan the statements
4227 and update the vectorization factor according to the type of
4228 vectorization before statement analysis.
4229 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
4230 pass it to vect_analyze_loop_operations.
4231 (vectorizable_reduction): Set number of copies to 1 in case of pure
4232 SLP statement.
4233 * tree-vect-stmts.c (vectorizable_conversion,
4234 vectorizable_assignment, vectorizable_shift,
4235 vectorizable_operation, vectorizable_type_demotion,
4236 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
4237 Likewise.
4238 (vectorizable_condition): Move the check that it is not SLP
4239 vectorization before the number of copies check.
4240 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
4241 to vectorize the loop using SLP.
4242
c6fc44f3
JJ
42432011-04-28 Jakub Jelinek <jakub@redhat.com>
4244
4245 PR middle-end/48597
4246 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
4247 inline asm.
4248
6c0170ea
JM
42492011-04-28 Joseph Myers <joseph@codesourcery.com>
4250
4251 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
4252 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
4253 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4254 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4255 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
4256 linux*.h headers.
6bec6c98 4257 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
4258 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
4259 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
4260 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 4261 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
4262 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
4263 REG_NAME.
4264 * config/i386/linux.h (REG_NAME): Don't define.
4265 * config/i386/linux64.h (REG_NAME): Don't define.
4266 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
4267 Undefine before defining.
4268
970dabbd
JH
42692011-04-28 Jan Hubicka <jh@suse.cz>
4270
6bec6c98
UB
4271 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
4272 nonconstant_names array.
970dabbd
JH
4273 (estimate_function_body_sizes): Build nonconstant_names array; handle
4274 BUILT_IN_CONSTANT_P.
4275
8d3e3924
RG
42762011-04-28 Richard Guenther <rguenther@suse.de>
4277
4278 PR bootstrap/48804
4279 Revert
4280 2011-04-28 Richard Guenther <rguenther@suse.de>
4281
4282 * tree-ssa-structalias.c (solve_constraints): Build succ graph
4283 as late as possible.
6bec6c98 4284
8576f20a
RG
42852011-04-28 Richard Guenther <rguenther@suse.de>
4286
4287 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
4288 (debug_constraint): Do it here.
4289 (dump_constraints): And here.
4290 (rewrite_constraints): And here.
4291 (dump_constraint_edge): Remove.
4292 (dump_constraint_graph): Rewrite to produce DOT output.
4293 (solve_constraints): Build succ graph as late as possible.
4294 Dump constraint graphs before and after solving.
4295
e38811ce
RG
42962011-04-28 Richard Guenther <rguenther@suse.de>
4297
4298 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4299 New function split out from ...
4300 (find_func_aliases): ... here. Call it.
4301 (find_func_aliases_for_call): Likewise.
4302
fbaf0d0c
GDR
43032011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
4304
4305 * internal-fn.h (internal_fn_name_array): Declare.
4306 (internal_fn_flags_array): Likewise.
4307
cbb734aa
UB
43082011-04-27 Uros Bizjak <ubizjak@gmail.com>
4309
4310 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
4311 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
4312 Move from sse.md.
4313 (ssemodefsuffix): Remove.
4314 (ssevecmodesuffix): New mode attribute.
4315 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
4316 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
4317 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
4318 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
4319 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
4320 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
4321 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
4322 ssemodesuffix mode attribute.
4323 (float splitters): Use ssevecmodesuffix mode attribute.
4324 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
4325 (sseinsmode): Rename from avxvecmode.
4326 (avxsizesuffix): Rename from avxmodesuffix.
4327 (sseintvecmode): Rename from avxpermvecmode.
4328 (ssedoublevecmode): Rename from ssedoublesizemode.
4329 (ssehalfvecmode): Rename from avxhalfvecmode.
4330 (ssescalarmode): Rename from avxscalarmode.
4331 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
4332 templates for ssemodesuffix mode attribute.
4333 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
4334 mode attribute.
4335
4336 Adjust RTX patterns globally for renamed mode attributes.
4337
991278ab
JH
43382011-04-27 Jan Hubcika <jh@suse.cz>
4339
4340 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
4341 * ipa-inline-analysis.c: Include alloc-pool.h.
4342 (edge_predicate_pool): New.
4343 (trye_predicate_p): New function
4344 (false_predicate_p): New function.
4345 (add_clause): Sanity check that false clauses are "optimized";
4346 never add clauses to predicate that is already known to be false.
4347 (and_predicate): Use flase_predicate_p.
4348 (evaulate_predicate): Rename to ...
4349 (evaluate_predicate): ... this one; update all callers; assert
4350 that false is not listed among possible truths.
4351 (dump_predicate): Use true_predicate_p.
4352 (account_size_time): Use false_predicate_p.
4353 (evaulate_conditions_for_edge): Rename to ...
4354 (evaluate_conditions_for_edge) ... this one.
4355 (edge_set_predicate): New function.
4356 (inline_edge_duplication_hook): Duplicate edge predicates.
4357 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 4358 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
4359 (dump_inline_summary): Update.
4360 (estimate_function_body_sizes): Set edge predicates.
4361 (estimate_calls_size_and_time): Handle predicates.
4362 (estimate_callee_size_and_time): Update.
4363 (remap_predicate): Add toplev_predicate; update comment.
4364 (remap_edge_predicates): New function.
4365 (inline_merge_summary): Compute toplev predicate; update.
4366 (read_predicate): New function.
4367 (read_inline_edge_summary): Use it.
4368 (inline_read_section): Likewise.
4369 (write_predicate): New function.
4370 (write_inline_edge_summary): Use it.
4371 (inline_write_summary): Likewise.
4372 (inline_free_summary): Free alloc pool and edge summary vec.
4373
648b5f85
RG
43742011-04-27 Richard Guenther <rguenther@suse.de>
4375
4376 * tree-ssa-structalias.c (changed_count): Remove.
4377 (changed): Use a bitmap.
4378 (unify_nodes): Adjust.
4379 (do_sd_constraint): Likewise.
4380 (do_ds_constraint): Likewise.
4381 (do_complex_constraint): Likewise.
4382 (solve_graph): Likewise.
4383
4d5dcfb2
JH
43842011-04-27 Jan Hubicka <jh@suse.cz>
4385
4386 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
4387
200eb7d2
UB
43882011-04-27 Uros Bizjak <ubizjak@gmail.com>
4389
4390 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
4391 (avx_vperm2f128_*_operand): Ditto.
4392 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
4393 Use avx_vpermilp_parallel in insn condition.
4394 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
4395 Use avx_vperm2f128_parallel in insn condition.
4396
7d6e2521
RG
43972011-04-27 Richard Guenther <rguenther@suse.de>
4398
4399 * Makefile.in (tree-ssa-structalias.o): Remove
4400 gt-tree-ssa-structalias.h dependency.
4401 (GTFILES): Remove tree-ssa-structalias.c.
4402 * tree.c (allocate_decl_uid): New function.
4403 (make_node_stat): Use it.
4404 (copy_node_stat): Likewise.
4405 * tree.h (allocate_decl_uid): Declare.
4406 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
4407 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
4408 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 4409 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
4410 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
4411 (struct heapvar_map): Likewise.
4412 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
4413 heapvar_insert): Likewise.
4414 (make_heapvar_for): Rename to ...
4415 (make_heapvar): ... this. Simplify.
4416 (fake_var_decl_obstack): New global var.
4417 (build_fake_var_decl): New function.
4418 (make_constraint_from_heapvar): Adjust.
4419 (handle_lhs_call): Likewise.
4420 (create_function_info_for): Likewise.
4421 (intra_create_variable_infos): Likewise.
4422 (init_alias_vars): Allocate fake_var_decl_obstack.
4423 (init_alias_heapvars, delete_alias_heapvars): Remove.
4424 (compute_points_to_sets): Do not call init_alias_heapvars.
4425 (ipa_pta_execute): Likewise.
4426 (delete_points_to_sets): Free fake_var_decl_obstack.
4427
526ed6c2
UW
44282011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4429
4430 * config/spu/divmovti4.c (union qword_UTItype): New data type.
4431 (si_from_UTItype, si_to_UTItype): New functions.
4432 (__udivmodti4): Use them to implement type-punning.
4433 * config/spu/multi3.c (union qword_TItype): New data type.
4434 (si_from_TItype, si_to_TItype): New functions.
4435 (__multi3): Use them to implement type-punning.
4436
c187d33c
UW
44372011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4438
4439 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
4440
40982661
JH
44412011-04-27 Jan Hubicka <jh@suse.cz>
4442
4443 * ipa-prop.c (function_insertion_hook_holder): New holder.
4444 (ipa_add_new_function): New function.
200eb7d2
UB
4445 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
4446 Register/deregister holder.
40982661 4447
9aef53ee
RG
44482011-04-27 Richard Guenther <rguenther@suse.de>
4449
4450 PR tree-optimization/48772
200eb7d2 4451 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 4452
f63d806d
RG
44532011-04-27 Richard Guenther <rguenther@suse.de>
4454
4455 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
4456 TARGET_MEM_REF handling.
4457
e1ea7451
NC
44582011-04-27 Nick Clifton <nickc@redhat.com>
4459
9b5db25d
NC
4460 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
4461 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
4462 (REG_CLASS_NAMES): Likewise.
4463 (REG_CLASS_CONTENTS): Likewise.
4464 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4465 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4466 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
4467 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
4468 (EVEN_REGS): New macro. Alias for QUAD_REGS.
4469 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
4470 duplicate register classes.
97d20907 4471 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
4472 (frv_register_move_cost): Likewise.
4473
e1ea7451
NC
4474 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
4475 end of the regno_reg_class array.
4476
5c2f94b4
JJ
44772011-04-27 Jakub Jelinek <jakub@redhat.com>
4478
4479 PR c/48742
4480 * c-typeck.c (build_binary_op): Don't wrap arguments if
4481 int_operands is true.
4482
57a944d7
KK
44832011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
4484
4485 PR target/48767
4486 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
4487 targetm.calls.must_pass_in_stack for void type.
4488
898b8927
JH
44892011-04-26 Jan Hubicka <jh@suse.cz>
4490
4491 * cgraphbuild.c (build_cgraph_edges): Update call
4492 of cgraph_create_edge and cgraph_create_indirect_edge.
4493 * cgraph.c (cgraph_create_edge_including_clones,
4494 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
4495 cgraph_update_edges_for_call_stmt_node): Do not take nest
4496 argument; do not initialize call_stmt_size/time.
4497 (dump_cgraph_node): Do not dump nest.
4498 (cgraph_clone_edge): Do not take loop_nest argument;
4499 do not propagate it; do not clone call_stmt_size/time.
4500 (cgraph_clone_node): Likewise.
4501 (cgraph_create_virtual_clone): Update.
4502 * cgraph.h (struct cgraph_edge): Remove
4503 call_stmt_size/call_stmt_time/loop_nest.
4504 (cgraph_create_edge, cgraph_create_indirect_edge,
4505 cgraph_create_edge_including_clones, cgraph_clone_node): Update
4506 prototype.
4507 * tree-emutls.c (gen_emutls_addr): Update.
4508 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
4509 loop_nest; handle indirect calls, too.
4510 (clone_inlined_nodes): Do not care about updating inline summaries.
4511 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
4512 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
4513 stream call_stmt_size/call_stmt_time/loop_nest.
4514 * ipa-inline.c (edge_badness): Update.
4515 (ipa_inline): dump summaries after inlining.
4516 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 4517 New.
898b8927
JH
4518 (inline_edge_summary): New function.
4519 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
4520 (inline_edge_removal_hook): Handle edge summaries.
4521 (inline_edge_duplication_hook): New hook.
4522 (inline_summary_alloc): Alloc hooks.
4523 (initialize_growth_caches): Do not register removal hooks.
4524 (free_growth_caches); Do not free removal hook.
4525 (dump_inline_edge_summary): New function.
4526 (dump_inline_summary): Use it.
4527 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
4528 (inline_update_callee_summaries): New function.
4529 (inline_merge_summary): Use it.
4530 (do_estimate_edge_time, do_estimate_edge_growth): Update.
4531 (read_inline_edge_summary): New function.
4532 (inline_read_section): Use it.
4533 (write_inline_edge_summary): New function.
4534 (inline_write_summary): Use it.
4535 (inline_free_summary): Free edge new holders.
4536 * tree-inline.c (copy_bb): Update.
4537
ffa03772
JM
45382011-04-26 Jason Merrill <jason@redhat.com>
4539
4540 * tree-eh.c (lower_try_finally_switch): Create the label along with
4541 the CASE_LABEL_EXPR.
4542
6d7b45ad
DM
45432011-04-26 David S. Miller <davem@davemloft.net>
4544 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4545
4546 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
4547 * configure: Regenerate.
4548
df10b6d4
MM
45492011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
4550
4551 PR target/48258
4552 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
4553 reduction.
4554 (VEC_reduc): New code iterator and splitters for vector reduction.
4555 (VEC_reduc_name): Ditto.
4556 (VEC_reduc_rtx): Ditto.
4557 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
4558 (reduc_<VEC_reduc_name>_v4sf): Ditto.
4559
4560 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
4561 support for extracting SF on VSX.
4562
4563 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
4564 generating xscvspdp.
4565 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
4566 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
4567 double add, minimum, maximum vector reduction.
4568 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
4569 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
4570 optimize double vector reduction.
4571 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
4572
35a5db04
JM
45732011-04-26 Joseph Myers <joseph@codesourcery.com>
4574
4575 * config/fr30/fr30.h (inhibit_libc): Don't define.
4576 * config/m32r/m32r-protos.h: Correct comment.
4577 * config/v850/v850.h (GHS_default_section_names,
4578 GHS_current_section_names): Use tree, not union tree_node *.
4579
2f964ad6
XDL
45802011-04-26 Xinliang David Li <davidxl@google.com>
4581
200eb7d2 4582 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
4583 * c-family/c-opts.c (c_common_handle_option): Set
4584 warn_maybe_uninitialized.
4585 * opts.c (common_handle_option): Ditto.
4586 * common.opt: New option.
4587 * tree-ssa.c (warn_uninit): Add one more parameter.
4588 (warn_uninitialized_var): Pass warning code.
4589 * tree-flow.h: Interface change.
4590
9c7bd91a
RO
45912011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4592
200eb7d2 4593 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
4594 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
4595 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
4596
c2f36e21
RO
45972011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4598
4599 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
4600 * config/mips/mips.opt (mmips-tfile): Remove.
4601
4602 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
4603 mips-tdump reference to ...
200eb7d2 4604 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
4605 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
4606 reference by Tru64 UNIX.
4607
2c9da85b
JJ
46082011-04-26 Jakub Jelinek <jakub@redhat.com>
4609
0c5f6539
JJ
4610 PR debug/48768
4611 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
4612 is error_mark_node, set value to NULL.
4613
2c9da85b
JJ
4614 PR tree-optimization/48734
4615 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
4616 if return value from maybe_fold_*_comparsions isn't something
4617 the code is prepared to handle.
4618
77fa1d54
UB
46192011-04-26 Uros Bizjak <ubizjak@gmail.com>
4620
4621 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
4622 mode check.
4623 (ext_QIreg_nomode_operands): Remove.
4624 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
4625 (*andsi_1): Ditto.
4626 (*andhi_1): Ditto.
4627
0e2a6c2b
AS
46282011-04-26 Andrew Stubbs <ams@codesourcery.com>
4629
4630 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
4631
961562d8
RB
46322011-04-26 Richard Guenther <rguenther@suse.de>
4633
4634 * c-typeck.c (build_unary_op): Do not expand array-refs via
4635 pointer arithmetic. Only adjust qualifiers for function types.
4636
46372011-04-26 Richard Guenther <rguenther@suse.de>
4638
4639 PR middle-end/48694
4640 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
4641 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
4642 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
4643 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 4644
a0d260fc
PC
46452011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4646
6bec6c98 4647 * doc/extend.texi: Document __underlying_type.
a0d260fc 4648
4d583bb9
SB
46492011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
4650
4651 * config/rs6000/titan.md (automata_option "progress"): Remove.
4652
1f3fcdc3
JL
46532011-04-25 Jeff Law <law@redhat.com>
4654
4655 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
4656
e5b0dad8
JK
46572011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
4658
4659 * system.h (ENUM_BITFIELD): Remove.
4660
5157a881 46612011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 4662 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
4663
4664 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
4665 for STORE_FLAG_VALUE==-1 case.
4666
ed4c109e
RS
46672011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
4668
4669 PR target/43804
4670 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
4671 LEGITIMATE_PIC_OPERAND_P.
4672
f3181aa2
JH
46732011-04-24 Jan Hubicka <jh@suse.cz>
4674
4675 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
4676 WPA hack.
77fa1d54
UB
4677 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
4678 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
4679 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
4680 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
4681 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
4682 Sanity check predicate length.
4683 (remap_predicate): Likewise; sanity check jump functions.
4684 (inline_read_section, inline_write_summary): Sanity check
4685 predicate length.
4686
5307cbaa
PC
46872011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4688
4689 PR other/48748
4690 * doc/extend.texi (Type Traits): Document __is_standard_layout,
4691 __is_literal_type, and __is_trivial; update throughout about
4692 possibly cv-qualified void types.
4693
bebd5f99
GP
46942011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
4695
4696 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
4697 testsuite and make it version agnostic.
4698
7ee28a74
JH
46992011-04-22 Jan Hubicka <jh@suse.cz>
4700
4701 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
4702
16997bc0
JJ
47032011-04-23 Jakub Jelinek <jakub@redhat.com>
4704
4705 PR c/48685
4706 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
4707 to VOID_TYPE even around MODIFY_EXPR.
4708
f94d4ab1
MS
47092011-04-22 Mike Stump <mikestump@comcast.net>
4710
1a84c183 4711 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
4712 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
4713 comment.
4714
632b4f8e
JH
47152011-04-22 Jan Hubicka <jh@suse.cz>
4716
4717 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
4718 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
4719 ipa-prop.c; update all uses.
632b4f8e 4720 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
4721 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
4722 merge summary of inlined function into former caller.
632b4f8e
JH
4723 * ipa-inline.c (max_benefit): Remove.
4724 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
4725 (update_caller_keys): Use
4726 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
4727 (update_callee_keys): Likewise.
4728 (update_all_callee_keys): Likewise.
77fa1d54
UB
4729 (inline_small_functions): Do not collect max_benefit; do not reset
4730 estimated_growth; call free_growth_caches and initialize_growth_caches.
4731 * ipa-inline.h (struct condition, type clause_t, struct predicate,
4732 struct size_time_entry): New structures.
632b4f8e 4733 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
4734 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
4735 and estimated_growth.
632b4f8e
JH
4736 (edge_growth_cache_entry): New structure.
4737 (node_growth_cache, edge_growth_cache): New global vars.
4738 (estimate_growth): Turn into inline.
4739 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
4740 initialize_growth_caches, free_growth_caches): Declare.
4741 (estimate_edge_growth): Rewrite.
4742 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
4743 (reset_node_growth_cache, reset_edge_growth_cache): New inline
4744 functions.
632b4f8e
JH
4745 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
4746 (NUM_CONDITIONS): New constant.
4747 (predicate_conditions): New enum.
4748 (IS_NOT_CONSTANT): New constant.
4749 (edge_removal_hook_holder): New var.
4750 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
4751 (true_predicate, single_cond_predicate, false_predicate,
4752 not_inlined_predicate, add_condition, add_clause, and_predicates,
4753 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
4754 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
4755 evaulate_conditions_for_edge): New functions.
4756 (inline_summary_alloc): Move to heap.
4757 (inline_node_removal_hook): Clear condition and entry vectors.
4758 (inline_edge_removal_hook): New function.
4759 (initialize_growth_caches, free_growth_caches): New function.
4760 (dump_inline_summary): Update.
4761 (edge_execution_predicate): New function.
4762 (will_be_nonconstant_predicate): New function.
4763 (estimate_function_body_sizes): Compute BB and constantness predicates.
4764 (compute_inline_parameters): Do not clear estimated_growth.
4765 (estimate_edge_size_and_time): New function.
4766 (estimate_calls_size_and_time): New function.
4767 (estimate_callee_size_and_time): New function.
4768 (remap_predicate): New function.
4769 (inline_merge_summary): New function.
4770 (do_estimate_edge_time): New function based on...
4771 (estimate_edge_time): ... this one.
4772 (do_estimate_edge_growth): New function.
4773 (do_estimate_growth): New function based on....
4774 (estimate_growth): ... this one.
4775 (inline_analyze_function): Analyze after deciding on jump functions.
4776 (inline_read_section): New function.
4777 (inline_read_summary): Use it.
4778 (inline_write_summary): Write all the new data.
4779 * ipa-prop.c (ipa_get_param_decl_index): Export.
4780 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
4781 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
4782 Declare.
4783 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
4784 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
4785 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
4786 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
4787 cgraph_edge_inlinable_p): Remove.
4788 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
4789 (cgraph_process_new_functions): Update call of
4790 compute_inline_parameters.
632b4f8e 4791
1df5b0db
RG
47922011-04-22 Richard Guenther <rguenther@suse.de>
4793
4794 * tree.c (build_int_cst): Properly create canonicalized integer
4795 constants.
4796 (build_int_cst_type): Remove scary comments.
4797
ae01169c
XDL
47982011-04-22 Xinliang David Li <davidxl@google.com>
4799
4800 * toplev.c (process_options): Enable -Werror=coverage-mismatch
4801 by default when -Wno-error is not specified.
4802 * opts-global.c (decode_options): Remove call to
4803 control_warning_options.
4804
93dfac24
JJ
48052011-04-22 Jakub Jelinek <jakub@redhat.com>
4806
4807 PR tree-optimization/48717
4808 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
4809 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
4810
1b5f5069
JM
48112011-04-22 Joseph Myers <joseph@codesourcery.com>
4812
4813 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
4814 definition where used.
4815
144f4153
JJ
48162011-04-22 Jakub Jelinek <jakub@redhat.com>
4817
4818 PR c/48716
4819 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
4820 TREE_STATIC variables declared inside of some OpenMP construct.
4821
f9fd305b
MJ
48222011-04-22 Martin Jambor <mjambor@suse.cz>
4823
4824 PR middle-end/48585
1d284ec5 4825 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 4826
49819fef
AM
48272011-04-22 Alexander Monakov <amonakov@ispras.ru>
4828
4829 PR c/36750
4830 * c-typeck.c (pop_init_level): Do not warn about initializing
4831 with ` = {0}'.
4832
401f6699
AM
48332011-04-22 Alan Modra <amodra@gmail.com>
4834
4835 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
4836 when returning call_cookie.
4837 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
4838 pointers, to functions with no more vector args than the current
4839 function, and some non-local calls for ABI_V4.
4840 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
4841 sibcall_nonlocal_aix64): Combine to ..
4842 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
4843 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
4844 (sibcall_value_nonlocal_aix<mode>): ..likewise.
4845 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
4846 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
4847 operand.
4848 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
4849 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
4850 sibcall_value_symbolic_64): Delete.
4851
903d1e67
XDL
48522011-04-21 Xinliang David Li <davidxl@google.com>
4853
4854 * cgraph.h: Remove pid.
4855 * cgraph.c: Remove pid.
4856 * value-prof.c (init_node_map): New function.
4857 (del_node_map): New function.
4858 (find_func_by_funcdef_no): New function.
4859 (gimple_ic_transform): Call new function.
4860 * cgraphunit.c (cgraph_finalize_function): Remove pid.
4861 * function.c (get_last_funcdef_no): New function.
4862 * function.h (get_last_funcdef_no): New function.
4863 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
4864 to libgcov function.
4865 (tree-profiling): Call node map init and delete function.
4866
7378e95f
ILT
48672011-04-21 Ian Lance Taylor <iant@google.com>
4868
4869 * godump.c (go_format_type): Use exported Go name for anonymous
4870 field name.
4871
e84a6fcf
NF
48722011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4873
4874 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
4875 Call builtin_function_type_list instead of builtin_function_type.
4876 (UNARY, BINARY, TRINARY, QUAD): Likewise.
4877
4fe058e2
NF
48782011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4879
4880 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
4881 build_function_type_list instead of build_function_type.
4882 Delete variable `endlink'.
4883
1ba0a2d2
NF
48842011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4885
4886 * config/s390/s390.c (s390_init_builtins): Call
4887 build_function_type_list instead of build_function_type.
4888
c0676219
NF
48892011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4890
4891 * config/ia64/ia64.c (ia64_init_builtins): Call
4892 build_function_type_list instead of builtin_function_type.
4893
6ddfda8a
ER
48942011-04-21 Easwaran Raman <eraman@google.com>
4895
3a6448ea 4896 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
4897 (add_stack_var): ...and its reference here...
4898 (expand_stack_vars): ...and here.
4899 (stack_var_cmp): Sort by descending order of size.
4900 (partition_stack_vars): Change heuristic.
1d284ec5 4901 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
4902 (dump_stack_var_partition): Add newline after each partition.
4903
23756963
DA
49042011-04-21 Dimitrios Apostolou <jimis@gmx.net>
4905 Jeff Law <law@redhat.com>
4906
77fa1d54 4907 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
4908 * gengtype.c (matching_file_name_substitute): Likewise.
4909
aa2a43d2
RG
49102011-04-21 Richard Guenther <rguenther@suse.de>
4911
4912 PR lto/48703
1d284ec5 4913 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 4914
4d931f41
EB
49152011-04-21 Eric Botcazou <ebotcazou@adacore.com>
4916
4917 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
4918
f103fa7a
RG
49192011-04-21 Richard Guenther <rguenther@suse.de>
4920
4921 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
4922 file name.
4923
e19f6650
RG
49242011-04-21 Richard Guenther <rguenther@suse.de>
4925
4926 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
4927 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
4928 Use DECL_P, not SSA_VAR_P.
4929 (ptr_derefs_may_alias_p): Likewise.
4930 (ptr_deref_may_alias_ref_p_1): Likewise.
4931 (decl_refs_may_alias_p): Likewise.
4932 (refs_may_alias_p_1): Likewise.
4933 (ref_maybe_used_by_call_p_1): Likewise.
4934 (call_may_clobber_ref_p_1): Likewise.
4935 (indirect_ref_may_alias_decl_p): Assume indirect refrences
4936 are either MEM_REF or TARGET_MEM_REF.
4937 (indirect_refs_may_alias_p): Likewise.
4938 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
4939 for MEM_EXPR of indirect calls.
4940
9d1831bb
TG
49412011-04-21 Tristan Gingold <gingold@adacore.com>
4942
4943 * vmsdbgout.c (write_srccorr): Compute file length from the string.
4944 (dst_file_info_struct): Remove flen field.
4945 (lookup_filename): Remove code that set flen field.
4946
f199c029
TG
49472011-04-21 Tristan Gingold <gingold@adacore.com>
4948
4949 * config/ia64/ia64.c (ia64_start_function): Add a guard.
4950
2894086e
UB
49512011-04-21 Uros Bizjak <ubizjak@gmail.com>
4952
4953 PR target/48708
4954 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
4955 vec_extract and vec_concat for non-SSE4_1 targets.
4956
53f94a5c
RG
49572011-04-21 Richard Guenther <rguenther@suse.de>
4958
4959 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
4960 return statements.
4961
f0dca5ba
JM
49622011-04-21 Joseph Myers <joseph@codesourcery.com>
4963
4964 * config/i386/cygming.h (union tree_node, TREE): Don't define or
4965 undefine.
4966 (FILE): Don't undefine.
4967
984514ac
JM
49682011-04-21 Joseph Myers <joseph@codesourcery.com>
4969
4970 * config/alpha/alpha.c (struct machine_function): Use rtx, not
4971 struct rtx_def *.
4972 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
4973 struct rtx_def *.
4974 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 4975 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
4976 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
4977 rtx_def *.
4978 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
4979 definitions where used.
4980 * config/microblaze/microblaze.h (struct microblaze_args): Use
4981 rtx, not struct rtx_def *.
4982 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
4983 rtx_def *.
2894086e
UB
4984 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
4985 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
4986 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
4987 not struct rtx_def *.
4988 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
4989 struct rtx_def *.
4990 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
4991 rtx_def *.
2894086e 4992 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 4993
0b5a2724
RS
49942011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
4995
4996 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
4997 operand_equal_p to compare DR_BASE_ADDRESSes.
4998 (vect_check_interleaving): Likewise.
4999
4b18d683
RS
50002011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5001
5002 PR target/46329
5003 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
5004 for all Neon struct constants.
5005
1a627b35
RS
50062011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5007
5008 * target.def (legitimate_constant_p): New hook.
5009 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
5010 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
5011 * doc/tm.texi: Regenerate.
5012 * hooks.h (hook_bool_mode_rtx_true): Declare.
5013 * hooks.c (hook_bool_mode_rtx_true): Define.
5014 * system.h (LEGITIMATE_CONSTANT_P): Poison.
5015 * calls.c (precompute_register_parameters): Replace uses of
5016 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
5017 (emit_library_call_value_1): Likewise.
5018 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
5019 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
5020 * ira-costs.c (scan_one_insn): Likewise.
5021 * recog.c (general_operand, immediate_operand): Likewise.
5022 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
5023 * reload1.c (init_eliminable_invariants): Likewise.
5024
5025 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
5026 mode argument.
5027 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
5028 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
5029 argument.
5030 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5031 * config/alpha/predicates.md (input_operand): Update call to
5032 alpha_legitimate_constant_p.
5033
5034 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
5035 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
5036 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
5037 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5038 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
5039 (arm_legitimate_constant_p): New functions.
5040 (arm_cannot_force_const_mem): Make static.
5041
5042 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
5043
5044 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
5045 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
5046 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
5047 instead of bfin_legitimate_constant_p.
5048 (bfin_legitimate_constant_p): Make static. Add a mode argument.
5049 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5050
5051 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
5052
5053 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
5054
5055 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
5056 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
5057 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5058 (frv_legitimate_constant_p): Make static. Add a mode argument.
5059
5060 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
5061 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
5062 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
5063
5064 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
5065 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
5066 * config/i386/i386.c (legitimate_constant_p): Rename to...
5067 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
5068 argument.
5069 (ix86_cannot_force_const_mem): Update accordingly.
5070 (ix86_legitimate_address_p): Likewise.
5071 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5072 * config/i386/i386.md: Update commentary.
5073
5074 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
5075 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
5076 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5077 (ia64_legitimate_constant_p): Make static. Add a mode argument.
5078
5079 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
5080
5081 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
5082 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
5083 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5084 (lm32_legitimate_constant_p): Make static. Add a mode argument.
5085
5086 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
5087 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
5088 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
5089
5090 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
5091 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5092 (m32r_legitimate_constant_p): New function.
5093
5094 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
5095 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
5096 LEGITIMATE_CONSTANT_P.
5097 (LEGITIMATE_CONSTANT_P): Delete.
5098 * config/m68k/m68k.c (m68k_expand_prologue): Call
5099 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
5100 (m68k_legitimate_constant_p): New function.
5101 * config/m68k/m68k.md: Update comments.
5102
5103 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
5104 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5105 (mcore_legitimate_constant_p): New function.
5106
5107 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
5108 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
5109 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
5110 Add a mode argument.
5111 (mep_legitimate_address): Update accordingly.
5112 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5113
5114 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
5115 Delete.
5116 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
5117 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
5118 static. Check OP's mode for VOIDmode.
5119 (microblaze_legitimate_constant_p): New function.
5120 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5121
5122 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
5123 * config/mips/mips.c (mips_legitimate_constant_p): New function.
5124 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
5125 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5126 * config/mips/predicates.md: Update comments.
5127
5128 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
5129 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
5130 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5131 (mmix_legitimate_constant_p): Make static, return a bool, and take
5132 a mode argument.
5133 (mmix_print_operand_address): Update accordingly.
5134
5135 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
5136 Delete.
5137 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
5138 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
5139 static. Add a mode argument.
1a627b35
RS
5140 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5141
5142 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
5143
5144 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
5145 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5146 (pa_legitimate_constant_p): New function.
5147
5148 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
5149
5150 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
5151 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5152 (pdp11_legitimate_constant_p): New function.
5153
5154 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
5155 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5156 (rs6000_legitimate_constant_p): New function.
5157
5158 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
5159 (rx_legitimate_constant_p): ...this.
5160 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
5161 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
5162 (rx_legitimate_constant_p): ...this.
5163 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5164 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
5165
5166 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
5167 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
5168 * config/s390/s390.c (legitimate_constant_p): Rename to...
5169 (s390_legitimate_constant_p): ...this. Make static, return a bool,
5170 and add a mode argument.
5171 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5172
5173 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
5174
5175 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
5176 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5177 (sh_legitimate_constant_p): New function.
5178
5179 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
5180 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
5181 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5182 (legitimate_constant_p): Rename to...
5183 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
5184 argument.
5185 (constant_address_p): Update accordingly.
5186
5187 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
5188 argument and return a bool.
5189 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
5190 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5191 (spu_legitimate_constant_p): Add a mode argument and return a bool.
5192 (spu_rtx_costs): Update accordingly.
5193 * config/spu/predicates.md (vec_imm_operand): Likewise.
5194
5195 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
5196
5197 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
5198 * config/v850/v850.c (v850_legitimate_constant_p): New function.
5199 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5200
5201 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
5202 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
5203 * config/vax/vax.c (legitimate_constant_p): Likewise.
5204
5205 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
5206 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5207 (xtensa_legitimate_constant_p): New function.
5208
fbbf66e7
RS
52092011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5210
5211 * target.def (cannot_force_const_mem): Add a mode argument.
5212 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
5213 * doc/tm.texi: Regenerate.
5214 * hooks.h (hook_bool_mode_rtx_false): Declare.
5215 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
5216 (hook_bool_mode_const_rtx_true): Likewise.
5217 (hook_bool_mode_rtx_false): New function.
5218 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
5219 to be non-VOID. Update call to cannot_force_const_mem.
5220 (find_reloads): Update accordingly.
5221 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
5222 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
5223 argument.
5224 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
5225 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
5226 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
5227 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
5228 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
5229 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
5230 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
5231 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
5232 (m68k_cannot_force_const_mem): ...this new function.
5233 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
5234 argument.
5235 (mips_const_insns, mips_legitimize_const_move): Update calls.
5236 (mips_secondary_reload_class): Likewise.
5237 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
5238 (pa_cannot_force_const_mem): ...this new function.
2894086e 5239 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
5240 (rs6000_cannot_force_const_mem): ...this new function.
5241 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
5242 argument.
5243 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
5244 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
5245 to...
5246 (xtensa_cannot_force_const_mem): ...this new function.
5247
b861891b
NF
52482011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5249
5250 * config/mips/mips.c (mips16_build_function_stub): Call
5251 build_function_type_list instead of build_function_type.
5252 (mips16_build_call_stub): Likewise.
5253
34149ed5
NF
52542011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5255
5256 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
5257 instead of build_function_type.
5258
12526412
NF
52592011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5260
5261 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
5262 instead of build_function_type.
5263
3b84d61f
UB
52642011-04-20 Uros Bizjak <ubizjak@gmail.com>
5265
5266 PR target/48678
5267 * config/i386/i386.md (insv): Change operand 0 constraint to
5268 "register_operand". Change operand 1 and 2 constraint to
5269 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
5270 * config/i386/sse.md (sse4_1_pinsrb): Export.
5271 (sse2_pinsrw): Ditto.
5272 (sse4_1_pinsrd): Ditto.
5273 (sse4_1_pinsrq): Ditto.
5274 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
5275 * config/i386/i386.c (ix86_expand_pinsr): New.
5276
4a25752b
ER
52772011-04-20 Easwaran Raman <eraman@google.com>
5278
5279 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
5280 containing union type only with -fstrict-aliasing.
5281
04695783
JM
52822011-04-20 Jim Meyering <meyering@redhat.com>
5283
5284 Remove useless if-before-free tests.
5285 * calls.c (expand_call, save_area): Likewise.
5286 * cfgcleanup.c (try_forward_edges): Likewise.
5287 * collect2.c (collect_execute): Likewise.
5288 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
5289 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
5290 * coverage.c (coverage_checksum_string): Likewise.
5291 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
5292 * cselib.c (cselib_init): Likewise.
5293 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
5294 (df_set_clean_cfg): Likewise.
5295 * function.c (free_after_compilation): Likewise.
5296 * gcc.c (do_spec_1, main): Likewise.
5297 * gcov.c (create_file_names): Likewise.
5298 * gensupport.c (identify_predicable_attribute): Likewise.
5299 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
5300 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
5301 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
5302 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
5303 * ipa-pure-const.c (local_pure_const): Likewise.
5304 * ipa-reference.c (propagate): Likewise.
5305 * ira-costs.c (free_ira_costs): Likewise.
5306 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
5307 * matrix-reorg.c (mat_free): Likewise.
5308 * prefix.c (get_key_value): Likewise.
5309 * profile.c (compute_value_histograms): Likewise.
5310 * reload1.c (free_reg_equiv): Likewise.
5311 * sched-deps.c (free_deps): Likewise.
5312 * sel-sched-ir.c (fence_clear): Likewise.
5313 * sese.c (set_rename, if_region_set_false_region): Likewise.
5314 * tree-data-ref.c (free_rdg): Likewise.
5315 * tree-eh.c (lower_try_finally): Likewise.
5316 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
5317 * tree-ssa-live.c (delete_var_map): Likewise.
5318 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
5319 * tree-ssa-pre.c (phi_trans_add): Likewise.
5320
6788475a
JJ
53212011-04-20 Jakub Jelinek <jakub@redhat.com>
5322
5323 PR tree-optimization/48611
5324 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
5325 beyond ERT_MUST_NOT_THROW region.
5326
0eda4033
CM
53272011-04-20 Catherine Moore <clm@codesourcery.com>
5328
5329 * config/mips/mips.opt (mfix-24k): New.
5330 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
5331 * config/mips/mips.md (length): Increase by 4 for stores if
5332 fixing 24K errata.
5333 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
5334 all noreorder if fixing 24K errata.
5335 * doc/invoke.texi: Document mfix-24k.
5336
01475747
CLT
53372011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
5338
5339 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 5340 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 5341
bc2c1a60
AS
53422011-04-20 Andrew Stubbs <ams@codesourcery.com>
5343
5344 * config/arm/arm.c (arm_gen_constant): Move movw support ....
5345 (const_ok_for_op): ... to here.
5346
583722ee
KT
53472011-04-20 Kai Tietz <ktietz@redhat.com>
5348
2894086e
UB
5349 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
5350 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 5351
422c0989
AS
53522011-04-20 Andrew Stubbs <ams@codesourcery.com>
5353
5354 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
5355
d7978bff
RG
53562011-04-20 Richard Guenther <rguenther@suse.de>
5357
5358 PR tree-optimization/47892
5359 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
5360 are if-convertible.
5361
818412ba
EB
53622011-04-20 Eric Botcazou <ebotcazou@adacore.com>
5363
5364 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
5365
b501ce4e
TG
53662011-04-20 Tristan Gingold <gingold@adacore.com>
5367
5368 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
5369
516edfdd
GJL
53702011-04-20 Georg-Johann Lay <avr@gjlay.de>
5371
5372 PR target/18145
5373
5374 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
5375 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
5376 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
5377 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
5378 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
5379
5380 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
5381 New prototype.
5382
5383 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
5384 (avr_asm_named_section, avr_asm_output_aligned_common,
5385 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
5386 New functions to update...
5387 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
5388 (avr_asm_init_sections): Overwrite section callbacks for
5389 data_section, bss_section.
5390 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
5391 from here to...
5392 (avr_file_end): ...here.
5393
dafc9511
RG
53942011-04-20 Richard Guenther <rguenther@suse.de>
5395
5396 PR middle-end/48695
5397 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 5398 objects and types here. Adjust for their offset before comparing.
dafc9511 5399
1da0876c
RS
54002011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
5401
5402 * tree-vect-stmts.c (vectorizable_store): Only chain one related
5403 statement per copy.
5404
25583c4f
RS
54052011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
5406
5407 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
5408 (GIMPLE_H): Include $(INTERNAL_FN_H).
5409 (OBJS-common): Add internal-fn.o.
5410 (internal-fn.o): New rule.
5411 * internal-fn.def: New file.
5412 * internal-fn.h: Likewise.
5413 * internal-fn.c: Likewise.
5414 * gimple.h: Include internal-fn.h.
5415 (GF_CALL_INTERNAL): New gf_mask.
5416 (gimple_statement_call): Put fntype into a union with a new
5417 internal_fn field.
5418 (gimple_build_call_internal): Declare.
5419 (gimple_build_call_internal_vec): Likewise.
5420 (gimple_call_same_target_p): Likewise.
5421 (gimple_call_internal_p): New function.
5422 (gimple_call_internal_fn): Likewise.
5423 (gimple_call_fntype): Return null for internal calls.
5424 (gimple_call_set_fntype): Assert that the function is not internal.
5425 (gimple_call_set_fn): Likewise.
5426 (gimple_call_set_fndecl): Likewise.
5427 (gimple_call_set_internal_fn): New function.
5428 (gimple_call_addr_fndecl): Handle null functions.
5429 (gimple_call_return_type): Likewise null types.
5430 * gimple.c (gimple_build_call_internal_1): New function.
5431 (gimple_build_call_internal): Likewise.
5432 (gimple_build_call_internal_vec): Likewise.
5433 (gimple_call_same_target_p): Likewise.
5434 (gimple_call_flags): Handle calls to internal functions.
5435 (gimple_call_fnspec): New function.
5436 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
5437 (gimple_has_side_effects): Handle null functions.
5438 (gimple_rhs_has_side_effects): Likewise.
5439 (gimple_call_copy_skip_args): Handle calls to internal functions.
5440 * cfgexpand.c (expand_call_stmt): Likewise.
5441 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
5442 * gimple-fold.c (gimple_fold_call): Handle null functions.
5443 (gimple_fold_stmt_to_constant_1): Don't fold
5444 calls to internal functions.
5445 * gimple-low.c (gimple_check_call_args): Handle calls to internal
5446 functions.
5447 * gimple-pretty-print.c (dump_gimple_call): Likewise.
5448 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
5449 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
5450 (do_warn_unused_result): Likewise.
5451 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
5452 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
5453 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
5454 the target of a call.
5455 (initialize_hash_element): Update accordingly.
5456 (hashable_expr_equal_p): Use gimple_call_same_target_p.
5457 (iterative_hash_hashable_expr): Handle calls to internal functions.
5458 (print_expr_hash_elt): Likewise.
5459 * tree-ssa-pre.c (can_value_number_call): Likewise.
5460 (eliminate): Handle null functions.
5461 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
5462 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
5463 (find_func_aliases): Likewise.
5464 * value-prof.c (gimple_ic_transform): Likewise.
5465 (gimple_indirect_call_to_profile): Likewise.
5466 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5467 * lto-streamer-out.c (output_gimple_stmt): Likewise.
5468
1a3118e9
JH
54692011-04-19 Jan Hubicka <jh@suse.cz>
5470
5471 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
5472 * ipa-inline.c (inline_small_functions): Compute summaries first,
5473 populate heap later.
1a3118e9 5474
fee8b6da
JH
54752011-04-19 Jan Hubicka <jh@suse.cz>
5476
5477 * cgraph.h (save_inline_function_body): Remove.
5478 * ipa-inline-transform.c: New file, broke out of...
5479 * ipa-inline.c: ... this one; Update toplevel comment.
5480 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
5481 make global.
5482 (update_noncloned_frequencies): Move to ipa-inline-transform.c
5483 (cgraph_mark_inline_edge): Rename to inline_call; move to
5484 ipa-inline-transform.c.
5485 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
5486 move to ipa-inline-transform.c
5487 (recursive_inlining, inline_small_functions, flatten_function,
5488 ipa_inline, inline_always_inline_functions,
5489 early_inline_small_functions): Update.
5490 (inline_transform): Move to ipa-inline-transform.c.
5491 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
5492 Declare.
5493 * Makefile.in (ipa-inline-transform.o): New file.
5494 * cgraphunit.c (save_inline_function_body): Move to
5495 ipa-inline-transform.c
5496
f0679612
DD
54972011-04-19 DJ Delorie <dj@redhat.com>
5498
5499 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
5500 registers if we already know there aren't any.
5501 (m32c_emit_epilogue): Don't emit a barrier here.
5502 (m32c_emit_eh_epilogue): Likewise.
5503 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
5504 operands at expand time.
5505 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
5506 int" wchar type.
5507 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
5508 duplicates. Provide aliases instead.
5509 * config/m32c/prologue.md (eh_return): Emit a barrier here.
5510 (eh_epilogue): Add a "(return)" here as a hint to other parts of
5511 the compiler.
5512
32257ddc
AS
55132011-04-19 Anatoly Sokolov <aesok@post.ru>
5514
5515 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
5516 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
5517 (general_or_i64_p, sparc_register_move_cost): New function.
5518
60bea929
RO
55192011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5520
5521 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 5522 Add lynx, mipssde. Sort table.
60bea929 5523
444b3995 55242011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 5525
9d12f71a
EB
5526 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
5527 not negative.
444b3995 5528
d708ce50
JJ
55292011-04-19 Jakub Jelinek <jakub@redhat.com>
5530
5531 PR target/48678
5532 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
5533 is a SUBREG with non-MODE_INT mode inside of it.
5534
49c471e3
MJ
55352011-04-19 Martin Jambor <mjambor@suse.cz>
5536
5537 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
5538 also according to actual contants.
5539 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
5540 (gimple_fold_call): Use it.
5541 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
5542
0004f992
MJ
55432011-04-19 Martin Jambor <mjambor@suse.cz>
5544
5545 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
5546 non-pointer assignments.
5547
40591473
MJ
55482011-04-19 Martin Jambor <mjambor@suse.cz>
5549
5550 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
5551 account anc_offset and otr_type from the indirect edge info.
5552 * ipa-prop.c (get_ancestor_addr_info): New function.
5553 (compute_complex_ancestor_jump_func): Assignment analysis moved to
5554 get_ancestor_addr_info, call it.
5555 (ipa_note_param_call): Do not initialize information about polymorphic
5556 calls, return the indirect call graph edge. Remove the last
5557 parameter, adjust all callers.
5558 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
5559 parameters. Initialize polymorphic information in the indirect edge.
5560
abe36b81
EB
55612011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5562
5563 PR lto/48148
5564 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
5565 the types if they have different enumeration identifiers.
5566
e6416b30
JH
55672011-04-19 Jan Hubicka <jh@suse.cz>
5568
5569 * cgraph.h (cgraph_optimize_for_size_p): Declare.
5570 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
5571 * predict.c (cgraph_optimize_for_size_p): Break out from ...
5572 (optimize_function_for_size_p) ... here.
5573
d39132ea
RG
55742011-04-19 Richard Guenther <rguenther@suse.de>
5575
5576 PR lto/48207
5577 * tree.c (free_lang_data): Do not reset the decl-assembler-name
5578 langhook.
5579
ff7037dc
EB
55802011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5581
5582 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
5583 if DECL_NO_INLINE_WARNING_P is set on the function.
5584
c1ee2892
BS
55852011-04-19 Bernd Schmidt <bernds@codesourcery.com>
5586
5587 PR fortran/47976
5588 * reload1.c (inc_for_reload): Return void. All callers changed.
5589 (emit_input_reload_insns): Don't try to delete previous output
5590 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
5591
55922011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
5593
5594 * gengtype.h: Updated copyright year.
5595 (struct input_file_st): Add inpisplugin field.
5596 (type_fileloc): New function.
5597 * gengtype.c
5598 (write_typed_struct_alloc_def): Add gcc_assert.
5599 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
5600 (write_typed_alloc_defns): Don't output for plugin files.
5601 (input_file_by_name): Clear inpisplugin field.
5602 (main): Set inpisplugin field for plugin files.
5603
897e0a89
NP
56042011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
5605
5606 * gengtype-state.c (string_eq): New.
5607 (read_state): Use string_eq instead of strcmp when creating the
5608 state_ident_tab.
5609
363ee90e
WG
56102011-04-19 Wei Guozhi <carrot@google.com>
5611
5612 PR target/47855
5613 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
5614 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
5615 linkage.
5616 * config/arm/constraints.md (Uu): New constraint.
5617 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
5618
18a24fed
TG
56192011-04-19 Tristan Gingold <gingold@adacore.com>
5620
5621 * config.gcc (-*-*-*vms): Added.
5622 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
5623 definitions moved.
5624 * config/vms/vms-ld.c: New file.
5625 * config/vms/vms-ar.c: New file.
5626 * config/vms/t-vmsnative: New file.
5627
1c13f168
XDL
56282011-04-18 Xinliang David Li <davidxl@google.com>
5629
5630 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
5631
84825707
JJ
56322011-04-18 Jakub Jelinek <jakub@redhat.com>
5633
5634 PR middle-end/48661
5635 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
5636 if TREE_TYPE (v) is non-NULL.
5637
5638 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
5639 gimple_get_virt_mehtod_for_binfo.
5640 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
5641 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
5642 callers.
5643 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
5644
7d4f8d02 56452011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
5646 Steve Ellcey <sje@cup.hp.com>
5647
7d4f8d02
EB
5648 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
5649 use its mode as source mode if it isn't VOIDmode.
7254cb57 5650
474e8e70
DCR
56512011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
5652
5653 * doc/passes.texi: Fill crossref nodes.
5654
cff41484
JM
56552011-04-18 Jim Meyering <meyering@redhat.com>
5656
7d4f8d02 5657 Fix doubled-word typos in comments and strings
cff41484
JM
5658 * config/alpha/vms-unwind.h: s/for for/for/
5659 * config/arm/unwind-arm.h: Likewise.
5660 * config/microblaze/microblaze.c: Likewise.
5661 * config/sh/constraints.md: s/in in/in/
5662 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
5663
f60c2554
UB
56642011-04-18 Uros Bizjak <ubizjak@gmail.com>
5665
5666 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
5667 (AVX_FLOAT_MODE_P): Ditto.
5668 (AVX128_VEC_FLOAT_MODE_P): Ditto.
5669 (AVX256_VEC_FLOAT_MODE_P): Ditto.
5670 (AVX_VEC_FLOAT_MODE_P): Ditto.
5671 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
5672 (UNSPEC_MASKSTORE): Ditto.
5673 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
5674 Merge from <sse>_movmsk<ssemodesuffix> and
5675 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
5676 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
5677 iterator.
5678 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
5679 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
5680 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
5681
09a2806f
JH
56822011-04-18 Jan Hubicka <jh@suse.cz>
5683
8a8dccb2
JH
5684 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
5685
09a2806f
JH
5686 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
5687 (want_inline_function_called_once_p): Break out the logic from
5688 ipa_inline.
5689 (edge_badness): Ensure that profile is not misupdated.
5690 (lookup_recursive_calls): Prioritize by call frequencies.
5691 (inline_small_functions): Move program size estimates here;
5692 actually process whole queue even when unit growth has been
5693 met. (to properly compute inline_failed reasons and for the
f60c2554 5694 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
5695 (ipa_inline): Remove unit summary code; first inline hot calls
5696 of functions called once, cold calls next.
5697 (order, nnodes): Remove unused variables.
5698 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
5699 (GTFILES): Remove ipa-inline.c
5700 * sel-sched.c (fill_insns): Silence uninitialized var warning.
5701
3eea52ef
EB
57022011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5703
5704 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
5705
229a1c59 57062011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 5707 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
5708
5709 * arm.c (neon_builtin_type_bits): Remove.
5710 (typedef enum neon_builtin_mode): New.
5711 (T_MAX): Don't define.
5712 (typedef enum neon_builtin_datum): Remove bits, codes[],
5713 num_vars and base_fcode. Add mode, code and fcode.
5714 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
5715 VAR10): Change accordingly.
5716 (neon_builtin_data[]): Change accordingly
5717 (arm_init_neon_builtins): Change accordingly.
5718 (neon_builtin_compare): Remove.
5719 (locate_neon_builtin_icode): Remove.
5720 (arm_expand_neon_builtin): Change accordingly.
5721
5722 * arm.h (enum arm_builtins): Move to ...
5723 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
5724
5725 * arm.c (arm_builtin_decl): Declare.
5726 (TARGET_BUILTIN_DECL): Define.
5727 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
5728 (arm_builtin_decls[]): New.
5729 (arm_init_neon_builtins): Store builtin declarations in
5730 arm_builtin_decls[].
5731 (arm_init_tls_builtins): Likewise.
5732 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
5733 (arm_builtin_decl): New.
5734
75e802cc
RG
57352011-04-18 Richard Guenther <rguenther@suse.de>
5736
5737 * tree.c (upper_bound_in_type): Build properly canonicalized
5738 INTEGER_CSTs.
5739 (lower_bound_in_type): Likewise.
5740
3b45a007
RG
57412011-04-18 Richard Guenther <rguenther@suse.de>
5742
5743 * gimple.h (gimple_call_addr_fndecl): New function.
5744 (gimple_call_fndecl): Use it.
5745 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
5746 for direct calls.
5747 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
5748 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
5749
d25a79ea
RG
57502011-04-18 Richard Guenther <rguenther@suse.de>
5751
5752 PR middle-end/48650
5753 * tree.c (build_string): STRING_CST is now derived from tree_typed.
5754
7d5fc814
EB
57552011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5756
5757 PR lto/48492
5758 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
5759 DECL_IN_CONSTANT_POOL without RTL.
5760
7e7cfcf6
UW
57612011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
5762 Ira Rosen <ira.rosen@linaro.org>
5763
5764 PR target/48252
5765 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
5766 to match neon_vzip/vuzp/vtrn_internal.
5767 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
5768 outputs explicitly dependent on both inputs.
5769 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
5770
49eab32e
JJ
57712011-04-18 Jakub Jelinek <jakub@redhat.com>
5772
5773 PR tree-optimization/48616
5774 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
5775 whether the shift is by scalar or vector based on whether all SLP
5776 scalar stmts have the same rhs.
5777
e54170f4
CLT
57782011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
5779
5780 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
5781 memory operands.
5782
b14ee6c9
RS
57832011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
5784
269e0e18 5785 PR target/43700
b14ee6c9
RS
5786 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
5787 registers.
5788
10158cd3
JH
57892011-04-17 Jan Hubicka <jh@suse.cz>
5790
5791 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
5792 * cgrpahunit.c (cgraph_finalize_function): Do not set
5793 finalized_by_frontend.
10158cd3
JH
5794 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5795 finalized_by_frontend.
5796
2e9bb6ba
JH
57972011-04-17 Jan Hubicka <jh@suse.cz>
5798
5799 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
5800 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
5801 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
5802 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
5803 method.
2e9bb6ba
JH
5804 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
5805 gimple-fold.c
5806 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
5807
beb628e1
EB
58082011-04-17 Eric Botcazou <ebotcazou@adacore.com>
5809
5810 PR lto/48538
5811 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
5812 is non-null before accessing it.
5813 (input_cgraph): Remove trailing spaces.
5814
3e2fdd24
RE
58152011-04-17 Revital Eres <revital.eres@linaro.org>
5816
5817 * params.def (sms-min-sc): New param flag.
5818 * modulo-sched.c (sms_schedule): Use it.
5819 * doc/invoke.texi (sms-min-sc): Document it.
5820
4c0f7679
JH
58212011-04-17 Jan Hubicka <jh@suse.cz>
5822
5823 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
5824 present, also set gimple_call_set_cannot_inline.
5825 * ipa-inline.c: Update toplevel comment.
5826 (MAX_TIME): Remove.
5827 (cgraph_clone_inlined_nodes): Fix linebreaks.
5828 (cgraph_check_inline_limits): Restructure to ...
5829 (caller_growth_limits): ... this one; be more tolerant
5830 on growth in nested inline chains; add explanatory comment;
5831 fix stack accounting thinko introduced by previous patch.
5832 (cgraph_default_inline_p): Remove.
5833 (report_inline_failed_reason): New function.
5834 (can_inline_edge_p): New function.
5835 (can_early_inline_edge_p): New function.
5836 (leaf_node_p): Move upwards in file.
5837 (want_early_inline_function_p): New function.
5838 (want_inline_small_function_p): New function.
5839 (want_inline_self_recursive_call_p): New function.
5840 (cgraph_edge_badness): Rename to ...
5841 (edge_badness) ... this one; fix linebreaks.
5842 (update_edge_key): Update call of edge_baddness; add
5843 detailed dump about queue updates.
5844 (update_caller_keys): Use can_inline_edge_p and
5845 want_inline_small_function_p.
5846 (cgraph_decide_recursive_inlining): Rename to...
5847 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
5848 want_inline_self_recursive_call_p; simplify and remove no longer
5849 valid FIXME.
4c0f7679
JH
5850 (cgraph_set_inline_failed): Remove.
5851 (add_new_edges_to_heap): Use can_inline_edge_p and
5852 want_inline_small_function_p.
5853 (cgraph_decide_inlining_of_small_functions): Rename to ...
5854 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
5855 can/want predicates; cleanup debug ouput; work edges till fibheap
5856 is exhausted and do not stop once unit growth is reached; remove
5857 later loop processing remaining edges.
4c0f7679
JH
5858 (cgraph_flatten): Rename to ...
5859 (flatten_function): ... this one; use can_inline_edge_p
5860 and can_early_inline_edge_p predicates.
5861 (cgraph_decide_inlining): Rename to ...
5862 (ipa_inline): ... this one; remove unreachable nodes before
5863 inlining functions called once; simplify the pass.
5864 (cgraph_perform_always_inlining): Rename to ...
5865 (inline_always_inline_functions): ... this one; use
f60c2554 5866 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
5867 (cgraph_decide_inlining_incrementally): Rename to ...
5868 (early_inline_small_functions): ... this one; simplify
5869 using new predicates; cleanup; make dumps prettier.
5870 (cgraph_early_inlining): Rename to ...
5871 (early_inliner): newer inline regular functions into always-inlines;
5872 fix updating of call stmt summaries.
5873 (pass_early_inline): Update for new names.
5874 (inline_transform): Fix formating.
5875 (gate_cgraph_decide_inlining): Rename to ...
5876 (pass_ipa_inline): ... this one.
5877 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
5878 * ipa-inline-analysis.c (dump_inline_summary): Update.
5879 (compute_inline_parameters): Do not compute disregard_inline_limits;
5880 look for mismatching arguments.
5881 (estimate_growth): Fix handlig of non-trivial self recursion.
5882 (inline_read_summary): Do not read info->disregard_inline_limits.
5883 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
5884 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
5885 and move all checks into can_inline_edge_p predicate; re-enable code
5886 comparing optimization levels.
4c0f7679
JH
5887 (expand_call_inline): Do not test inline_forbidden_into_p.
5888 * Makefile.in (ipa-inline.o): Update arguments.
5889
54333b7c
RE
58902011-04-17 Revital Eres <revital.eres@linaro.org>
5891
5892 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
5893
42c2bf92
RE
58942011-04-17 Revital Eres <revital.eres@linaro.org>
5895
5896 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
5897
b183e9e0
MM
58982011-04-17 Michael Matz <matz@suse.de>
5899
5900 PR tree-optimization/48622
5901 PR lto/48645
5902 * ipa-inline-analysis.c (inline_read_summary): Read size/time
5903 in same order as they're written.
5904
b8a17fa2
JDA
59052011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5906
5907 * config/pa/predicates.md: Reorganize and simplify predicates.
5908 Eliminate duplicate code checks.
5909 (arith_operand): Rename to arith14_operand
5910 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
5911 * config/pa/pa.md: Use renamed operands.
5912 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
5913 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
5914 arith11_operand, adddi3_operand, indexed_memory_operand,
5915 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
5916 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
5917 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
5918 move_dest_operand, move_src_operand, prefetch_cc_operand,
5919 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
5920 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
5921 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
5922 div_operand, int5_operand, movb_comparison_operator,
5923 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
5924 arith_double_operand, ireg_operand, lhs_lshift_operand,
5925 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
5926 integer_store_memory_operand): Likewise.
5927 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
5928 (integer_store_memory_operand, read_only_operand,
5929 function_label_operand, borx_reg_operand,
5930 non_hard_reg_operand): Likewise.
5931 (eq_neq_comparison_operator): Delete unused operator.
5932 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
5933 function_label_operand.
5934 (emit_move_sequence): Likewise.
5935
8dfb9f16
UB
59362011-04-16 Uros Bizjak <ubizjak@gmail.com>
5937
5938 * config/i386/sse.md (sseunpackmode): New mode attribute.
5939 (ssepackmode): Ditto.
5940 (vec_pack_trunc_<mode>): Macroize expander from
5941 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
5942 (vec_unpacks_lo_<mode>): Macroize expander from
5943 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5944 (vec_unpacks_hi_<mode>): Macroize expander from
5945 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5946 (vec_unpacku_lo_<mode>): Macroize expander from
5947 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5948 (vec_unpacku_hi_<mode>): Macroize expander from
5949 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5950 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
5951 ix86_expand_sse4_unpack.
5952 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
5953
e7f23018
JH
59542011-04-16 Jan Hubicka <jh@suse.cz>
5955
5956 * cgraphbuild.c: Include ipa-inline.h.
5957 (reset_inline_failed): Use initialize_inline_failed.
5958 * cgraph.c: Include ipa-inline.h.
5959 (cgraph_create_node_1): Do not initialize estimated_growth.
5960 (initialize_inline_failed): More to ipa-inline-analysis.c
5961 (dump_cgraph_node): Do not dump inline flags.
5962 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
5963 and disregard_inline_limits flags.
5964 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
5965 time, size, estimated_growth.
8dfb9f16
UB
5966 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
5967 Update.
e7f23018
JH
5968 * cgraphunit.c (cgraph_decide_is_function_needed): Use
5969 DECL_DISREGARD_INLINE_LIMITS.
5970 (cgraph_analyze_function): Do not initialize
5971 node->local.disregard_inline_limits.
5972 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5973 inlinable, versionable and disregard_inline_limits.
5974 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
5975 cgraph_check_inline_limits, cgraph_default_inline_p,
5976 cgraph_edge_badness, update_caller_keys, update_callee_keys,
5977 add_new_edges_to_heap): Update.
5978 (cgraph_decide_inlining_of_small_function): Update; set
5979 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
5980 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
5981 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
5982 * ipa-inline.h (inline_summary): Add inlinable, versionable,
5983 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
5984 time, size and estimated_growth parameters.
e7f23018
JH
5985 (estimate_edge_growth): Update.
5986 (initialize_inline_failed): Declare.
5987 * ipa-split.c: Include ipa-inline.h
5988 (execute_split_functions): Update.
5989 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
5990 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
5991 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
5992 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
5993 estimated_growth to INT_MIN.
5994 (inline_node_duplication_hook): Likewise.
5995 (dump_inline_summary): Dump new fields.
5996 (compute_inline_parameters): Update.
5997 (estimate_edge_time, estimate_time_after_inlining,
5998 estimate_size_after_inlining, estimate_growth, inline_read_summary,
5999 inline_write_summary):
6000 (initialize_inline_failed): Move here from cgraph.c.
6001 * tree-sra.c: Include ipa-inline.h.
6002 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
6003 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
6004 ipa-inline.h.
e7f23018 6005
e81b8564
UB
60062011-04-16 Uros Bizjak <ubizjak@gmail.com>
6007
6008 * config/i386/sse.md (V16): New mode iterator.
6009 (VI1, VI8): Ditto.
6010 (AVXMODEQI, AVXMODEDI): Remove.
6011 (sse2, sse3): New mode attribute.
6012 (mov<mode>): Use V16 mode iterator.
6013 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
6014 (push<mode>1): Use V16 mode iterator.
6015 (movmisalign<mode>): Ditto.
6016 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
6017 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
6018 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
6019 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
6020 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
6021 avx_movdqu<avxmodesuffix>.
6022 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
6023 *avx_movdqu<avxmodesuffix>.
6024 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
6025 avx_lddqu<avxmodesuffix>.
6026 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
6027 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
6028 avx_movnt<AVXMODEDI:mode>.
6029 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
6030 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
6031
4743d438
BS
60322011-04-16 Bernd Schmidt <bernds@codesourcery.com>
6033
6034 PR target/48629
6035 * haifa-sched.c (prune_ready_list, schedule_block): Use
6036 sched_pressure_p rather than flag_sched_pressure.
6037
748f7574 60382011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
6039
6040 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
6041 cgraph_get_node instead of cgraph_get_create_node.
6042
2ba172e0
JJ
60432011-04-15 Jakub Jelinek <jakub@redhat.com>
6044
6045 * cfgexpand.c (expand_debug_expr): Use
6046 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
6047
63d2a353
MM
60482011-04-15 Michael Matz <matz@suse.de>
6049
6050 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
6051 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
6052 * function.c (gimplify_parameters): Ditto.
6053 * gimplify.c (gimplify_vla_decl): Ditto.
6054
6055 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
6056 (gimple_call_set_alloca_for_var): New inline function.
6057 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
6058 * gimple.c (gimple_build_call_from_tree): Remember
6059 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
6060 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
6061
6062 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
6063 calls if they were for VLA objects.
6064
dee74c34
MJ
60652011-04-15 Martin Jambor <mjambor@suse.cz>
6066
6067 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
6068 of ADR_EXPRs.
6069
8e5837bc
MJ
60702011-04-15 Martin Jambor <mjambor@suse.cz>
6071
6072 PR middle-end/48601
6073 * tree-emutls.c (lower_emutls_function_body): Call
6074 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
6075 result is non-NULL.
6076
0dc33c3c
NP
60772011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6078
6079 * c-decl.c (detect_field_duplicates): Call
6080 objc_detect_field_duplicates instead of objc_get_interface_ivars.
6081
edcdea5b
NF
60822011-04-15 Nathan Froyd <froydnj@codesourcery.com>
6083
6084 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
6085 * gimple.c (gimple_asm_clobbers_memory_p): Define.
6086 * ipa-pure-const.c (check_stmt): Call it.
6087 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
6088
8456558d
RG
60892011-04-15 Richard Guenther <rguenther@suse.de>
6090
6091 PR tree-optimization/48290
6092 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
6093 Properly decide inhibiting propagation based on the valueized
6094 operand. Do loop-closed SSA form preserving here ...
6095 (init_copy_prop): ... not here.
6096
266446be
L
60972011-04-15 H.J. Lu <hongjiu.lu@intel.com>
6098
6099 PR target/48612
6100 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
6101 (*ieee_smax<mode>3): Likewise.
6102
17465c6e
AK
61032011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6104
6105 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
6106 Replace match_operand with match_dup for the third operand in
6107 these expanders.
6108
bce204e5
MK
61092011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
6110
6111 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
6112 to track processing of conditionals. Update all callers.
6113 (try_combine, simplify_if_then_else): Update.
6114
3162fdf4
MK
61152011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
6116
6117 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
6118 -fsched-pressure.
6119
79002a57 61202011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 6121
79002a57
GJL
6122 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
6123 instead of match_operand for operand 3.
6124
4fd3a105
RS
61252011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
6126
6127 * recog.h (insn_operand_data): Add an "allows_mem" field.
6128 * genoutput.c (output_operand_data): Initialize it.
6129 * optabs.c (maybe_legitimize_operand_same_code): New function.
6130 (maybe_legitimize_operand): Use it when matching the original
6131 op->value.
6132
ad19c4be
EB
61332011-04-15 Eric Botcazou <ebotcazou@adacore.com>
6134
6135 * gimplify.c: Fix issues in comments throughout.
6136 (voidify_wrapper_expr): Fix long line.
6137 (build_stack_save_restore): Likewise.
6138 (gimplify_loop_expr): Likewise.
6139 (gimplify_compound_lval): Likewise.
6140 (gimplify_init_ctor_eval): Likewise.
6141 (gimplify_modify_expr_rhs): Likewise.
6142 (omp_notice_threadprivate_variable): Likewise.
6143
b25aa0e8 61442011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 6145
b25aa0e8
EB
6146 * cfgexpand.c (expand_call_stmt): Convert the function type to the
6147 original one if this is not a builtin function.
e7925582 6148
09db7afe
JJ
61492011-04-14 Jakub Jelinek <jakub@redhat.com>
6150
6151 PR target/48605
6152 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
6153 offset it as needed based on top 2 bits in operands[3], change
6154 MEM mode to SFmode and mask those 2 bits away from operands[3].
6155
c59633d9
NP
61562011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6157
6158 * c-parser.c (c_parser_objc_protocol_definition): Updated for
6159 change from objc_declare_protocols() to objc_declare_protocol().
6160
5e60198b
UB
61612011-04-14 Uros Bizjak <ubizjak@gmail.com>
6162
6163 * config/i386/sse.md (sse4_1): New mode attribute.
6164 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
6165 avx_blend<ssemodesuffix><avxmodesuffix> and
6166 sse4_1_blend<ssemodesuffix> using VF mode iterator.
6167 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
6168 avx_blendv<ssemodesuffix><avxmodesuffix> and
6169 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
6170 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
6171 avx_dp<ssemodesuffix><avxmodesuffix> and
6172 sse4_1_dp<ssemodesuffix> using VF mode iterator.
6173 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
6174 (sse4_1_packusdw): Merge with *avx_packusdw.
6175 (sse4_1_pblendvb): Merge with *avx_pblendvb.
6176 (sse4_1_pblendw): Merge with *avx_pblendw.
6177 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
6178 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
6179 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
6180 VF mode iterator.
6181 (sse4_1_round<ssescalarmodesuffix>): Merge with
6182 *avx_round<ssescalarmodesuffix>.
6183 (aesenc): Merge with *avx_aesenc.
6184 (aesenclast): Merge with *avx_aesenclast.
6185 (aesdec): Merge with *avx_aesdec.
6186 (aesdeclast): Merge with *avx_aesdeclast.
6187 (pclmulqdq): Merge with *pclmulqdq.
6188 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
6189 New predicate.
6190 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
6191
6f197850
L
61922011-04-14 H.J. Lu <hongjiu.lu@intel.com>
6193
6194 PR middle-end/48608
6195 * cfgexpand.c (get_decl_align_unit): Renamed to ...
6196 (align_local_variable): This. Update DECL_ALIGN.
6197 (add_stack_var): Updated.
6198 (expand_one_stack_var): Likewise.
6199
4a5ba3ed
RG
62002011-04-14 Richard Guenther <rguenther@suse.de>
6201
6202 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
6203 Remove.
6204 (dse_initialize_block_local_data, dse_leave_block,
6205 record_voperand_set, get_stmt_uid): Likewise.
6206 (dse_possible_dead_store_p): Allow any kind of killing stmt.
6207 (dse_optimize_stmt): Remove voperand set handling code.
6208 Simplify and improve to handle any kind of killing stmt.
6209 (dse_record_phi): Remove.
6210 (dse_enter_block): Simplify.
6211 (tree_ssa_dse): Likewise.
6212 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
6213
10a5dd5d
JH
62142011-04-14 Jan Hubicka <jh@suse.cz>
6215
6216 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
6217 * cgraph.h (struct inline_summary): Move to ipa-inline.h
6218 (cgraph_local_info): Remove inline_summary.
6219 * ipa-cp.c: Include ipa-inline.h.
6220 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
6221 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
6222 accesor.
6223 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
6224 (input_overwrite_node): Do not set inline summary.
6225 (input_node): Do not stream inline summary.
6226 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
6227 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
6228 growth; we do not have inline parameters computed for that anyway.
6229 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
6230 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
6231 (inline_summary_t): New type and VECtor.
6232 (debug_inline_summary, dump_inline_summaries): Declare.
6233 (inline_summary): Use VOCtor.
6234 (estimate_edge_growth): Kill hack computing call stmt size directly.
6235 * lto-section-in.c (lto_section_name): Add inline section.
6236 * ipa-inline-analysis.c: Include lto-streamer.h
6237 (node_removal_hook_holder, node_duplication_hook_holder): New holders
6238 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
6239 (inline_summary_vec): Define.
6240 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
6241 dump_inline_summaries): New functions.
5e60198b
UB
6242 (estimate_function_body_sizes): Properly compute size/time of outgoing
6243 calls.
6244 (compute_inline_parameters): Alloc inline_summary; do not compute
6245 size/time of incomming calls.
10a5dd5d
JH
6246 (estimate_edge_time): Avoid missing time summary hack.
6247 (inline_read_summary): Read inline summary info.
6248 (inline_write_summary): Write inline summary info.
6249 (inline_free_summary): Free all hooks and inline summary vector.
6250 * lto-streamer.h: Add LTO_section_inline_summary section.
6251 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
6252 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
6253
b602d918
RS
62542011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6255
6256 * tree-vectorizer.h (vect_strided_store_supported): Add a
6257 HOST_WIDE_INT argument.
6258 (vect_strided_load_supported): Likewise.
6259 (vect_permute_store_chain): Return void.
6260 (vect_transform_strided_load): Likewise.
6261 (vect_permute_load_chain): Delete.
6262 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
6263 count argument. Check that the count is a power of two.
6264 (vect_strided_load_supported): Likewise.
6265 (vect_permute_store_chain): Return void. Update after above changes.
6266 Assert that the access is supported.
6267 (vect_permute_load_chain): Likewise.
6268 (vect_transform_strided_load): Return void.
6269 * tree-vect-stmts.c (vectorizable_store): Update calls after
6270 above interface changes.
6271 (vectorizable_load): Likewise.
6272 (vect_analyze_stmt): Don't check for strided powers of two here.
6273
ab4472fa
RG
62742011-04-14 Richard Guenther <rguenther@suse.de>
6275
6276 PR tree-optimization/48590
6277 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
6278 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
6279 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
6280 BUILT_IN_STACK_SAVE.
6281 * tree-ssa-dce.c (propagate_necessity): Handle
6282 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
6283
32dabdaf
NP
62842011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6285
6286 * c-parser.c (c_parser_objc_class_declaration): Updated call to
6287 objc_declare_class.
6288
daade206
RG
62892011-04-14 Richard Guenther <rguenther@suse.de>
6290
6291 * tree.h (get_object_alignment_1): Declare.
6292 * builtins.c (get_object_alignment_1): Split out worker from ...
6293 (get_object_alignment): ... here.
6294 * fold-const.c (get_pointer_modulus_and_residue): Use
6295 get_object_alignment_1.
6296
920e8172
RS
62972011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6298
6299 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
6300 type parameter.
6301 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
6302 parameter. Generalise code to handle arrays as well as vectors.
6303 (vect_setup_realignment): Update accordingly.
6304 * tree-vect-stmts.c (vectorizable_store): Likewise.
6305 (vectorizable_load): Likewise.
6306
5ce1ee7f
RS
63072011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6308
6309 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
6310 within the per-copy loop.
6311
6438fe33 63122011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
6313
6314 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
6315 in the dump file.
6316
6438fe33 63172011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
6318
6319 * doc/options.texi (Negative): Explicitly mention that the
6320 Negative chain must be circular.
6321
61e46a7d
NF
63222011-04-14 Nathan Froyd <froydnj@codesourcery.com>
6323
6324 * function.h (block_chainon): Declare.
6325 * function.c (block_chainon): Define.
6326
43ea6502 63272011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 6328 Eric Weddington <eric.weddington@atmel.com>
748f7574 6329 Georg-Johann Lay <avr@gjlay.de>
5e60198b 6330
f60c2554 6331 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
6332 New Includes
6333 (avr_init_builtins, avr_expand_builtin,
6334 avr_expand_delay_cycles, avr_expand_unop_builtin,
6335 avr_expand_binop_builtin ): New functions.
6336 (avr_builtin_id): New enum
6337 (struct avr_builtin_description): New struct
6338 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
6339 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 6340
43ea6502 6341 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 6342 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
6343 UNSPECV_DELAY_CYCLES): new enumeration values
6344 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
6345 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
6346 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
6347 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
6348 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
6349 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
6350 "fmulsu"): New insns
5e60198b 6351
43ea6502
AS
6352 * config/avr/avr-c.c: fix line endings
6353 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
6354 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
6355 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
6356 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
6357 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 6358
43ea6502
AS
6359 * doc/extend.texi (AVR Built-in Functions): New node
6360 (Target Builtins): Add documentation of AVR
6361 built-in functions.
6362
8a9b55f3
GJL
63632011-04-14 Georg-Johann Lay <avr@gjlay.de>
6364
6365 PR target/44643
6366 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
6367 alone. Error if non-const data has attribute progmem.
6368
94bd1825
NF
63692011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6370
6371 * tree.h (struct tree_constructor): Include tree_typed instead of
6372 tree_common.
6373 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
6374 TS_TYPED instead of TS_COMMON.
6375
5e60198b 63762011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
6377
6378 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
6379 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
6380 (sse2_psadbw): Merge with *avx_psadbw.
6381 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
6382 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
6383 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
6384 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
6385 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
6386 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
6387 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
6388 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
6389 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
6390 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
6391 (ssse3_palignrti): Merge with *avx_palignrti.
6392
4b1a4694
NF
63932011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6394
6395 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
6396 * tree-ssanames.c (fini_ssanames): VEC_free it.
6397 (make_ssa_name_fn): Update for VECness of free_ssanames.
6398 (release_ssa_name, release_dead_ssa_names): Likewise.
6399 * tree.h (struct tree_ssa_name): Include tree_typed instead of
6400 tree_common.
6401 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
6402 TS_TYPED instead of TS_COMMON.
6403
4da3b811
NF
64042011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6405
6406 * postreload-gcse.c (gcse_after_reload_main): Add calls to
6407 statistics_counter_event.
6408 * tree-ssa-copyrename.c (stats): Define.
6409 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
6410 statistics_counter_event.
6411 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
6412 (bswap_stats, widen_mul_stats): Define.
6413 (insert_reciprocals): Increment rdivs_inserted.
6414 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
6415 rfuncs_inserted. Add calls to statistics_counter_event.
6416 (execute_cse_sincos_1): Increment inserted.
6417 (execute_cse_sincos): Zeroize sincos_stats. Add call to
6418 statistics_counter_event.
6419 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
6420 of bswap_stats. Add calls to statistics_counter_event.
6421 (convert_mult_to_widen): Increment widen_mults_inserted.
6422 (convert_plusminus_to_widen): Increment maccs_inserted.
6423 (convert_mult_to_fma): Increment fmas_inserted.
6424 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
6425 calls to statistics_counter_event.
6426
89fa552a
VM
64272011-04-13 Vladimir Makarov <vmakarov@redhat.com>
6428
6429 PR rtl-optimization/48455
6430 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
6431 `temp_costs->mem_cost'.
6432
03dfc36d
JH
64332011-04-13 Jan Hubicka <jh@suse.cz>
6434
6435 * ipa-inline.h: New file.
6436 * ipa-inline-analysis.c: New file. Broken out of ...
6437 * ipa-inline.c: ... this file; update toplevel comment;
6438 include ipa-inline.h
6439 (inline_summary): Move to ipa-inline.h
6440 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
6441 ipa-inline-analysis.c.
7d4f8d02
EB
6442 (cgraph_estimate_time_after_inlining): Rename to
6443 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
6444 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
6445 to estimate_edge_growth.
6446 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
6447 rename to estimate_size_after_inlining.
6448 (cgraph_mark_inline_edge): Update for new naming convention.
6449 (cgraph_check_inline_limits): Likewise.
6450 (cgraph_edge_badness): Likewise.
6451 (cgraph_decide_recursive_inlining): Likewise.
6452 (cgraph_decide_inlining_of_small_functions): Likewise.
6453 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
6454 (cgraph_estimate_growth): Rename to estimate_growth; move to
6455 ipa-inline-analysis.c.
03dfc36d
JH
6456 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
6457 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
6458 (compute_inline_parameters): Likewise.
6459 (compute_inline_parameters_for_current): Likewise.
6460 (pass_inline_parameters): Likewise.
6461 (inline_indirect_intraprocedural_analysis): Likewise.
6462 (analyze_function): Rename to inline_analyze_function; likewise.
6463 (add_new_function): Move to ipa-inline-analysis.c.
6464 (inline_generate_summary): Likewise.
6465 (inline_read_summary): Likewise.
6466 (inline_write_summary): Likewise.
6467 * Makefile.in (ipa-inline-analysis.c): New file.
6468
7673c962
RO
64692011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6470
6471 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
6472 * configure: Regenerate.
6473
9698252f
NF
64742011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6475
6476 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
6477 instead of tree_common.
6478 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
6479 Likewise.
6480 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
6481 TS_TYPED rather than TS_COMMON.
6482 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
6483
3a7bfdd5
GJL
64842011-04-01 Georg-Johann Lay <avr@gjlay.de>
6485
6486 PR target/45263
86d83530
GJL
6487 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
6488 r20 around calls of __tablejump_elpm__
3a7bfdd5 6489
20790697
JJ
64902011-04-13 Jakub Jelinek <jakub@redhat.com>
6491
6492 PR middle-end/48591
6493 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
6494 NULL.
6495 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
6496
094d7661
BS
64972011-04-13 Bernd Schmidt <bernds@codesourcery.com>
6498
6499 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
6500 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
6501 (cfi_vec): New typedef.
6502 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
6503 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
6504 (cie_cfi_vec): New static variable.
6505 (cie_cfi_head): Delete.
6506 (add_cfi): Accept a cfi_vec * as first argument. All callers and
6507 declaration changed. Use vector rather than list operations.
6508 (new_cfi): Don't initialize the dw_cfi_next field.
6509 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
6510 rather than list operations.
6511 (lookup_cfa): Use vector rather than list operations.
6512 (output_cfis): New argument upto. Accept a cfi_vec rather than
6513 a dw_cfi_ref list head as argument. All callers changed.
6514 Iterate over the vector using upto as a maximum index.
6515 (output_all_cfis): New static function.
6516 (output_fde): Use vector rather than list operations. Use the
6517 new upto argument for output_cfis rather than manipulating a
6518 list.
6519 (dwarf2out_begin_prologue): Change initializations to match
6520 new struct members.
6521 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
6522 from the vector length rather than searching for the end of a list.
6523 Use output_all_cfis.
6524 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
6525
673a5740
NC
65262011-04-13 Nick Clifton <nickc@redhat.com>
6527
6528 * config/rx/rx.md (movmemsi): Do not use this pattern when
6529 volatile pointers are involved.
6530
1ee8b298
UB
65312011-04-13 Uros Bizjak <ubizjak@gmail.com>
6532
6533 * config/i386/sse.md (pinsrbits): Remove.
6534 (sse2_packsswb): Merge with *avx_packsswb.
6535 (sse2_packssdw): Merge with *avx_packssdw.
6536 (sse2_packuswb): Merge with *avx_packuswb.
6537 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
6538 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
6539 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
6540 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
6541 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
6542 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
6543 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
6544 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
6545 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
6546 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
6547 (sse2_loadld): Merge with *avx_loadld.
6548 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
6549 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
6550 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
6551 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
6552 (vec_concatv2di): Merge with *vec_concatv2di_avx.
6553
81f653d6
NF
65542011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6555
6556 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
6557 calling TREE_CHAIN.
6558 * print-tree.c (print_node): Likewise.
6559 * tree-inline.c (copy_tree_r): Likewise.
6560 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
6561 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
6562 instead of TS_COMMON.
6563 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
6564 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
6565 (copy_node_stat): Zero TREE_CHAIN only if necessary.
6566 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
6567 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
6568 ...and these...
6569 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
6570 * tree.h: ...here.
6571 (TREE_CHAIN): Check for a TS_COMMON structure.
6572 (TREE_TYPE): Check for a TS_TYPED structure.
6573
748f7574 65742011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
6575
6576 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
6577 cgraph_get_create_node instead of cgraph_node.
6578
eb345401
NP
65792011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6580
6581 * c-parser.c (c_parser_initelt): Updated call to
6582 objc_build_message_expr.
6583 (c_parser_postfix_expression): Likewise.
6584
a6c46762
KT
65852011-04-12 Kai Tietz <ktietz@redhat.com>
6586
6587 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
6588 MASK_MS_BITFIELD_LAYOUT bit.
6589
b4ccfed9
JJ
65902011-04-12 Jakub Jelinek <jakub@redhat.com>
6591
6592 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
6593 assert it is always true.
6594 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
6595 moves.
6596
0d8a2528
NP
65972011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6598
6599 * c-parser.c (c_lex_one_token): Rewritten conditional used when
6600 compiling Objective-C to be more efficient.
6601
06bd234a
AF
66022011-04-12 Axel Freyn <axel-freyn@gmx.de>
6603
6604 * opts-common.c (decode_cmdline_options_to_array): Remove variable
6605 argv_copied.
6606
28569ac3
RS
66072011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6608
6609 * recog.h, genoutput.c, optabs.c: Revert last patch.
6610
ae59e00d
RR
66112011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6612
81b1e7eb
UB
6613 PR target/48090
6614 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 6615
cff1b7e0
RS
66162011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6617
6618 * recog.h (insn_operand_data): Add an "allows_mem" field.
6619 * genoutput.c (output_operand_data): Initialize it.
6620 * optabs.c (maybe_legitimize_operand_same_code): New function.
6621 (maybe_legitimize_operand): Use it when matching the original
6622 op->value.
6623
77059241
RS
66242011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6625
6626 * genpreds.c (process_define_predicate): Move most processing
6627 to gensupport.c. Continue to validate the expression.
6628 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
6629 (process_define_predicate): Move processing to gensupport.c.
6630 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
6631 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
6632 (compute_predicate_codes): Moved from genrecog.c. Add lineno
6633 argument.
6634 (valid_predicate_name_p): New function, split out from old
6635 genpreds.c:process_define_predicate.
6636 (process_define_predicate): New function, combining code from
6637 old genpreds.c and genrecog.c functions.
6638 (process_rtx): Call it for DEFINE_PREDICATE and
6639 DEFINE_SPECIAL_PREDICATE.
6640
6308e208
RS
66412011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6642
6643 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
6644 size of a '%A' memory reference.
6645 (T_DREG, T_QREG): New neon_builtin_type_bits.
6646 (arm_init_neon_builtins): Assert that the load and store operands
6647 are neon_struct_operands.
6648 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
6649 (NEON_ARG_MEMORY): New builtin_arg.
6650 (neon_dereference_pointer): New function.
6651 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
6652 Handle NEON_ARG_MEMORY.
6653 (arm_expand_neon_builtin): Update after above interface changes.
6654 Use NEON_ARG_MEMORY for loads and stores.
6655 * config/arm/predicates.md (neon_struct_operand): New predicate.
6656 * config/arm/iterators.md (V_two_elem): Tweak formatting.
6657 (V_three_elem): Use BLKmode for accesses that have no associated mode.
6658 (V_four_elem): Tweak formatting.
6659 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
6660 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
6661 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
6662 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
6663 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
6664 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
6665 (neon_vst4<mode>): Replace pointer operand with a memory operand.
6666 Use %A in the output template.
6667 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
6668 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
6669 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
6670 the width of the memory access. Remove post-increment.
6671 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
6672
e5db8f2f
NC
66732011-04-12 Nick Clifton <nickc@redhat.com>
6674
6675 * config/v850/v850.c (expand_prologue): Do not use the CALLT
6676 instruction for interrupt handlers if the target is the basic V850
6677 architecture.
6678 (expand_epilogue): Likewise.
6679
74f091d6
JJ
66802011-04-12 Jakub Jelinek <jakub@redhat.com>
6681
6682 PR rtl-optimization/48549
6683 * combine.c (propagate_for_debug): Also stop after BB_END of
6684 this_basic_block. Process LAST and just stop processing after it.
6685 (combine_instructions): If last_combined_insn has been deleted,
6686 set last_combined_insn to its PREV_INSN.
6687
f20ca725
RG
66882011-04-12 Richard Guenther <rguenther@suse.de>
6689
6690 PR tree-optimization/46076
6691 * gimple.h (struct gimple_statement_call): Add fntype field.
6692 (gimple_call_fntype): Adjust.
6693 (gimple_call_set_fntype): New function.
6694 * gimple.c (gimple_build_call_1): Set the call function type.
6695 * gimplify.c (gimplify_call_expr): Preserve the function
6696 type the frontend used for the call.
6697 (gimplify_modify_expr): Likewise.
6698 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
6699 function type.
6700 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
6701 function type.
6702 * tree-ssa.c (useless_type_conversion_p): Function pointer
6703 conversions are useless.
6704
a358e188
MJ
67052011-04-12 Martin Jambor <mjambor@suse.cz>
6706
6707 * cgraph.h (cgraph_node): Remove function declaration.
6708 (cgraph_create_node): Declare.
6709 (cgraph_get_create_node): Likewise.
6710 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
6711 Updated all callers.
6712 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
6713 the decl does not already exist. Call cgraph_get_create_node instead
6714 of cgraph_node.
6715 (cgraph_get_create_node): New function.
6716 (cgraph_same_body_alias): Update comment.
6717 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
6718 assert it does not return NULL.
6719 (cgraph_update_edges_for_call_stmt): Likewise.
6720 (cgraph_clone_edge): Likewise.
6721 (cgraph_create_virtual_clone): Likewise.
6722 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
6723 instead of cgraph_node.
6724 (cgraph_add_new_function): Call cgraph_create_node or
6725 cgraph_get_create_node instead of cgraph_node.
6726 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
6727 instead of cgraph_node.
6728 (record_eh_tables): Likewise.
6729 (mark_address): Likewise.
6730 (mark_load): Likewise.
6731 (build_cgraph_edges): Call cgraph_get_create_node instead
6732 of cgraph_node.
6733 (rebuild_cgraph_edges): Likewise.
6734 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
6735 instead of cgraph_node.
6736 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
6737 cgraph_node.
6738 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
6739 cgraph_create_node instead of cgraph_node.
6740 * c-decl.c (finish_function): Call cgraph_get_create_node instead
6741 of cgraph_node.
6742 * lto-cgraph.c (input_node): Likewise.
6743 * lto-streamer-in.c (input_function): Likewise.
6744 * varasm.c (mark_decl_referenced): Likewise.
6745 (assemble_alias): Likewise.
6746
fe660d7b
MJ
67472011-04-12 Martin Jambor <mjambor@suse.cz>
6748
6749 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
6750 instead of cgraph_node and assert it does not return NULL.
6751 * lto-streamer-in.c (lto_read_body): Likewise.
6752 * omp-low.c (new_omp_context): Likewise.
6753 (create_task_copyfn): Likewise.
6754 * tree-emutls.c (lower_emutls_function_body): Likewise.
6755 * matrix-reorg.c (transform_allocation_sites): Likewise.
6756
bae5cddf
JJ
67572011-04-12 Jakub Jelinek <jakub@redhat.com>
6758
6759 PR c/48552
6760 * c-typeck.c (build_asm_expr): Error out on attempts to use
6761 void type outputs or inputs for constraints that allow reg or
6762 don't allow memory.
6763
06eb52ca
CLT
67642011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
6765 Richard Earnshaw <rearnsha@arm.com>
6766
6767 PR target/48250
6768 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
6769 to use sign-magnitude offsets. Reject unsupported unaligned
6770 cases. Add detailed description in comments.
6771 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
6772 condition from TARGET_32BIT to TARGET_ARM.
6773
648a616b
NF
67742011-04-11 Nathan Froyd <froydnj@codesourcery.com>
6775
6776 * tree.h (struct typed_tree): New.
6777 (struct tree_common): Include it instead of tree_base.
6778 (TREE_TYPE): Update for new location of type field.
6779 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
6780 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
6781 (union tree_node): Add typed field.
6782 * treestruct.def (TS_TYPED): New.
6783 * lto-streamer.c (check_handled_ts_structures): Handle it.
6784 * tree.c (MARK_TS_TYPED): New macro.
6785 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
6786
1e6d1da0
EB
67872011-04-11 Eric Botcazou <ebotcazou@adacore.com>
6788
6789 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
6790 (force_nonfallthru): Do not alter the loop nest if no basic block
6791 was created.
6792
67932011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
6794
6795 * config/i386/sse.md (VI): New mode iterator.
6796 (SSEMODEI): Remove.
6797 (AVX256MODEI): Ditto.
6798 (AVXMODEF4P): Ditto.
6799 (avxvecpsmode): Ditto.
6800 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
6801 (sse2_andnot<mode>3): New expander.
6802 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
6803 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
6804 (<any_logic:code><mode>3): Use VI mode iterator.
6805 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
6806 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
6807 (*andnottf3): Handle AVX three-operand constraints.
6808 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
6809
b1372d5d 68102011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 6811 Robert Millan <rmh@gnu.org>
b1372d5d
JM
6812
6813 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
6814 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
6815 GNU_USER_DYNAMIC_LINKER64): Define.
6816 (REG_NAME): Don't undefine.
6817 (MD_UNWIND_SUPPORT): Undefine.
6818 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
6819 (REG_NAME): Don't undefine.
6820 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 6821 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 6822
761c0c6e
JM
68232011-04-11 Joseph Myers <joseph@codesourcery.com>
6824
6825 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
6826 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
6827
26e0228f
XDL
68282011-04-11 Xinliang David Li <davidxl@google.com>
6829
6830 * value-profile.c (check_ic_target): New function.
6831 (gimple_ic_transform): Sanity check indirect call target.
6832 * gimple-low.c (gimple_check_call_args): Interface change.
6833 (gimple_check_call_matching_types): New function.
6834 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
6835
68362011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
6837
6838 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
6839 tree-pretty-print.h & realmpfr.h.
6840
a58dfa49
VM
68412011-04-11 Vladimir Makarov <vmakarov@redhat.com>
6842
6843 PR middle-end/48464
6844 * ira.c (setup_pressure_classes): Fix typo in loop condition.
6845 (setup_allocno_and_important_classes): Ditto.
6846
107fd1c1
JM
68472011-04-11 Joseph Myers <joseph@codesourcery.com>
6848
6849 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
6850 GNU_USER_DYNAMIC_LINKER.
6851 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
6852 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6853 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
6854 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6855 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6856 GNU_USER_TARGET_OS_CPP_BUILTINS.
6857 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
6858 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6859 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6860 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6861 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
6862 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6863 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6864 GNU_USER_TARGET_OS_CPP_BUILTINS.
6865 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6866 GNU_USER_DYNAMIC_LINKER.
6867 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6868 GNU_USER_TARGET_OS_CPP_BUILTINS.
6869 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
6870 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6871 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
6872 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6873 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
6874 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
6875 GNU_USER_DYNAMIC_LINKER64): Remove.
6876 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
6877 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6878 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6879 GNU_USER_DYNAMIC_LINKER.
6880 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6881 GNU_USER_TARGET_OS_CPP_BUILTINS.
6882 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6883 GNU_USER_TARGET_OS_CPP_BUILTINS.
6884 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
6885 to GNU_USER_TARGET_OS_CPP_BUILTINS.
6886 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6887 GNU_USER_TARGET_OS_CPP_BUILTINS.
6888 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
6889 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
6890 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6891 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
6892 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6893 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6894 GNU_USER_DYNAMIC_LINKER.
6895 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6896 GNU_USER_TARGET_OS_CPP_BUILTINS.
6897 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
6898 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6899 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6900 GNU_USER_DYNAMIC_LINKER.
6901 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6902 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6903 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
6904 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6905 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6906 GNU_USER_DYNAMIC_LINKER.
6907 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
6908 GNU_USER_DYNAMIC_LINKERN32.
6909 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
6910 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
6911 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
6912 GNU_USER_DYNAMIC_LINKER32.
6913 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
6914 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6915 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6916 GNU_USER_DYNAMIC_LINKER.
6917 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6918 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6919 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
6920 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6921 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
6922 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
6923 GNU_USER_DYNAMIC_LINKER32.
6924 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6925 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
6926 GNU_USER_DYNAMIC_LINKER.
6927 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
6928 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6929 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6930 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
6931 GNU_USER_DYNAMIC_LINKER64.
6932 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
6933 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6934 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6935 GNU_USER_DYNAMIC_LINKER.
6936 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
6937 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6938 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6939 GNU_USER_DYNAMIC_LINKER.
6940 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
6941 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6942 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6943 GNU_USER_DYNAMIC_LINKER32.
6944 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6945 GNU_USER_DYNAMIC_LINKER64.
6946 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6947 GNU_USER_DYNAMIC_LINKER64.
6948 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
6949 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6950 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
6951 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6952 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 6953
e24609cf
JM
69542011-04-11 Joseph Myers <joseph@codesourcery.com>
6955
6956 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
6957 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
6958 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
6959 GNU_USER_DYNAMIC_LINKER.
6960 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6961 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
6962 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
6963 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
6964 GNU_USER_DYNAMIC_LINKER64.
6965 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6966 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
6967 GNU_USER_LINK_EMULATION.
6968 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
6969 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
6970 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
6971 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
6972 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
6973 CPP_SPEC, CC1_SPEC): Remove.
6974 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
6975 (GNU_USER_DYNAMIC_LINKER): Define.
6976 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
6977 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
6978 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
6979 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
6980 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
6981 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
6982 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
6983 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
6984 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
6985 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
6986 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
6987 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
6988 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
6989 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
6990 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
6991 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
6992 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6993 GNU_USER_DYNAMIC_LINKER.
6994 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6995 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
6996 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6997 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
6998 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
6999 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
7000 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
7001 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
7002 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 7003 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 7004
b8ce4e94
KT
70052011-04-11 Kai Tietz <ktietz@redhat.com>
7006
7007 PR target/9601
7008 PR target/11772
7009 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
7010 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
7011 comment.
7012 (ix86_is_msabi_thiscall): Removed.
7013 (ix86_is_type_thiscall): Likewise.
7014 (ix86_get_callcvt): New function.
7015 (ix86_comp_type_attributes): Simplify check.
7016 (ix86_function_regparm): Use ix86_get_callcvt for calling
7017 convention attribute checks.
7018 (ix86_return_pops_args): Likewise.
7019 (ix86_static_chain): Likewise.
7020 (x86_this_parameter): Likewise.
7021 (x86_output_mi_thunk): Likewise.
7022 (ix86_function_type_abi): Optimize check for types without attributes.
7023 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
7024 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
7025 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
7026 by flag-values.
7027 (IX86_BASE_CALLCVT): Helper macro.
7028 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
7029 Use ix86_get_callcvt for calling convention attribute checks and avoid
7030 symbol-decoration for stdcall in TARGET_RTD case.
7031 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
7032 Likewise.
7033 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
7034 for declaration.
7035
798dd0ba
UB
70362011-04-11 Uros Bizjak <ubizjak@gmail.com>
7037
7038 * config/i386/sse.md (VI_128): New mode iterator.
7039 (VI12_128): Rename from SSEMODE12.
7040 (VI14_128): Rename from SSEMODE14.
7041 (VI124_128): New mode iterator.
7042 (VI24_128): Rename from SSEMODE248.
7043 (VI248_128): Rename from SSEMODE248.
7044 (SSEMODE124C8): Remove.
7045 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
7046 (*sse2_<plusminus_insn><mode>3): Merge with
7047 *avx_<plusminus_insn><mode>3.
7048 (*mulv8hi3): Merge with *avx_mulv8hi3.
7049 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
7050 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
7051 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
7052 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
7053 (ashr<mode>3): Merge with *avx_ashr<mode>3.
7054 (lshr<mode>3): Merge with *avx_lshr<mode>3.
7055 (ashl<mode>3): Merge with *avx_ashl<mode>3.
7056 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
7057 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
7058 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7059 (*<smaxmin:code>v8hi3): Ditto.
7060 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
7061 (*<smaxmin:code>v16qi3): Ditto.
7062 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
7063 (*sse2_eq<mode>3): Ditto.
7064 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
7065 (*sse2_gt<mode>3): Ditto.
7066 (vcondv2di): Split out of vcond<mode>.
7067 (vconduv2di): Split out of vcondu<mode>.
7068
956011be
RG
70692011-04-11 Richard Guenther <rguenther@suse.de>
7070
7071 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
7072 before calling tree_low_cst.
7073
e6313a78
RG
70742011-04-11 Richard Guenther <rguenther@suse.de>
7075
7076 * stor-layout.c (layout_type): Compute all array index size operations
7077 in the original type.
7078 (initialize_sizetypes): Add comment.
7079 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
7080
e69d7376
JM
70812011-04-11 Joseph Myers <joseph@codesourcery.com>
7082
7083 * common.opt (Tbss=, Tdata=, Ttext=): New options.
7084
9f9ebcdf
MJ
70852011-04-11 Martin Jambor <mjambor@suse.cz>
7086
7087 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
7088 of cgraph_node, handle NULL return value.
7089 (cgraph_global_info): Likewise.
7090 (cgraph_rtl_info): Likewise.
7091 * tree-inline.c (estimate_num_insns): Likewise.
7092 * gimplify.c (unshare_body): Likewise.
7093 (unvisit_body): Likewise.
7094 (gimplify_body): Likewise.
7095 * predict.c (optimize_function_for_size_p): Likewise.
7096 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
7097 (call_may_clobber_ref_p_1): Likewise.
7098 * varasm.c (function_section_1): Likewise.
7099 (assemble_start_function): Likewise.
7100
581985d7
MJ
71012011-04-11 Martin Jambor <mjambor@suse.cz>
7102
7103 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
7104 of cgraph_node.
7105 * final.c (rest_of_clean_state): Likewise.
7106 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
7107 * passes.c (pass_init_dump_file): Likewise.
7108 (execute_all_ipa_transforms): Likewise.
7109 (function_called_by_processed_nodes_p): Likewise.
7110 * predict.c (maybe_hot_frequency_p): Likewise.
7111 (probably_never_executed_bb_p): Likewise.
7112 (compute_function_frequency): Likewise.
7113 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
7114 (unnest_nesting_tree_1): Likewise.
7115 (lower_nested_functions): Likewise.
7116 * tree-optimize.c (execute_fixup_cfg): Likewise.
7117 (tree_rest_of_compilation): Likewise.
7118 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
7119 * tree-sra.c (ipa_early_sra): Likewise.
7120 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
7121 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
7122 * ipa.c (record_cdtor_fn): Likewise.
7123 * ipa-inline.c (cgraph_early_inlining): Likewise.
7124 (compute_inline_parameters_for_current): Likewise.
7125 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
7126 * ipa-pure-const.c (local_pure_const): Likewise.
7127 * ipa-split.c (split_function): Likewise.
7128 (execute_split_functions): Likewise.
7129 * cgraphbuild.c (build_cgraph_edges): Likewise.
7130 (rebuild_cgraph_edges): Likewise.
7131 (cgraph_rebuild_references): Likewise.
7132 (remove_cgraph_callee_edges): Likewise.
7133 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
7134 (verify_cgraph_node): Likewise.
7135 (cgraph_analyze_functions): Likewise.
7136 (cgraph_preserve_function_body_p): Likewise.
7137 (save_inline_function_body): Likewise.
7138 (save_inline_function_body): Likewise.
7139 * tree-inline.c (copy_bb): Likewise.
7140 (optimize_inline_calls): Likewise.
7141
57dbdc5a
MJ
71422011-04-11 Martin Jambor <mjambor@suse.cz>
7143
7144 PR tree-optimization/48195
7145 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
7146 ipa_check_create_edge_args.
7147 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
7148 ipa_check_create_edge_args.
7149 * ipa-inline.c (inline_generate_summary): Do not call
7150 ipa_check_create_node_params and ipa_check_create_edge_args.
7151 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
7152 ipa_check_create_edge_args.
7153
d108e679
AS
71542011-04-09 Anatoly Sokolov <aesok@post.ru>
7155
7156 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
7157 instead of loop.
7158 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
7159 * function.c (record_hard_reg_sets): Likewise.
7160 * ira.c (compute_regs_asm_clobbered): Likewise.
7161 * sched-deps.c (sched_analyze_1): Likewise.
7162 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
7163
3411bc59
XDL
71642011-04-09 Xinliang David Li <davidxl@google.com>
7165
7166 PR tree-optimization/PR48484
7167 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
7168 has_valid_pred lazily
7169
b365495a
DS
71702011-04-09 Duncan Sands <baldrick@free.fr>
7171
7172 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
7173
68bc509a
EB
71742011-04-08 Eric Botcazou <ebotcazou@adacore.com>
7175
7176 * combine.c (combine_validate_cost): Adjust comments. Set registered
7177 cost of I0 to zero at the end, if any.
7178
041e059f
XDL
71792011-04-08 Xinliang David Li <davidxl@google.com>
7180
68bc509a
EB
7181 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
7182 to insane profile data.
041e059f 7183
444b3995
XDL
71842011-04-08 Xinliang David Li <davidxl@google.com>
7185
7186 * ipa-cp.c (ipcp_update_profiling): Correct
7187 negative scale factor due to insane profile data.
7188
6a801cf2
XDL
71892011-04-08 Xinliang David Li <davidxl@google.com>
7190
7191 * final.c (dump_basic_block_info): New function.
7192 (final): Dump basic block.
7193 (final_scan_insn): Remove old dump.
7194
d5f3624e
SK
71952011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
7196
68bc509a
EB
7197 PR target/47829
7198 * config.gcc (i386-*-freebsd): Disable unwind table generation for
7199 crtbegin/crtend.
d5f3624e 7200
42821aff
MM
72012011-04-08 Michael Matz <matz@suse.de>
7202
7203 PR middle-end/48389
7204 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
7205 functions.
7206 (rebuild_jump_labels): Call rebuild_jump_labels_1.
7207 * rtl.h (rebuild_jump_labels_chain): Declare.
7208 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
7209 insns inserted on edges.
7210
ad7be009
JM
72112011-04-08 Joseph Myers <joseph@codesourcery.com>
7212
7213 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
7214 * config/arm/arm-arches.def: New.
7215 * config/arm/arm-opts.h: New.
7216 * config/arm/genopt.sh: New.
7217 * config/arm/arm-tables.opt: New (generated).
7218 * config/arm/arm.c (arm_handle_option, arm_target_help,
7219 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
7220 (all_architectures): Get most table contents from arm-arches.def.
7221 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
7222 arm_selected_tune here.
7223 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
7224 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
7225 (march=, mcpu=, mtune=): Use Enum and Var.
7226 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
7227 (arm.o): Update dependencies.
ecbb6fb7 7228
42821aff 72292011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
7230
7231 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
7232 of header_file.
7233 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
7234 (write_typed_alloc_defns): Likewise.
7235 (main): Calls write_typed_alloc_defns with output_header.
7236
8d189b3f
VM
72372011-04-08 Vladimir Makarov <vmakarov@redhat.com>
7238
68bc509a 7239 PR inline-asm/48435
8d189b3f
VM
7240 * ira-color.c (setup_profitable_hard_regs): Add comments.
7241 Don't take prohibited hard regs into account.
7242 (setup_conflict_profitable_regs): Rename to
7243 get_conflict_profitable_regs.
7244 (check_hard_reg_p): Check prohibited hard regs.
7245
44f370bf
NF
72462011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7247
7248 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
7249 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
7250 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
7251
483d7ad3
JDA
72522011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7253
7254 PR target/48366
7255 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 7256 move from floating point to shift amount register.
483d7ad3
JDA
7257 (emit_move_sequence): Remove secondary reload support for floating
7258 point to shift amount amount register copies.
7259 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
7260 amount register copies.
7261 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
7262 register, return false if mode isn't a scalar integer mode.
7263 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
7264
97e03fa1
RG
72652011-04-08 Richard Guenther <rguenther@suse.de>
7266
7267 * gimple.c (gimple_call_flags): Remove kludge.
7268
9d40778b
AM
72692011-04-08 Alexander Monakov <amonakov@ispras.ru>
7270
7271 * sel-sched.c (sel_region_init): Move call to
7272 sel_setup_region_sched_flags after setup_current_loop_nest.
7273
19ac7892
AB
72742011-04-08 Andrey Belevantsev <abel@ispras.ru>
7275
7276 PR rtl-optimization/48272
19ac7892
AB
7277 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
7278 init_insn_reg_pressure_info. Adjust a caller.
7279 * sched-int.h (init_insn_reg_pressure_info): Declare.
7280 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
7281 when sched-pressure is enabled.
7282
0f8c63cc
RG
72832011-04-08 Richard Guenther <rguenther@suse.de>
7284
7285 * gimple.c (gimple_set_modified): Do not queue calls to
7286 MODIFIED_NORETURN_CALLS here ...
7287 * tree-ssa-operands.c (update_stmt_operands): ... but here.
7288
5e5a425e
RG
72892011-04-08 Richard Guenther <rguenther@suse.de>
7290
7291 PR lto/48467
7292 * toplev.c (lang_dependent_init): Do not open asm_out_file
7293 in WPA mode, nor perform debug machinery initialization.
7294 (finalize): Do not unlink asm_out_file in WPA mode.
7295
9bfc434b
RG
72962011-04-08 Richard Guenther <rguenther@suse.de>
7297
7298 * gimple.h (gimple_call_fntype): New function.
7299 (gimple_call_return_type): Use it.
7300 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
7301 * gimple-low.c (gimple_check_call_args): Likewise.
7302 * gimple.c (gimple_call_flags): Likewise.
7303 (gimple_call_arg_flags): Likewise.
7304 (gimple_call_return_flags): Likewise.
7305 * tree-cfg.c (verify_gimple_call): Likewise.
7306 (do_warn_unused_result): Likewise.
7307 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
7308 * value-prof.c (gimple_ic_transform): Fix fndecl check.
7309
7c1f0b40
DM
73102011-04-08 Dmitry Melnik <dm@ispras.ru>
7311
7312 PR rtl-optimization/48235
7313 * sel-sched.c (code_motion_process_successors): Recompute the last
7314 insn in basic block if control flow changed.
7315 (code_motion_path_driver): Ditto. Recompute the first insn as well.
7316 Update condition for ilist_remove.
7317
ea4d630f
AM
73182011-04-08 Alexander Monakov <amonakov@ispras.ru>
7319
7320 PR rtl-optimization/48302
7321 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
7322 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
7323 it to record added preheader blocks.
7324 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
7325 on to sel_add_loop_preheaders.
7326 (sel_region_init): Move call to setup_current_loop_nest after
7327 sel_init_bbs.
7328
07643d76
AM
73292011-04-08 Alexander Monakov <amonakov@ispras.ru>
7330
7331 PR target/48273
7332 * cfgloop.h (loop_has_exit_edges): New helper.
7333 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
7334 non-clonable.
7335 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
7336 that have no exit edges.
7337
1f3b2b4e
AM
73382011-04-08 Alexander Monakov <amonakov@ispras.ru>
7339
7340 PR rtl-optimization/48442
7341 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
7342 all callers. Adjust assert.
7343
554f1948
JJ
73442011-04-08 Jakub Jelinek <jakub@redhat.com>
7345
7346 PR tree-optimization/48377
7347 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
7348 is_packed to true even for types with smaller TYPE_ALIGN than
7349 TYPE_SIZE.
7350
ddf72388
RG
73512011-04-08 Richard Guenther <rguenther@suse.de>
7352
7353 PR bootstrap/48513
7354 * doc/tm.texi: Re-generate.
7355
0c27e2d8
WG
73562011-04-08 Wei Guozhi <carrot@google.com>
7357
7358 PR target/47855
7359 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
7360 * config/arm/arm.c (arm_attr_length_push_multi): New function.
7361 * config/arm/arm.md (*push_multi): Change the length computation to
7362 call a C function.
7363
07c5f94e
AS
73642011-04-08 Anatoly Sokolov <aesok@post.ru>
7365
7366 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
7367 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
7368 * doc/tm.texi: Regenerate.
7369 * system.h (ASM_OUTPUT_BSS): Poison.
7370 * varasm.c (asm_output_bss): Remove function.
7371 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 7372
07c5f94e
AS
7373 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
7374 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
7375 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
7376 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7377 Likewise.
7378 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7379 Likewise.
7380 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7381 Likewise.
7382 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
7383
5f2c36e1
JM
73842011-04-07 Joseph Myers <joseph@codesourcery.com>
7385
7386 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
7387 EnumValue lines.
7388
39e7722b
JM
73892011-04-07 Joseph Myers <joseph@codesourcery.com>
7390
7391 * config/m68k/m68k.c (m68k_handle_option): Don't handle
7392 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
7393 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
7394 OPT_mcpu32.
7395 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
7396 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
7397 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
7398 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
7399 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
7400 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
7401 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
7402 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
7403 options. Don't map other m68k options manually. Don't handle
7404 old-style options as canonical.
7405 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 7406 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 7407
cf103ca4
EB
74082011-04-07 Eric Botcazou <ebotcazou@adacore.com>
7409
7410 * basic-block.h (force_nonfallthru): Move to...
7411 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
7412 (force_nonfallthru): ...here.
7413 * cfghooks.c (force_nonfallthru): New function.
7414 * cfgrtl.c (force_nonfallthru): Rename into...
7415 (rtl_force_nonfallthru): ...this.
7416 (commit_one_edge_insertion): Do not set AUX field.
7417 (commit_edge_insertions): Do not discover new basic blocks.
7418 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
7419 (cfg_layout_rtl_cfg_hooks): Likewise.
7420 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
7421 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
7422 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
7423
14431f58
AS
74242011-04-07 Anatoly Sokolov <aesok@post.ru>
7425
7426 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
7427 Remove macros.
7428
3729983c
UB
74292011-04-07 Uros Bizjak <ubizjak@gmail.com>
7430
7431 * config/i386/sse.md: Update copyright year.
7432 (avxcvtvecmode): Remove.
7433 (sse_movhlps): Merge with *avx_movhlps.
7434 (sse_movlhps): Merge with *avx_movlhps.
7435 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
7436 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
7437 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
7438 (sse_loadhps): Merge with *avx_loadhps.
7439 (sse_storelps): Merge with *avx_storelps.
7440 (sse_loadlps): Merge with *avx_loadlps.
7441 (sse_movss): Merge with *avx_movss.
7442 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
7443 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
7444 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
7445 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
7446 (vec_set<mode>_0): Ditto.
7447 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
7448 (sse4_1_insertps): Merge with *avx_insertps.
7449 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
7450 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
7451 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
7452 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
7453 (sse2_storehpd): Merge with *avx_storehpd.
7454 (sse2_loadhpd): Merge with *avx_loadhpd.
7455 (sse2_loadlpd): Merge with *avx_loadlpd.
7456 (sse2_movsd): Merge with *avx_movsd.
7457 (*vec_concatv2df): Merge with *vec_concatv2df.
7458
4e626909
JJ
74592011-04-07 Jakub Jelinek <jakub@redhat.com>
7460
7461 PR debug/48343
7462 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 7463 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
7464 (try_combine): Add last_combined_insn parameter, pass it instead of
7465 i3 to propagate_for_debug.
7466
3729983c 74672011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
7468
7469 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
7470 to handle MDR <-> data register transfers.
7471 (movhi_internal): Likewise.
7472
20c03367
AM
74732011-04-07 Alan Modra <amodra@gmail.com>
7474
7475 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
7476 previous stack info.
7477
bf22920b
TV
74782011-04-07 Tom de Vries <tom@codesourcery.com>
7479
7480 PR target/43920
7481 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
7482 flow_find_cross_jump. Swap variables to implement backward replacement.
7483 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
7484
823918ae
TV
74852011-04-07 Tom de Vries <tom@codesourcery.com>
7486
7487 PR target/43920
7488 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
7489 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
7490 and bb2.
7491 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
7492 src1 or src2. Redirect edges to the last basic block. Update
7493 frequency and count on multiple basic blocks in case of fallthru.
823918ae 7494
472c95f5
TV
74952011-04-07 Tom de Vries <tom@codesourcery.com>
7496
7497 PR target/43920
7498 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
7499 function.
3729983c
UB
7500 (old_insns_match_p): Change return type. Replace return false/true
7501 with return dir_none/dir_both. Use can_replace_by.
7502 (flow_find_cross_jump): Add dir_p parameter. Init replacement
7503 direction from dir_p. Register replacement direction in dir, last_dir
7504 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
7505 merge_dir. Return replacement direction in dir_p.
7506 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
7507 return type of old_insns_match_p.
7508 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
7509 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
7510 flow_find_cross_jump.
7511 * basic-block.h (enum replace_direction): New type.
7512 (flow_find_cross_jump): Add parameter to declaration.
7513
a95d4000
UB
75142011-04-06 Uros Bizjak <ubizjak@gmail.com>
7515
7516 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
7517 (AVXMODEDCVTPS2DQ): Ditto.
7518 (VEC_FLOAT_MODE): Ditto.
7519 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
7520 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7521 (<any_logic:code><mode>3): Use VF mode iterator.
7522 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
7523 Use VF mode iterator.
7524 (copysign<mode>3): Use VF mode iterator.
7525 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
7526 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7527 (*<any_logic:code><MODEF:mode>3): Merge with
7528 *avx_<any_logic:code><MODEF:mode>3.
7529 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
7530 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
7531 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
7532 (avx_cvtdq2ps<avxmodesuffix>): Remove.
7533 (sse2_cvtdq2ps): Use %v modifier.
7534 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
7535 (avx_cvtps2dq<avxmodesuffix>): Remove.
7536 (sse2_cvtps2dq): Use %v modifier.
7537 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
7538 (avx_cvttps2dq<avxmodesuffix>): Remove.
7539 (sse2_cvttps2dq): Use %v modifier.
7540 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
7541 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
7542 (sse2_cvtsd2siq): Fix insn template.
7543 (sse2_cvtsd2siq_2): Ditto.
7544 (sse2_cvttsd2siq): Ditto.
7545 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
7546 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
7547
ad01c437
JM
75482011-04-06 Joseph Myers <joseph@codesourcery.com>
7549
7550 * gcov-io.c: Use GCC Runtime Library Exception.
7551
fe846284
JJ
75522011-04-06 Jakub Jelinek <jakub@redhat.com>
7553
7554 PR debug/48466
7555 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
7556 as base_reg whatever register reg has been eliminated to, instead
7557 of hardcoding STACK_POINTER_REGNUM.
7558
acce4e77
JM
75592011-04-06 Joseph Myers <joseph@codesourcery.com>
7560
7561 * doc/tm.texi.in: Document C target hooks as separate from general
7562 target hooks.
7563 * doc/tm.texi: Regenerate.
7564 * genhooks.c (struct hook_desc): Add docname field.
7565 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
7566 docname field.
7567 (hook_array): Include c-target.def.
7568 (emit_documentation): Use docname field in output.
7569 (emit_init_macros): Take docname argument. Only emit definitions
7570 for hooks matching docname.
7571 (main): Expect additional arguments in all cases. Pass argument
7572 to emit_init_macros.
7573 * target.def: Move initial macro definitions and comments to
7574 target-hooks-macros.h.
7575 (gcc_targetcm): Move to c-family/c-target.def.
7576 * target.h (targetcm): Move declaration to c-family/c-target.h.
7577 * targhooks.c (default_handle_c_option): Move to
7578 c-family/c-opts.c.
7579 * targhooks.h (default_handle_c_option): Move declaration to
7580 c-family/c-common.h.
7581 * target-hooks-macros.h: New file.
7582 * config.gcc (target_has_targetcm): Define and use to add to
7583 c_target_objs and cxx_target_objs.
7584 * config/default-c.c: New file.
7585 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
7586 of target.h and target-def.h.
7587 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
7588 (darwin_objc_construct_string, darwin_cfstring_ref_p,
7589 darwin_check_cfstring_format_arg): Make static.
7590 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7591 TARGET_STRING_OBJECT_REF_TYPE_P,
7592 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
7593 * config/darwin-protos.h (darwin_objc_construct_string,
7594 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
7595 declare.
7596 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7597 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 7598 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
7599 * config/t-darwin (darwin-c.o): Update dependencies.
7600 * system.h (TARGET_HAS_TARGETCM): Poison.
7601 * Makefile.in (TARGET_H): Update.
7602 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
7603 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
7604 (default-c.o): New target.
7605 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 7606 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
7607 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
7608 c-target.def.
7609 (build/genhooks.o): Update dependencies.
7610
275b4baa 76112011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 7612
275b4baa
RG
7613 * ipa-inline.c (enum inlining_mode): Remove.
7614 (cgraph_flatten): Use some other token.
7615 (cgraph_edge_early_inlinable_p): New function, split out from ...
7616 (cgraph_perform_always_inlining): New function, split out from ...
7617 (cgraph_decide_inlining_incrementally): ... here.
7618 (cgraph_mark_inline_edge): Adjust.
7619 (cgraph_early_inlining): Re-structure.
7620 (pass_early_inline): Require SSA form.
7621
f15b8bdf 76222011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
7623 Julian Brown <julian@codesourcery.com>
7624 Mark Shinwell <shinwell@codesourcery.com>
7625
7626 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
7627 LO_REGS only for Thumb-1.
7628 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
7629 be used in short instructions when optimising for size on Thumb-2.
7630
516426da
EB
76312011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7632
7633 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
7634 associated with user returns to be preserved.
7635
96621ebf
TG
76362011-04-06 Tristan Gingold <gingold@adacore.com>
7637
f15b8bdf
EB
7638 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
7639 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
7640 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
7641 if XCOFF_DEBUGGING_INFO.
7642
07c0852e
UB
76432011-04-06 Uros Bizjak <ubizjak@gmail.com>
7644
7645 * config/i386/i386.md (attribute isa): New.
7646 (attribute enabled): New.
7647 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
7648 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
7649 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
7650 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
7651 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
7652 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7653 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
7654 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
7655
7656 * config/i386/sse.md (VF): New mode iterator.
7657 (VF1): Ditto.
7658 (VF2): Ditto.
7659 (VF_128): Ditto.
7660 (SSEMODEF4): Remove.
7661 (attribute sse): Handle V8SF and V4DF modes.
7662 (<absneg:code><mode>2): Use VF mode iterator.
7663 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
7664 mode iterator.
7665 (<plusminus_insn><mode>3): Use VF mode iterator.
7666 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
7667 Use VF mode iterator.
7668 (<sse>_vm<plusminus_insn><mode>3): Merge with
7669 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
7670 (mul<mode>3): Use VF mode iterator.
7671 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
7672 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
7673 mode iterator.
7674 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
7675 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
7676 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
7677 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
7678 mode iterator.
7679 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
7680 Use VF1 mode iterator.
7681 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
7682 (sqrt<VF2:mode>2): New expander.
7683 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
7684 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
7685 and sqrtv2df2. Use VF mode iterator.
7686 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
7687 mode iterator.
7688 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
7689 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
7690 Use VF1 mode iterator.
7691 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
7692 (<smaxmin:code><mode>3): Use VF mode iterator.
7693 (*<smaxmin:code><mode>3_finite): Merge with
7694 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
7695 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7696 (<sse>_vm<smaxmin:code><mode>2): Merge with
7697 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
7698 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
7699 mode iterator.
7700 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
7701 mode iterator.
7702 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
7703 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
7704 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
7705 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
7706 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
7707 VF mode iterator.
7708 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
7709 Use VF_128 mode iterator.
7710 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
7711 mode iterator.
7712 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
7713 VF_128 mode iterator.
7714 (vcond<mode>): Use VF mode iterator.
7715 * config/i386/predicates.md (sse_comparison_operator): Merge with
7716 avx_comparison_float_operator. Do not declare as special_predicate.
7717 * config/i386/i386.c (struct builtin_description): Update for renamed
7718 compare patterns.
7719 (ix86_expand_args_builtin): Ditto.
7720 (ix86_expand_sse_compare_mask): Ditto.
7721
ff5d142c
RG
77222011-04-06 Richard Guenther <rguenther@suse.de>
7723
7724 * tree-inline.c (estimate_num_insns): For calls simply account
7725 for all passed arguments and a used return value.
7726
d7d1d041 77272011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 7728
d7d1d041
RG
7729 PR tree-optimization/47663
7730 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
7731 call_stmt_time fields.
7732 (cgraph_edge_inlinable_p): Declare.
7733 (cgraph_edge_recursive_p): New inline function.
7734 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
7735 (cgraph_clone_edge): Copy it.
7736 * ipa-inline.c (cgraph_estimate_edge_time): New function.
7737 Account for call stmt time.
7738 (cgraph_estimate_time_after_inlining): Take edge argument.
7739 (cgraph_estimate_edge_growth): Account call stmt size.
7740 (cgraph_estimate_size_after_inlining): Take edge argument.
7741 (cgraph_mark_inline_edge): Adjust.
7742 (cgraph_check_inline_limits): Likewise.
7743 (cgraph_recursive_inlining_p): Remove.
7744 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
7745 (cgraph_decide_recursive_inlining): Take edge argument and
7746 adjust.
7747 (cgraph_decide_inlining_of_small_functions): Do not avoid
7748 diags for recursive inlining here.
7749 (cgraph_flatten): Adjust.
7750 (cgraph_decide_inlining_incrementally): Likewise.
7751 (estimate_function_body_sizes): Remove call cost handling.
7752 (compute_inline_parameters): Initialize caller edge call costs.
7753 (cgraph_estimate_edge_growth): New function.
7754 (cgraph_estimate_growth): Use it.
7755 (cgraph_edge_badness): Likewise.
7756 (cgraph_check_inline_limits): Take an edge argument.
7757 (cgraph_decide_inlining_of_small_functions): Adjust.
7758 (cgraph_decide_inlining): Likewise.
7759 * tree-inline.c (estimate_num_insns): Only account for call
7760 return value if it is used.
7761 (expand_call_inline): Avoid diagnostics on recursive inline
7762 functions here.
7763 * lto-cgraph.c (lto_output_edge): Output edge call costs.
7764 (input_edge): Input edge call costs.
7765
2feb95f7
RO
77662011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7767
7768 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
7769
26fbd9c2
JW
77702011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
7771
7772 * doc/invoke.texi (Spec Files): Fix typo.
7773
694dc0ca
EB
77742011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7775
7776 * profile.c (branch_prob): Move declaration of local variable. Remove
7777 obsolete ??? comment. Expand the location explicitly instead of using
7778 the LOCATION_FILE and LOCATION_LINE macros.
7779
4925d0d5
WG
77802011-04-06 Wei Guozhi <carrot@google.com>
7781
7782 PR target/47855
7783 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
7784 (arm_cond_branch): Likewise.
7785 (arm_cond_branch_reversed): Likewise.
7786 (arm_jump): Likewise.
7787 (push_multi): Likewise.
7788 * config/arm/constraints.md (Py): New constraint.
7789
f55dfa2f
NF
77902011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7791
7792 PR bootstrap/48471
7793 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
7794 Move these...
7795 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
7796 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
7797 #ifdef DBX_DEBUGGING_INFO.
7798
fca96842
BS
77992011-04-05 Bernd Schmidt <bernds@codesourcery.com>
7800
7801 PR bootstrap/48403
7802 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
7803 if old and new states differ.
7804
30b83e38
JM
78052011-04-05 Joseph Myers <joseph@codesourcery.com>
7806
7807 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
7808 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
7809 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
7810 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
7811 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
7812 mcfv4e): Use Alias.
7813 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
7814 ColdFire options to -mcpu= options.
7815
277a9aa5
JL
78162011-04-05 Jeff Law <law@redhat.com>
7817
7818 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
7819 check if BB is a successor of LOOP->header and return
7820 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
7821
c1e2610e
SB
78222011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7823
7824 * cprop.c (struct reg_use): Remove.
7825 (reg_use_table): Make an array of RTX.
7826 (find_used_regs, constprop_register, local_cprop_pass,
7827 bypass_block): Simplify users of reg_use_table.
7828 (cprop_insn): Likewise. Iterate if copy propagation succeeded
7829 on one of the uses found by find_used_regs.
7830
e532f586
NF
78312011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7832
7833 PR bootstrap/48469
7834 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
7835 declaration.
7836
3fb7c055
NF
78372011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7838
7839 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
7840 as an rtx.
7841 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
7842
b71b43d9
SB
78432011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7844
7845 PR middle-end/48441
7846 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
7847
b405b274
NF
78482011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7849
7850 * combine.c: Include obstack.h.
7851 (struct insn_link): Define.
7852 (uid_log_links): Adjust type.
7853 (FOR_EACH_LOG_LINK): New macro.
7854 (insn_link_obstack): Declare.
7855 (alloc_insn_link): Define.
7856 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
7857 type of link variables.
7858 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
7859 (try_combine, record_promoted_values, distribute_notes): Likewise.
7860 (distribute_links): Likewise. Tweak prototype.
7861 (clear_log_links): Delete.
7862 (adjust_for_new_dest): Call alloc_insn_link.
7863 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
7864
6409abe3
NF
78652011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7866
7867 * gcse.c (modify_mem_list): Convert to an array of VECs.
7868 (canon_modify_mem_list, compute_transp): Tweak formatting.
7869 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
7870 (load_killed_in_block_p): Likewise.
7871 (record_last_mem_set_info): Likewise.
7872 (clear_modify_mem_tables): Likewise.
7873
170d8157
TV
78742011-04-05 Tom de Vries <tom@codesourcery.com>
7875
7876 PR middle-end/48461
7877 * function.c (emit_use_return_register_into_block): Only define if
7878 HAVE_return.
7879
c5911a55
EB
78802011-04-05 Eric Botcazou <ebotcazou@adacore.com>
7881
7882 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
7883
abd016e6
JM
78842011-04-05 Joseph Myers <joseph@codesourcery.com>
7885
7886 * config/rx/rx-opts.h: New.
7887 * config/rx/rx.c (rx_cpu_type): Remove.
7888 (rx_handle_option): Don't assert that global structures are in
7889 use. Access variables via opts pointer. Defer most handling of
7890 OPT_mint_register_. Use error_at.
7891 (rx_option_override): Handle deferred OPT_mint_register_ here.
7892 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
7893 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
7894 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
7895 (rx_cpu_types): New Enum and EnumValue entries.
7896 (mint-register=): Use Defer and use Var accordingly.
7897
1ed13f83
NF
78982011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7899
7900 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
7901 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
7902 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
7903 Move these...
7904 (debug_free_queue, debug_nesting, symbol_queue_index):
7905 ...and these...
7906 * dbxout.c: ...to here. Make static.
7907
6ce1edcf
NF
79082011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7909
7910 * gcse.c (modify_pair): Define. Define a VEC of it.
7911 (canon_modify_mem_list): Convert to an array of VECs.
7912 (free_insn_expr_list_list): Delete.
7913 (clear_modify_mem_tables): Call VEC_free instead.
7914 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
7915 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
7916 (canon_list_insert, compute_transp): Likewise.
7917
c201ac94
TV
79182011-04-05 Tom de Vries <tom@codesourcery.com>
7919
7920 PR target/43920
7921 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
7922 for size.
7923
4c029f40
TV
79242011-04-05 Tom de Vries <tom@codesourcery.com>
7925
7926 PR target/43920
7927 * function.c (emit_use_return_register_into_block): New function.
7928 (thread_prologue_and_epilogue_insns): Use
7929 emit_use_return_register_into_block.
7930
2a562b0a
TV
79312011-04-05 Tom de Vries <tom@codesourcery.com>
7932
7933 PR target/43920
7934 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
7935 insn.
7936
0248bceb
TV
79372011-04-05 Tom de Vries <tom@codesourcery.com>
7938
7939 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
7940
ffa94123
YZ
79412011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
7942
798dd0ba
UB
7943 * config/arm/arm.md (define_constants for unspec): Replace with
7944 define_c_enum.
7945 (define_constants for unspecv): Replace with define_c_enum.
7946 * config/arm/neon.md (define_constants for unspec): Replace with
7947 define_c_enum.
ffa94123 7948
3b8f9b46
RH
79492011-04-04 Richard Henderson <rth@redhat.com>
7950
720cf80f 7951 PR bootstrap/48400
3b8f9b46
RH
7952 * dwarf2out.c (output_line_info): Always emit line info from
7953 at least one section.
7954 (dwarf2out_init): Create text_section_line_info here ...
7955 (set_cur_line_info_table): ... not here.
7956
720cf80f 79572011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
7958
7959 PR target/48380
7960 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 7961 not called.
e5b0e1ca 7962
720cf80f 7963 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 7964
196565d4
SB
79652011-04-04 Steven Bosscher <steven@gcc.gnu.org>
7966
b77f9eab
SB
7967 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
7968 (expr_equiv_p): Remove.
7969 (insert_set_in_table): Look at <dest, src> pair instead of expr.
7970 (hash_scan_set): Update call to insert_set_in_table.
7971 (dump_hash_table): Dump <dest, src> pair.
7972 (lookup_set): Simplify. Lookup <dest, src> pair.
7973 (compute_transp): Remove, fold heavily simplified code into...
7974 (compute_local_properties): ...here. Expect COMP and TRANSP
7975 unconditionally.
7976 (find_avail_set): Take set directly from struct expr.
7977 (find_bypass-set): Likewise.
7978 (bypass_block): Likewise.
7979 (cprop_insn): Likewise. Remove redundant INSN_P test.
7980
384d7a55
SB
7981 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
7982 checks on form of COND from find_implicit_sets to here.
7983 (find_implicit_sets): Cleanup control flow. Split critical edges
7984 if it exposes implicit sets. Allocate/resize implicit_sets as
7985 necessary.
7986 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
7987 changed something. Run df_analyze after find_implicit_sets if any
7988 edges were split. Do not allocate implicit_sets here.
7989
3084ce69
SB
7990 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
7991 (gcse_obstack): Renamed to cprop_obstack.
7992 (GNEW, GNEWVEC, GNEWVAR): Remove.
7993 (gmalloc): Remove.
7994 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
7995 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
7996 (gcse_alloc): Likewise, and rename to cprop_alloc.
7997 (alloc_gcse_men, free_gcse_mem): Remove.
7998 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
7999 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
8000 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
8001
196565d4
SB
8002 * cprop.c (oprs_not_set_p): Remove.
8003 (mark_set, mark_clobber): Remove.
8004 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
8005 (reg_not_set_p): New function.
8006 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
8007 (cprop_insn): Likewise.
8008 (cprop_jump): Use FOR_EACH_EDGE.
8009
9b69cf83
BS
80102011-04-04 Bernd Schmidt <bernds@codesourcery.com>
8011
8012 PR bootstrap/48403
8013 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
8014 (rank_for_schedule): Use scheduled_insns vector instead of
8015 last_scheduled_insn.
8016 (ok_for_early_queue_removal): Likewise.
8017 (queue_to_ready): Search forward in nonscheduled_insns_begin if
8018 we have a dbg_cnt.
8019 (choose_ready): Likewise.
8020 (commit_schedule): Use VEC_iterate.
8021 (schedule_block): Initialize nonscheduled_insns_begin. If we have
8022 a dbg_cnt, use it and ensure the first insn is in the ready list.
8023 (haifa_sched_init): Allocate scheduled_insns.
8024 (sched_extend_ready_list): Don't allocate it; reserve space.
8025 (haifa_sched_finish): Free it.
8026
24f48c2f
JM
80272011-04-04 Joseph Myers <joseph@codesourcery.com>
8028
8029 * optc-gen.awk: Always remove type from Variable entry before
8030 recording in var_seen.
8031
8effe856
EB
80322011-04-04 Eric Botcazou <ebotcazou@adacore.com>
8033
8034 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
8035 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
8036 call to tidy_fallthru_edges.
8037
413519ae
JM
80382011-04-04 Joseph Myers <joseph@codesourcery.com>
8039
8040 * doc/options.texi (ToLower): Document.
3729983c 8041 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
8042 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
8043 * opts.h (cl_option): Add cl_tolower field.
8044 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
8045 arguments with lowercase strings.
8046 * config/rx/rx.opt (mcpu=): Add ToLower.
8047 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
8048 argument.
8049
7d34a1b0
RS
80502011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
8051
8052 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
8053
c30e7434
RS
80542011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
8055
8056 * config/vax/vax.c: Include reload.h.
8057
112a861d
AS
80582011-04-04 Anatoly Sokolov <aesok@post.ru>
8059
8060 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
8061 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8062 (sparc_preferred_reload_class): New function.
8063
e8c6bb74
JJ
80642011-04-04 Jakub Jelinek <jakub@redhat.com>
8065
2aeaa366 8066 PR debug/48401
e8c6bb74
JJ
8067 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
8068 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
8069
2c081caf
NF
80702011-04-03 Nathan Froyd <froydnj@codesourcery.com>
8071
8072 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
8073 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
8074
53802f27
AS
80752011-04-03 Anatoly Sokolov <aesok@post.ru>
8076
8077 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
8078 (ASM_OUTPUT_ALIGNED_BSS): Define.
8079
e89964e3
MM
80802011-04-03 Michael Matz <matz@suse.de>
8081
8082 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
8083 and next_slot members.
8084 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
8085 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
8086 (lto_streamer_cache_append): Declare.
8087 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
8088 unsigned index, remove offset parameter, ensure that we append
8089 or update existing entries.
8090 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
8091 parameter, update next_slot for append.
8092 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
8093 parameter.
8094 (lto_streamer_cache_insert_at): Likewise.
8095 (lto_streamer_cache_append): New function.
8096 (lto_streamer_cache_lookup): Use unsigned index.
8097 (lto_streamer_cache_get): Likewise.
8098 (lto_record_common_node): Don't test tree_node_can_be_shared.
8099 (preload_common_node): Adjust call to lto_streamer_cache_insert.
8100 (lto_streamer_cache_delete): Don't free offsets member.
8101 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
8102 (lto_output_string_with_length): Use lto_output_data_stream.
8103 (lto_output_tree_header): Remove ix parameter, don't write it.
8104 (lto_output_builtin_tree): Likewise.
8105 (lto_write_tree): Adjust callers to above, don't track and write
8106 offset, write unsigned index.
8107 (output_unreferenced_globals): Don't emit all global vars.
8108 (write_global_references): Use unsigned indices.
8109 (lto_output_decl_state_refs): Likewise.
8110 (write_symbol): Likewise.
8111 * lto-streamer-in.c (lto_input_chain): Move earlier.
8112 (input_function): Use unsigned index.
8113 (input_alias_pairs): Don't read and then ignore all global vars.
8114 (lto_materialize_tree): Remove ix_p parameter, don't read index,
8115 don't pass it back, use lto_streamer_cache_append.
8116 (lto_register_var_decl_in_symtab): Use unsigned index.
8117 (lto_register_function_decl_in_symtab): Likewise.
8118 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
8119 index.
8120 (lto_get_builtin_tree): Don't read index, use
8121 lto_streamer_cache_append.
8122 (lto_read_tree): Adjust call to lto_materialize_tree.
8123
8124 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
8125 don't use function calls in arguments to MIN.
8126
8127 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
8128 twice.
8129
8130 * gimple.c (gimple_type_leader_entry): Mark deletable.
8131
b9a5b5b2
AM
81322011-04-03 Alan Modra <amodra@gmail.com>
8133
8134 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
8135
ac6a641b
MM
81362011-04-03 Michael Matz <matz@suse.de>
8137
8138 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
8139 an integer.
8140 * tree.h (tree_decl_non_common.vindex): Adjust comment.
8141
0038d4e0
MM
81422011-04-03 Michael Matz <matz@suse.de>
8143
e9c18386 8144 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
8145 * gimple-fold.c (canonicalize_constructor_val): Accept being called
8146 without function context.
8147 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
8148 current_function_decl and cfun.
8149
91f2fae8
MM
81502011-04-03 Michael Matz <matz@suse.de>
8151
8152 * tree.c (decl_init_priority_insert): Don't create entry for
8153 default priority.
8154 (decl_fini_priority_insert): Ditto.
8155 (fields_compatible_p, find_compatible_field): Remove.
8156 * tree.h (fields_compatible_p, find_compatible_field): Remove.
8157 * gimple.c (gimple_compare_field_offset): Adjust block comment.
8158
da29e070
EB
81592011-04-03 Eric Botcazou <ebotcazou@adacore.com>
8160
8161 * combine.c (try_combine): Remove useless local variable.
8162
4979c28b 81632011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 8164 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
8165
8166 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
8167 non-variable offsets and compare the remaining bases of the two
8168 accesses instead of looking for exact same data-ref.
8169
b4ddcaee
KT
81702011-04-02 Kai Tietz <ktietz@redhat.com>
8171
f90298e1
KT
8172 PR target/48416
8173 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
8174
b4ddcaee
KT
8175 * i386.c (ix86_is_msabi_thiscall): New helper function.
8176 (ix86_is_type_thiscall): New helper function.
8177 (ix86_comp_type_attributes): Handle thiscall for method-functions
8178 special.
8179 (init_cumulative_args): Likewise.
8180 (find_drap_reg): Likewise.
8181 (ix86_static_chain): Likewise.
8182 (x86_this_parameter): Likewise.
8183 (x86_output_mi_thunk): Likewise.
8184
2a9d769a 81852011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
8186 Nicolas Setton <setton@adacore.com>
8187 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
8188
8189 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
8190 (add_gnat_descriptive_type_attribute): New function.
8191 (gen_array_type_die): Call it.
8192 (gen_enumeration_type_die): Likewise.
8193 (gen_struct_or_union_type_die): Likewise.
8194 (modified_type_die): Likewise.
8195 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
8196 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
8197 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
8198
15a03a11
JJ
81992011-04-01 Jakub Jelinek <jakub@redhat.com>
8200
8201 PR bootstrap/48148
8202 * dwarf2out.c (resolve_addr): Don't call force_decl_die
8203 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
8204
8205 Revert:
8206 2011-03-17 Richard Guenther <rguenther@suse.de>
8207
8208 PR bootstrap/48148
8209 * lto-cgraph.c (input_overwrite_node): Clear the abstract
8210 origin for decls in other ltrans units.
8211 (input_varpool_node): Likewise.
8212
19228b93
JJ
82132011-04-01 Jakub Jelinek <jakub@redhat.com>
8214
8215 PR middle-end/48335
8216 * expr.c (expand_assignment): Handle all possibilities
8217 if TO_RTX is CONCAT.
e9c18386 8218 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
8219 (store_split_bit_field): If SUBREG_REG (op0) or
8220 op0 itself has smaller mode than word, return it
8221 for offset 0 and const0_rtx for out-of-bounds stores.
8222 If word is const0_rtx, skip it.
8223
88cb339e
N
82242011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
8225
8226 * config/h8300/h8300.c (print_operand_address): Rename to...
8227 (h8300_print_operand_address): ...this. Make static. Adjust comments.
8228 Call h8300_print_operand and h8300_print_operand_address instead of
8229 print_operand and print_operand_address. Declare.
8230 (print_operand): Renake to...
8231 (h8300_print_operand): ...this. Make static. Adjust comments.
8232 Call h8300_print_operand instead of print_operand. Declare.
8233 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
8234 (h8300_register_move_cost): Likewise.
8235 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
8236 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
8237 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
8238 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
8239 * config/h8300/h8300-protos.h (print_operand): Delete.
8240 (print_operand_address): Delete.
8241
756d6ee9
RH
82422011-04-01 Richard Henderson <rth@redhat.com>
8243
8244 PR 48400
8245 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
8246 in strict mode before dwarf4. Re-order tests to early out
8247 before switching sections.
8248
ceaaaeab
NF
82492011-04-01 Nathan Froyd <froydnj@codesourcery.com>
8250
8251 * config/h8300/constraints.md: New file.
8252 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
8253 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
8254 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
8255 * config/h8300/predicates.md (bit_operand): Likewise.
8256 (incdec_operand): Use satisfies_constraint_M and
8257 satisfies_constraint_O. Don't use C code block.
8258 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
8259 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
8260 (compute_mov_length): Use satisfies_constraint_G.
8261 (fix_bit_operand): Use satisfies_constraint_U.
8262 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
8263 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
8264 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
8265 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
8266 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
8267 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
8268 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8269 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
8270 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
8271 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
8272 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
8273 (EXTRA_MEMORY_CONSTRAINT): Delete.
8274
08ae38e0
AP
82752011-04-01 Andrew Pinski <pinskia@gmail.com>
8276 Michael Meissner <meissner@linux.vnet.ibm.com>
8277
8278 PR target/48262
8279 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
8280 operands, as per the specifications.
8281
8282 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
8283 (vec_extract_evenv4sf): Ditto.
8284 (vec_extract_evenv8hi): Ditto.
8285 (vec_extract_evenv16qi): Ditto.
8286 (vec_extract_oddv4si): Ditto.
8287
bdb0b0f6
MW
82882011-03-31 Mark Wielaard <mjw@redhat.com>
8289
8290 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
8291 high_pc attribute if the CU has no associated code. Only output
8292 DW_AT_entry_pc for CU if not generating strict dwarf and
8293 dwarf_version < 4.
8294
722279e4
BS
82952011-04-01 Bernd Schmidt <bernds@codesourcery.com>
8296
8297 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
8298 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
8299 out of ...
8300 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
8301 * final.c (final_start_function): Call the new function rather
8302 than using a NULL argument for dwarf2out_frame_debug.
8303
c5dd277d
BS
8304 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
8305 that contains the prologue.
8306
ec4efea9
BS
8307 * haifa-sched.c (queue_insn): New arg REASON. All callers
8308 changed. Print it in debugging output.
8309
2a6a0d80
BS
8310 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
8311
86014d07
BS
8312 * sched-ebb.c (begin_schedule_ready): Remove second argument.
8313 Split most of the code into...
8314 (begin_move_insn): ... here. New function.
8315 (ebb_sched_info): Add a pointer to it.
8316 * haifa-sched.c (scheduled_insns): New static variable.
8317 (sched_extend_ready_list): Allocate it.
8318 (schedule_block): Use it to record the order of scheduled insns.
8319 Perform RTL changes to move insns only after all scheduling
8320 decisions have been made.
8321 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
8322 begin_move_insn field.
8323 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
8324 * sched-int.h (struct haifa_sched_info): Remove second argument
8325 from begin_schedule_ready hook. Add new member begin_move_insn.
8326 * sched-rgn.c (begin_schedule_ready): Remove second argument.
8327 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
8328
9d701248
BS
8329 * haifa-sched.c (prune_ready_list): New function, broken out of
8330 schedule_block.
8331 (schedule_block): Use it.
8332
1ca1dad5
UW
83332011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8334
8335 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
8336
49568e45
KT
83372011-04-01 Kai Tietz <ktietz@redhat.com>
8338
8339 * config.gcc (*-*-mingw*): Allow as option the
8340 posix threading model.
07c0852e 8341 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
8342 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
8343 definition.
8344 (CPP_SPEC): Add pthread/no-pthread handling.
8345 (LIB_SPEC): Likewise.
8346 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
8347 (LIB_SPEC): Likewise.
8348 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
8349 flag to pass -pthread option for shared libgcc build.
8350 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
8351 for shared libgcc build.
8352 * config/i386/t-mingw-pthread: New file.
8353 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
8354 New define to enable use of library pthread by default.
8355 * config/i386/mingw.opt (pthread): New driver option.
8356 (no-pthread): New driver option.
e9c18386 8357 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
8358 * config/i386/mingw-w64.opt: Likewise.
8359
748f7574 83602011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
8361
8362 * c-decl.c (grokdeclarator): Fix formatting.
8363
f04713ee
RS
83642011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8365
8366 * expr.c (emit_block_move_via_movmem): Use n_generator_args
8367 instead of n_operands.
8368 (set_storage_via_setmem): Likewise.
8369 * optabs.c (maybe_gen_insn): Likewise.
8370 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
8371 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
8372 (mips_expand_builtin_direct): Likewise.
8373 * config/spu/spu.c (expand_builtin_args): Likewise.
8374
b29387ee
RS
83752011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8376
8377 * recog.h (insn_data_d): Add n_generator_args.
8378 * genoutput.c (data): Likewise.
8379 (output_insn_data): Print it.
8380 (max_opno, num_dups): Delete.
8381 (scan_operands): Just fill in "d->operand[...]".
8382 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
8383
e792559a
RS
83842011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8385
8386 * gensupport.h (pattern_stats): New structure.
8387 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
8388 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
8389 (max_operand_1, max_operand_vec): Delete.
8390 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
8391
e8110d6f
NF
83922011-03-31 Nathan Froyd <froydnj@codesourcery.com>
8393
8394 * emit-rtl.c (emit_pattern_after_setloc): New function.
8395 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
8396 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
8397 (emit_pattern_after): New function.
8398 (emit_insn_after, emit_jump_insn_after): Call it.
8399 (emit_call_insn_after, emit_debug_insn_after): Likewise.
8400 (emit_pattern_before_setloc): New function.
8401 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
8402 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
8403 Likewise.
8404 (emit_pattern_before): New function.
8405 (emit_insn_before, emit_jump_insn_before): Call it.
8406 (emit_call_insn_before, emit_debug_insn_before): Likewise.
8407
576f85f1
RH
84082011-03-31 Richard Henderson <rth@redhat.com>
8409
8410 * dwarf2out.c (dw_separate_line_info_ref): Remove.
8411 (dw_separate_line_info_entry): Remove.
8412 (enum dw_line_info_opcode): New.
8413 (dw_line_info_entry): Use it.
8414 (dw_line_info_table, dw_line_info_table_p): New.
8415 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
8416 (line_info_table, line_info_label_num): Remove.
8417 (line_info_table_in_use): Remove.
8418 (separate_line_info_table): Remove.
8419 (separate_line_info_table_allocated): Remove.
8420 (separate_line_info_table_in_use): Remove.
8421 (LINE_INFO_TABLE_INCREMENT): Remove.
8422 (line_info_label_num): New.
8423 (cur_line_info_table): New.
8424 (text_section_line_info, cold_text_section_line_info): New.
8425 (separate_line_info): New.
8426 (SEPARATE_LINE_CODE_LABEL): Remove.
8427 (print_dwarf_line_table): Remove.
8428 (debug_dwarf): Don't dump it.
8429 (output_one_line_info_table): New.
8430 (output_line_info): Use it.
8431 (new_line_info_table): New.
8432 (set_cur_line_info_table): New.
8433 (dwarf2out_switch_text_section): Use it.
8434 (dwarf2out_begin_function): Likewise.
8435 (push_dw_line_info_entry): New.
8436 (dwarf2out_source_line): Rewrite for new line info tables.
8437 (dwarf2out_init): Remove dead initailizations.
8438
300d83d9
JM
84392011-03-31 Joseph Myers <joseph@codesourcery.com>
8440
8441 * opts.h (cl_option): Add comments to fields. Add bit-fields for
8442 various flags.
8443 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
8444 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
8445 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
8446 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
8447 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
8448 * opt-functions.awk (flag_init, switch_bit_fields): New.
8449 (switch_flags): Don't handle flags moved to bit-fields. Don't
8450 generate CL_MISSING_OK or CL_SAVE.
8451 * optc-gen.awk: Update to generate bit-field output as well as
8452 flags field.
8453 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
8454 bit-field instead of CL_REJECT_DRIVER flag.
8455 * opts-common.c (generate_canonical_option,
8456 decode_cmdline_option): Use bit-fields instead of CL_* flags.
8457 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
8458 instead of CL_REJECT_NEGATIVE flag.
8459 * toplev.c (print_switch_values): Use cl_report bit-field instead
8460 of CL_REPORT flag.
8461
d4d73ce2
EB
84622011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8463
8464 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
8465 a zero minimum index only if it is redundant.
8466
b8faca75
VM
84672011-03-31 Vladimir Makarov <vmakarov@redhat.com>
8468
8469 PR rtl-optimization/48381
8470 * ira-color.c (assign_hard_reg): Use hard reg set intersection
8471 instead of ira_class_hard_reg_index for calculating conflicting
8472 hard registers.
8473
7d11cebe
SB
84742011-03-31 Steven Bosscher <steven@gcc.gnu.org>
8475
8476 * cprop.c: Clean up hash table building.
8477 (reg_avail_info): Remove.
8478 (oprs_available_p): Remove.
8479 (record_last_reg_set_info): Remove.
8480 (record_last_set_info): Remove.
8481 (reg_available_p): New function.
8482 (gcse_constant_p): Do not treat unfolded conditions as constants.
8483 (make_set_regs_unavailable): New function.
8484 (hash_scan_set): Simplify with new reg_available_p.
8485 (compute_hash_table_work): Traverse insns stream only once.
8486 Do not compute reg_avail_info. Traverse insns in reverse order.
8487 Record implicit sets after recording explicit sets from the block.
8488
98faf84f
MM
84892011-03-31 Michael Matz <matz@suse.de>
8490
e9c18386 8491 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 8492
f52d97da
AS
84932011-03-31 Anatoly Sokolov <aesok@post.ru>
8494
8495 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
8496 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
8497 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8498 (h8300_mode_dependent_address_p): New function.
8499 (h8300_get_index): Make static.
8500
e16b6fd0
JL
85012011-03-31 Jeff Law <law@redhat.com>
8502
10c51983
JL
8503 * reload1.c (elimination_effects): Fix typo in recent change.
8504
e9c18386 8505 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
8506 typo potentially leading to null pointer dereference.
8507
8508 * caller-save.c (new_saved_hard_reg): Eliminate return value.
8509 (setup_save_areas): Corresponding changes to avoid useless
8510 assignments.
8511
8512 * jump.c (reversed_comparison_code_parts): Avoid successive return
8513 statements when REVERSE_CONDITION is defined.
8514
8515 * expr.c (expand_assignment): Avoid useless assignments.
8516 (expand_expr_real_1): Likewise.
8517 (expand_expr_real_2): Avoid useless statements.
8518
8519 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
8520
8521 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
8522
8523 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
8524 statements.
8525
8526 * stmt.c (expand_expr_stmt): Avoid useless assignment.
8527
eb1eb914
JM
85282011-03-31 Joseph Myers <joseph@codesourcery.com>
8529
8530 PR target/47109
8531 * doc/tm.texi.in (TARGET_VERSION): Remove.
8532 * doc/tm.texi: Regenerate.
8533 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
8534 * collect2.c (main): Don't use TARGET_VERSION.
8535 * mips-tdump.c (main): Don't use TARGET_VERSION.
8536 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 8537 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
8538 * config/rs6000/vxworksae.h: Remove.
8539 * config/alpha/alpha.h (TARGET_VERSION): Remove.
8540 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
8541 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
8542 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
8543 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8544 * config/arm/arm.h (TARGET_VERSION): Remove.
8545 * config/arm/coff.h (TARGET_VERSION): Remove.
8546 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
8547 * config/arm/elf.h (TARGET_VERSION): Remove.
8548 * config/arm/freebsd.h (TARGET_VERSION): Remove.
8549 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
8550 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
8551 * config/arm/pe.h (TARGET_VERSION): Remove.
8552 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
8553 * config/arm/semi.h (TARGET_VERSION): Remove.
8554 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
8555 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
8556 * config/arm/vxworks.h (TARGET_VERSION): Remove.
8557 * config/avr/avr.h (TARGET_VERSION): Remove.
8558 * config/bfin/bfin.h (TARGET_VERSION): Remove.
8559 * config/fr30/fr30.h (TARGET_VERSION): Remove.
8560 * config/frv/frv.h (TARGET_VERSION): Remove.
8561 * config/h8300/h8300.h (TARGET_VERSION): Remove.
8562 * config/i386/cygwin.h (TARGET_VERSION): Remove.
8563 * config/i386/darwin.h (TARGET_VERSION): Remove.
8564 * config/i386/darwin64.h (TARGET_VERSION): Remove.
8565 * config/i386/djgpp.h (TARGET_VERSION): Remove.
8566 * config/i386/freebsd.h (TARGET_VERSION): Remove.
8567 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
8568 * config/i386/gnu.h (TARGET_VERSION): Remove.
8569 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
8570 * config/i386/i386elf.h (TARGET_VERSION): Remove.
8571 * config/i386/linux.h (TARGET_VERSION): Remove.
8572 * config/i386/linux64.h (TARGET_VERSION): Remove.
8573 * config/i386/lynx.h (TARGET_VERSION): Remove.
8574 * config/i386/mingw32.h (TARGET_VERSION): Remove.
8575 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
8576 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
8577 * config/i386/netware.h (TARGET_VERSION): Remove.
8578 * config/i386/nto.h (TARGET_VERSION): Remove.
8579 * config/i386/openbsd.h (TARGET_VERSION): Remove.
8580 * config/i386/vxworks.h (TARGET_VERSION): Remove.
8581 * config/ia64/elf.h (TARGET_VERSION): Remove.
8582 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
8583 * config/ia64/hpux.h (TARGET_VERSION): Remove.
8584 * config/ia64/linux.h (TARGET_VERSION): Remove.
8585 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8586 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
8587 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8588 * config/lm32/lm32.h (TARGET_VERSION): Remove.
8589 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
8590 * config/m32c/m32c.h (TARGET_VERSION): Remove.
8591 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
8592 * config/m32r/m32r.h (TARGET_VERSION): Remove.
8593 * config/m68k/linux.h (TARGET_VERSION): Remove.
8594 * config/m68k/m68k.h (TARGET_VERSION): Remove.
8595 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
8596 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
8597 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
8598 * config/mep/mep.h (TARGET_VERSION): Remove.
8599 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
8600 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8601 * config/mips/iris6.h (MACHINE_TYPE): Remove.
8602 * config/mips/linux.h (TARGET_VERSION): Remove.
8603 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
8604 * config/mips/vxworks.h (TARGET_VERSION): Remove.
8605 * config/mmix/mmix.h (TARGET_VERSION): Remove.
8606 * config/mn10300/linux.h (TARGET_VERSION): Remove.
8607 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
8608 * config/pa/pa.h (TARGET_VERSION): Remove.
8609 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
8610 * config/picochip/picochip.h (TARGET_VERSION): Remove.
8611 * config/rs6000/aix.h (TARGET_VERSION): Remove.
8612 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
8613 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
8614 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
8615 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
8616 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
8617 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
8618 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
8619 * config/rs6000/linux.h (TARGET_VERSION): Remove.
8620 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
8621 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
8622 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
8623 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
8624 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
8625 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
8626 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
8627 * config/s390/linux.h (TARGET_VERSION): Remove.
8628 * config/s390/s390.h (TARGET_VERSION): Remove.
8629 * config/s390/tpf.h (TARGET_VERSION): Remove.
8630 * config/score/score.h (TARGET_VERSION): Remove.
8631 * config/sh/linux.h (TARGET_VERSION): Remove.
8632 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
8633 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
8634 * config/sh/sh.h (TARGET_VERSION): Remove.
8635 * config/sh/sh64.h (TARGET_VERSION): Remove.
8636 * config/sh/superh.h (TARGET_VERSION): Remove.
8637 * config/sh/vxworks.h (TARGET_VERSION): Remove.
8638 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
8639 * config/sparc/linux.h (TARGET_VERSION): Remove.
8640 * config/sparc/linux64.h (TARGET_VERSION): Remove.
8641 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
8642 TARGET_NAME32, TARGET_NAME): Remove.
8643 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
8644 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
8645 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
8646 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
8647 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
8648 * config/spu/spu.h (TARGET_VERSION): Remove.
8649 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
8650 * config/v850/v850.h (TARGET_VERSION): Remove.
8651 * config/vax/linux.h (TARGET_VERSION): Remove.
8652 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
8653 * config/xtensa/elf.h (TARGET_VERSION): Remove.
8654 * config/xtensa/linux.h (TARGET_VERSION): Remove.
8655
ace31bca
EB
86562011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8657
8658 PR target/48142
8659 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
8660 frame-related from frame-unrelated adjustments to the stack pointer.
8661
76f9db36
JJ
86622011-03-31 Jakub Jelinek <jakub@redhat.com>
8663
8664 * common.opt (fdebug-types-section): Move earlier.
8665 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
8666
b7826465
AT
86672011-03-31 Andreas Tobler <andreast@fgznet.ch>
8668
8669 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
8670 var.
8671
1290e54c
NF
86722011-03-30 Nathan Froyd <froydnj@codesourcery.com>
8673
8674 * tree.h (CASE_CHAIN): Define.
8675 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
8676 (gimple_redirect_edge_and_branch): Likewise.
8677
bddc98e1
VM
86782011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8679
8680 PR middle-end/48367
8681 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
8682 calculation.
8683
c865e437
JL
86842011-03-30 Jeff Law <law@redhat.com>
8685
b3750213 8686 * PR bootstrap/48371
c865e437
JL
8687 * reload1.c (reload): Fix botch in last change.
8688
8689 * reload.h (struct reload): Fix typo introduced in last change.
8690
2cdf9574
JM
86912011-03-30 Joseph Myers <joseph@codesourcery.com>
8692
8693 * config/arm/arm.opt (mhard-float, msoft-float): Mark
8694 Undocumented. Remove help text.
8695 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
8696 -mhard-float.
8697
666a21a2
JM
86982011-03-30 Joseph Myers <joseph@codesourcery.com>
8699
8700 * doc/options.texi (NegativeAlias): Document.
8701 (Alias): Mention NegativeAlias.
8702 * opt-functions.awk: Handle NegativeAlias.
e9c18386 8703 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
8704 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
8705 * opts.h (CL_NEGATIVE_ALIAS): Define.
8706 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
8707 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
8708 OPT_mspe_.
8709 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
8710 Alias entries.
8711 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
8712 mno-spe and mno-isel instead of mspe=no and -misel=no.
8713
0fa4e351
MW
87142011-03-29 Mark Wielaard <mjw@redhat.com>
8715
8716 * common.opt (fdebug-types-section): New flag.
8717 * doc/invoke.texi: Document new -fno-debug-types-section flag.
8718 * dwarf2out.c (use_debug_types): New define.
8719 (struct die_struct): Mark die_id with GTY desc use_debug_types.
8720 (print_die): Guard output of type unit signatures using
8721 use_debug_types.
8722 (build_abbrev_table): Replace assert of dwarf_version >= 4
8723 with assert on use_debug_types.
8724 (size_of_die): Likewise.
8725 (unmark_dies): Likewise.
8726 (value_format): Decide AT_ref_external form on use_debug_types.
8727 (output_die): Replace dwarf_version version check guard with
8728 use_debug_types where appropriate.
8729 (modified_type_die): Likewise.
8730 (gen_reference_type_die): Likewise.
8731 (dwarf2out_start_source_file): Likewise.
8732 (dwarf2out_end_source_file): Likewise.
8733 (prune_unused_types_walk_attribs): Likewise.
8734 (dwarf2out_finish): Likewise.
8735
4648deb4
VM
87362011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8737
8738 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
8739
4f431835
RS
87402011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8741
8742 PR rtl-optimization/48332
8743 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
8744 mode of input operand N and modeN to its actual mode.
8745
f2034d06
JL
87462011-03-30 Jeff Law <law@redhat.com>
8747
8748 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
8749 define accessor macro.
8750 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
8751 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
8752 (reg_equiv_init): Likewise.
8753 (reg_equivs_size): New variable.
8754 (reg_equiv_init_size): Remove.
8755 (allocate_initial_values): Move prototype to here from....
8756 * integrate.h (allocate_initial_values): Remove prototype.
8757 * integrate.c: Include reload.h.
8758 (allocate_initial_values): Corresponding changes.
8759 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
8760 (fix_reg_equiv_init, no_equiv): Corresponding changes.
8761 (update_equiv_regs): Corresponding changes.
8762 (ira): Corresponding changes.
8763 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
8764 (push_secondary_reload): Corresponding changes.
8765 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
8766 (make_memloc, find_reloads_address): Corresponding changes.
8767 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
8768 (find_reloads_address_1): Corresponding changes.
8769 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
8770 (refers_to_regno_for_reload_p): Corresponding changes.
8771 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
8772 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
8773 * reload1.c: Include ggc.h.
8774 (grow_reg_equivs): New function.
8775 (replace_pseudos_in, reload): Corresponding changes.
8776 (calculate_needs_all_insns, alter_regs): Corresponding changes.
8777 (eliminate_regs_1, elimination_effects): Corresponding changes.
8778 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
8779 (delete_output_reload): Likewise.
8780 * caller-save.c (mark_referenced_regs): Corresponding changes.
8781 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
8782 * frv/predicates.md (frv_load_operand): Corresponding changes.
8783 * microblaze/microblaze.c (double_memory_operand): Corresponding
8784 changes.
8785 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
8786 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 8787 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
8788 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
8789 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
8790 changes.
8791 * pa/pa.c (emit_move_sequence): Corresponding changes.
8792 * vax/vax.c (nonindexed_address_p): Corresponding changes.
8793
159b81b0
RS
87942011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8795
8796 PR target/47551
8797 * config/arm/arm.c (coproc_secondary_reload_class): Handle
8798 structure modes. Don't check neon_vector_mem_operand for
8799 vector or structure modes.
8800
a6217191
RS
88012011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8802 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8803
8804 PR target/43590
8805 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
8806 operand 1 and reshuffle the operands to match.
8807 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
8808
bd837408
CS
88092011-03-30 Christian Schüler <cschueler@gmx.de>
8810
6955d771 8811 PR driver/48208
bd837408 8812 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 8813
6955d771 8814 PR driver/48260
bd837408
CS
8815 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
8816 handler function.
8817 * config/darwin.opt: Added '-arch' option.
8818
e9c0470a
NC
88192011-03-30 Nick Clifton <nickc@redhat.com>
8820
8821 * config/rx/rx.md: Add peepholes and patterns to combine
8822 extending loads and simple arithmetic instructions.
8823 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
8824 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
8825 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 8826 modes to use pre-decrement and post-increment addressing.
e9c18386 8827 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 8828 addresses.
e9c18386
UB
8829 (rx_print_operand): Add support for %Q. Fix handling of %Q.
8830 (rx_memory_move_cost): Adjust cost of stores.
8831 (rx_adjust_insn_length): New function.
e9c0470a 8832
8a87e7ab
JJ
88332011-03-30 Jakub Jelinek <jakub@redhat.com>
8834
8835 PR c/48305
8836 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
8837 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
8838 matching arg00/arg01 types.
8839
12486e03
EB
88402011-03-30 Eric Botcazou <ebotcazou@adacore.com>
8841
8842 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
8843 last_location to UNKNOWN_LOCATION.
8844
0b99eef6
L
88452011-03-30 H.J. Lu <hongjiu.lu@intel.com>
8846
8847 PR target/48349
8848 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
8849 FLOAT_SSE_REGS.
8850
023592aa
JM
88512011-03-30 Joseph Myers <joseph@codesourcery.com>
8852 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8853
8854 PR bootstrap/48337
8855 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
8856 Init(PROCESSOR_V7).
8857 (sparc_cpu): Likewise.
8858 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
8859 PROCESSOR_V7.
8860
ad3b266b
VM
88612011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8862
8863 PR target/48336
8864 PR middle-end/48342
8865 PR rtl-optimization/48345
8866 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
8867 hard regs for given mode from profitable regs when doing secondary
8868 allocation.
8869
633c9126
JL
88702011-03-29 Jeff Law <law@redhat.com>
8871
8872 PR bootstrap/48327
8873 * tree-ssa-threadupdate.c (struct redirection_data): Remove
8874 do_not_duplicate field.
8875 (lookup_redirection_data): Corresponding changes.
8876 (create_duplicates): Always create a template block.
8877 (redirect_edges): Remove code which reused the original block
8878 when it was going to become unreachable code.
8879 (thread_block): Don't set do_not_duplicate field.
8880
eb50f63a
JM
88812011-03-29 Joseph Myers <joseph@codesourcery.com>
8882
8883 * lto-opts.c (register_user_option_p, lto_register_user_option):
8884 Make type argument unsigned.
8885 * lto-streamer.h (lto_register_user_option): Make type argument
8886 unsigned.
8887 * opth-gen.awk: Make CL_* macros unsigned.
8888 * opts-common.c (find_opt): Make lang_mask argument unsigned.
8889 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
8890 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
8891 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
8892 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
8893 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
8894 (find_opt): Make lang_mask argument unsigned.
8895
76763a6d
VM
88962011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8897
8898 PR rtl-optimization/48331
8899 PR rtl-optimization/48334
8900 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
8901 for any used algorithm.
8902
5c82436e
VM
89032011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8904
8905 * ira-conflicts.c (build_object_conflicts): Add unused attribute
8906 to parent_max.
8907
7a81008b
UB
89082011-03-29 Uros Bizjak <ubizjak@gmail.com>
8909
8910 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
8911 (alpha_option_override): Don't set alpha_sr_alias_set.
8912 (emit_frame_store_1): Use gen_frame_mem rather than calling
8913 set_mem_alias_set.
8914 (alpha_expand_epilogue): Ditto.
8915
86c8d1f6
IR
89162011-03-29 Ira Rosen <ira.rosen@linaro.org>
8917
8918 PR tree-optimization/48290
8919 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
8920 vectorization, check that relevant phis in the basic block after
8921 the inner loop are really inner loop's exit phis.
8922
0d12220f
RS
89232011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
8924
e8cf17e7 8925 PR debug/48190
0d12220f
RS
8926 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
8927 (cached_dw_loc_list_def): New structure.
8928 (cached_dw_loc_list): New typedef.
8929 (cached_dw_loc_list_table): New variable.
8930 (cached_dw_loc_list_table_hash): New function.
8931 (cached_dw_loc_list_table_eq): Likewise.
8932 (add_location_or_const_value_attribute): Take a bool cache_p.
8933 Cache the list when the parameter is true.
8934 (gen_formal_parameter_die): Update caller.
8935 (gen_variable_die): Likewise.
8936 (dwarf2out_finish): Likewise.
8937 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
8938 while generating debug info for the decl.
8939 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
8940 (dwarf2out_init): Initialize cached_dw_loc_list_table.
8941 (resolve_addr): Cache the result of resolving a chain of
8942 location lists.
8943
1756cb66
VM
89442011-03-28 Vladimir Makarov <vmakarov@redhat.com>
8945
8946 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
8947 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 8948
1756cb66
VM
8949 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
8950 after regstat_init_n_sets_and_refs.
8951
8952 * ira.c: Add more comments at the top.
8953 (setup_stack_reg_pressure_class, setup_pressure_classes):
8954 Add comments how we compute the register pressure classes.
8955 (setup_allocno_and_important_classes): Add more comments.
8956 (setup_class_translate_array, reorder_important_classes)
8957 (setup_reg_class_relations): Add comments.
8958
8959 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
8960 start of the file.
8961
8962 * ira-color.c: Add 2011 to the Copyright line.
8963 (assign_hard_reg): Add more comments.
8964 (improve_allocation): Ditto.
8965
8966 * ira-costs.c: Add 2011 to the Copyright line.
8967 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
8968 comments.
8969 (setup_regno_cost_classes_by_mode): Ditto.
8970
8971 Initial patches from ira-improv branch:
8972
8973 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
8974
f60c2554 8975 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
8976 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
8977 (ira_create_allocno): Remove initialization of
8978 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
8979 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
8980 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
8981 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
8982 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
8983 Initialize ALLOCNO_ADD_DATA.
8984 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
8985 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
8986 ALLOCNO_REG.
8987 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
8988 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
8989
8990 * ira.c (ira_reallocate): Remove.
8991 (setup_pressure_classes): Call
8992 ira_init_register_move_cost_if_necessary. Use
8993 ira_register_move_cost instead of ira_get_register_move_cost.
8994 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
8995 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
8996
8997 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
8998 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
8999 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
9000 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
9001 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
9002 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
9003 Fix formatting.
7a81008b 9004 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
9005 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
9006 (struct allocno_color_data): New.
9007 (allocno_color_data_t): New typedef.
9008 (allocno_color_data): New definition.
9009 (ALLOCNO_COLOR_DATA): New macro.
9010 (struct object_color_data): New.
9011 (object_color_data_t): New typedef.
9012 (object_color_data): New definition.
9013 (OBJECT_COLOR_DATA): New macro.
9014 (update_copy_costs, calculate_allocno_spill_cost): Call
9015 ira_init_register_move_cost_if_necessary. Use
9016 ira_register_move_cost instead of ira_get_register_move_cost.
9017 (move_spill_restore, update_curr_costs): Ditto.
9018 (allocno_spill_priority): Make it inline.
7a81008b 9019 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
9020 (struct coalesce_data, coalesce_data_t): New.
9021 (allocno_coalesce_data): New definition.
9022 (ALLOCNO_COALESCE_DATA): New macro.
9023 (merge_allocnos, coalesced_allocno_conflict_p): Use
9024 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
9025 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
9026 (coalesce_allocnos): Ditto.
9027 (setup_coalesced_allocno_costs_and_nums): Ditto.
9028 (collect_spilled_coalesced_allocnos): Ditto.
9029 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
9030 (setup_slot_coalesced_allocno_live_ranges): Ditto.
9031 (coalesce_spill_slots): Ditto.
9032 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
9033 free allocno_coalesce_data.
9034
9035 * ira-conflicts.c: Fix formatting.
9036 (process_regs_for_copy): Call
9037 ira_init_register_move_cost_if_necessary. Use
9038 ira_register_move_cost instead of ira_get_register_move_cost.
9039 (build_object_conflicts): Optimize.
9040
9041 * ira-costs.c (record_reg_classes): Optimize. Call
9042 ira_init_register_move_cost_if_necessary. Use
9043 ira_register_move_cost, ira_may_move_in_cost, and
9044 ira_may_move_out_cost instead of ira_get_register_move_cost and
9045 ira_get_may_move_cost.
9046 (record_address_regs): Ditto.
9047 (scan_one_insn): Optimize.
9048 (find_costs_and_classes): Optimize.
9049 (process_bb_node_for_hard_reg_moves): Call
9050 ira_init_register_move_cost_if_necessary. Use
9051 ira_register_move_cost instead of ira_get_register_move_cost.
9052
9053 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
9054 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
9055 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
9056 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
9057 definitions.
9058 (ira_initiate_emit_data, ira_finish_emit_data)
9059 (create_new_allocno): New functions.
7a81008b 9060 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
9061 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
9062 Use ira_register_move_cost instead of ira_get_register_move_cost.
9063
9064 * ira-int.h: Fix some comments.
7a81008b
UB
9065 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
9066 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
9067 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
9068 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
9069 add_data.
9070 (struct ira_allocno): Make mode and aclass a bitfield. Move other
9071 bitfield after mode. Make hard_regno a short int. Make
9072 hard_regno short. Remove first_coalesced_allocno and
9073 next_coalesced_allocno. Move mem_optimized_dest_p,
9074 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
9075 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
9076 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
9077 temp, colorable_p. Add new member add_data.
9078 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
9079 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
9080 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
9081 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
9082 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
9083 (ALLOCNO_ADD_DATA): New macro.
9084 (ira_emit_data_t): New typedef.
9085 (struct ira_emit_data): New. Move mem_optimized_dest_p,
9086 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
9087 from struct ira_allocno.
9088 (ALLOCNO_EMIT_DATA): New macro.
9089 (ira_allocno_emit_data, allocno_emit_reg): New.
9090 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 9091 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
9092 (OBJECT_ADD_DATA): New macro.
9093 (ira_reallocate): Remove.
9094 (ira_initiate_emit_data, ira_finish_emit_data): New.
9095 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
9096 (ira_init_register_move_cost_if_necessary): New.
9097 (ira_object_conflict_iter_next): Merge into
9098 ira_object_conflict_iter_cond.
7a81008b 9099 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 9100
f60c2554 9101 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
9102 ira_init_register_move_cost_if_necessary. Use
9103 ira_register_move_cost instead of ira_get_register_move_cost.
9104
9105 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
9106
9107 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
9108
9109 * ira-costs.c: Fix formatting.
9110 (cost_classes, cost_classes_num): Remove.
9111 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
9112 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
9113 (cost_classes_del, cost_classes_htab): New.
9114 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
9115 (initiate_regno_cost_classes, setup_cost_classes): New.
9116 (setup_regno_cost_classes_by_aclass): New.
7a81008b 9117 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
9118 (record_reg_classes): Use regno_cost_classes instead of
9119 cost_classes. Move checking opposite operand up.
9120 (record_address_regs): Use regno_cost_classes
9121 instead of cost_classes.
9122 (scan_one_insn): Ditto. Use always general register.
9123 (print_allocno_costs): Use regno_cost_classes instead of
9124 cost_classes.
9125 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
9126 (find_costs_and_classes): Set up cost classes for each registers.
9127 Use also their mode for this. Use regno_cost_classes instead of
9128 cost_classes.
9129 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
9130 cost_classes.
9131 (free_ira_costs, ira_init_costs): Don't use cost_classes.
9132 (ira_costs, ira_set_pseudo_classes): Call
9133 initiate_regno_cost_classes and finish_regno_cost_classes.
9134
9135 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
9136
9137 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
9138
9139 * target.def (ira_cover_classes): Remove.
9140
7a81008b 9141 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
9142
9143 * doc/tm.texi.in: Ditto.
9144
9145 * ira-conflicts.c: Remove mentioning cover classes from the file.
9146 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 9147 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
9148
9149 * targhooks.c (default_ira_cover_classes): Remove.
9150
9151 * targhooks.h (default_ira_cover_classes): Ditto.
9152
9153 * haifa-sched.c: Remove mentioning cover classes from the file.
9154 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
9155 ira_pressure_classes and ira_pressure_classes_num instead of
9156 ira_reg_class_cover_size and ira_reg_class_cover. Use
9157 sched_regno_pressure_class instead of sched_regno_cover_class.
9158 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
9159 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9160
9161 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
9162 classes from the file.
9163 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
9164 (struct object_hard_regs, struct object_hard_regs_node): New.
9165 (struct ira_object): New members profitable_hard_regs,
9166 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
9167 (struct ira_allocno): Rename cover_class to aclass. Rename
9168 cover_class_cost and updated_cover_class_cost to class_cost and
9169 updated_class_cost. Remove splay_removed_p and
9170 left_conflict_size. Add new members colorable_p.
9171 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
9172 (ALLOCNO_COLORABLE_P): New macro.
9173 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
9174 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
9175 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
9176 (OBJECT_...): Rename parameter C to O.
9177 (OBJECT_PROFITABLE_HARD_REGS): New macro.
9178 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
9179 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
9180 (struct target_ira_int): New members x_ira_max_memory_move_cost,
9181 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
9182 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
9183 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
9184 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
9185 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
9186 x_ira_reg_class_subunion.
9187 (ira_max_memory_move_cost, ira_max_register_move_cost)
9188 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
9189 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
9190 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 9191 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
9192 (ira_reg_class_union): Rename to ira_reg_class_subunion.
9193 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
9194 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
9195 (ira_tune_allocno_costs_and_cover_classes): Rename to
9196 ira_tune_allocno_costs.
9197 (ira_debug_hard_regs_forest): New.
9198 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
9199 (ira_object_conflict_iter_next): Fix comments.
7a81008b 9200 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
9201 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
9202 cover_class to aclass.
9203 (ira_allocate_and_accumulate_costs): Ditto.
9204 (ira_allocate_and_set_or_copy_costs): Ditto.
9205
9206 * opts.c (decode_options): Remove ira_cover_class check.
9207
9208 * ira-color.c: Remove mentioning cover classes from the file. Use
9209 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
9210 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
9211 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
9212 (splay-tree.h): Remove include.
9213 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
9214 before copy_freq_compare_func.
9215 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
9216 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
9217 New definitions.
9218 (hard_regs_roots, hard_regs_node_vec): Ditto.
9219 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
9220 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
9221 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
9222 (create_new_object_hard_regs_node): Ditto.
9223 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 9224 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
9225 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
9226 Ditto.
9227 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
9228 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
9229 (remove_unused_object_hard_regs_nodes): Ditto.
9230 (enumerate_object_hard_regs_nodes): Ditto.
9231 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
9232 (object_hard_regs_subnode_t): Ditto.
9233 (struct object_hard_regs_subnode): Ditto.
9234 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
9235 (setup_object_hard_regs_subnode_index): Ditto.
9236 (get_object_hard_regs_subnodes_num): Ditto.
9237 (form_object_hard_regs_nodes_forest): Ditto.
9238 (finish_object_hard_regs_nodes_tree): Ditto.
9239 (finish_object_hard_regs_nodes_forest): Ditto.
9240 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 9241 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
9242 (pseudos_have_intersected_live_ranges_p): Rename to
9243 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
9244 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
9245 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
9246 (update_copy_costs): Remove assert. Skip cost update if the hard
9247 reg does not belong the class.
9248 (assign_hard_reg): Process only profitable hard regs.
9249 (uncolorable_allocnos_num): Make it scalar.
9250 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
9251 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
9252 and ira_reg_class_max_nregs.
9253 (bucket_allocno_compare_func): Check frequency first.
9254 (sort_bucket): Add compare function as a parameter.
9255 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
9256 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
9257 (push_allocno_to_stack): Rewrite for checking new allocno
9258 colorability.
7a81008b 9259 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
9260 (push_only_colorable): Pass new parameter to sort_bucket.
9261 (push_allocno_to_spill): Remove.
9262 (allocno_spill_priority_compare): Make it inline and rewrite.
9263 (splay_tree_allocate, splay_tree_free): Remove.
9264 (allocno_spill_sort_compare): New function.
9265 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
9266 build and use splay tree. Choose first allocno in uncolorable
9267 allocno bucket to spill. Remove setting spill cost.
9268 (all_conflicting_hard_regs): Remove.
9269 (setup_allocno_available_regs_num): Check only profitable hard
9270 regs. Print info about hard regs nodes.
9271 (setup_allocno_left_conflicts_size): Remove.
9272 (put_allocno_into_bucket): Don't call
7a81008b 9273 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
9274 (improve_allocation): New.
9275 (color_allocnos): Call setup_profitable_hard_regs,
9276 form_object_hard_regs_nodes_forest, improve_allocation,
9277 finish_object_hard_regs_nodes_forest. Setup spill cost.
9278 (print_loop_title): Use pressure classes.
9279 (color_allocnso): Ditto.
9280 (do_coloring): Remove allocation and freeing splay_tree_node_pool
9281 and allocnos_for_spilling.
9282 (ira_sort_regnos_for_alter_reg): Don't setup members
9283 {first,next}_coalesced_allocno.
9284 (color): Remove allocating and freeing removed_splay_allocno_vec.
9285 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
9286 prohibited_class_mode_regs.
9287
9288 * ira-lives.c: Remove mentioning cover classes from the file. Fix
9289 formatting.
9290 (update_allocno_pressure_excess_length): Use pressure classes.
9291 (inc_register_pressure, dec_register_pressure): Check for pressure
9292 class.
9293 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
9294 pressure class. Use ira_reg_class_nregs instead of
9295 ira_reg_class_max_nregs.
9296 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
9297 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
9298 (single_reg_class): Use ira_reg_class_nregs instead of
9299 ira_reg_class_max_nregs.
9300 (process_bb_node_lives): Use pressure classes.
9301
9302 * ira-emit.c: Remove mentioning cover classes from the file. Use
9303 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
9304 (change_loop): Use pressure classes.
9305 (modify_move_list): Call ira_set_allocno_class instead of
9306 ira_set_allocno_cover_class.
9307
9308 * ira-build.c: Remove mentioning cover classes from the file. Use
9309 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
9310 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
9311 ALLOCNO_UPDATED_CLASS_COST instead of
9312 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
9313 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
9314 (ira_create_allocno): Remove initialization of
9315 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
9316 ALLOCNO_COLORABLE_P.
9317 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
9318 Update conflict regs for the objects.
9319 (create_cap_allocno): Remove assert. Don't propagate
9320 ALLOCNO_AVAILABLE_REGS_NUM.
9321 (ira_free_allocno_costs): New function.
9322 (finish_allocno): Change a part of code into call of
9323 ira_free_allocno_costs.
9324 (low_pressure_loop_node_p): Use pressure classes.
9325 (object_range_compare_func): Don't compare classes.
9326 (setup_min_max_conflict_allocno_ids): Ditto.
9327
9328 * loop-invariant.c: Remove mentioning cover classes from the file.
9329 Use ira_pressure_classes and ira_pressure_classes_num instead of
9330 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
9331 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
9332 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9333 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
9334 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
9335 STACK_REG_COVER_CLASS.
9336 (get_regno_cover_class): Rename to get_regno_pressure_class.
9337 (move_loop_invariants): Initialize and finalize regstat.
9338
9339 * ira.c: Remove mentioning cover classes from the file. Add
9340 comments about coloring without cover classes. Use ALLOCNO_CLASS
9341 instead of ALLOCNO_COVER_CLASS. Fix formatting.
9342 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
9343 setup_class_subset_and_memory_move_costs.
9344 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
9345 (setup_cover_and_important_classes): Rename to
9346 setup_allocno_and_important_classes.
9347 (setup_class_translate_array): New.
9348 (setup_class_translate): Call it for allocno and pressure classes.
9349 (cover_class_order): Rename to allocno_class_order.
9350 (comp_reg_classes_func): Use ira_allocno_class_translate instead
9351 of ira_class_translate.
9352 (reorder_important_classes): Set up ira_important_class_nums.
9353 (setup_reg_class_relations): Set up ira_reg_class_superunion.
9354 (print_class_cover): Rename to print_classes. Add parameter.
9355 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
9356 Print pressure classes too.
9357 (find_reg_class_closure): Rename to find_reg_classes. Don't call
9358 setup_reg_subclasses.
7a81008b 9359 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
9360 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
9361 (setup_prohibited_class_mode_regs): Use
7a81008b 9362 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
9363 (clarify_prohibited_class_mode_regs): New function.
9364 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
9365 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
9366 (ira_init_once): Initialize them.
9367 (free_register_move_costs): Process them.
9368 (ira_init): Move calls of find_reg_classes and
9369 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
9370 Call clarify_prohibited_class_mode_regs.
9371 (ira_no_alloc_reg): Remove.
9372 (too_high_register_pressure_p): Use pressure classes.
9373
9374 * sched-deps.c: Remove mentioning cover classes from the file.
9375 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
9376 ira_pressure_classes and ira_pressure_classes_num instead of
9377 ira_reg_class_cover_size and ira_reg_class_cover.
9378 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
9379 sched_regno_pressure_class instead of sched_regno_cover_class.
9380 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
9381 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9382
9383 * ira.h: Add 2010 to Copyright.
9384 (ira_no_alloc_reg): Remove external.
9385 (struct target_ira): Rename x_ira_hard_regno_cover_class,
9386 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
9387 x_ira_class_translate to x_ira_hard_regno_allocno_class,
9388 x_ira_allocno_classes_num, x_ira_allocno_classes, and
9389 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
9390 x_ira_pressure_classes, x_ira_pressure_class_translate, and
9391 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
9392 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
9393 x_ira_no_alloc_regs.
7a81008b 9394 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
9395 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
9396 ira_allocno_classes_num and ira_allocno_classes.
9397 (ira_class_translate): Rename to ira_allocno_class_translate.
9398 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
9399 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
9400 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
9401 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
9402 (ira_no_alloc_regs): New.
9403
9404 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
9405 classes from the file. Use ALLOCNO_CLASS instead of
9406 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
9407 ALLOCNO_COVER_CLASS_COST.
9408 (regno_cover_class): Rename to regno_aclass.
9409 (record_reg_classes): Use ira_reg_class_subunion instead of
9410 ira_reg_class_union.
9411 (record_address_regs): Check overflow.
9412 (scan_one_insn): Ditto.
7a81008b 9413 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
9414 (print_pseudo_costs): Use REG_N_REFS.
9415 (find_costs_and_classes): Use classes intersected with them on the
9416 1st pass. Check overflow. Use ira_reg_class_subunion instead of
9417 ira_reg_class_union. Use ira_allocno_class_translate and
9418 regno_aclass instead of ira_class_translate and regno_cover_class.
9419 Modify code for finding regno_aclass. Setup preferred classes for
9420 the next pass.
9421 (setup_allocno_cover_class_and_costs): Rename to
9422 setup_allocno_class_and_costs. Use regno_aclass instead of
9423 regno_cover_class. Use ira_set_allocno_class instead of
9424 ira_set_allocno_cover_class.
9425 (init_costs, finish_costs): Use regno_aclass instead of
9426 regno_cover_class.
9427 (ira_costs): Use setup_allocno_class_and_costs instead of
9428 setup_allocno_cover_class_and_costs.
9429 (ira_tune_allocno_costs_and_cover_classes): Rename to
9430 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
9431 by processing objects. Use ira_reg_class_max_nregs instead of
9432 ira_reg_class_nregs.
9433
9434 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
9435
9436 * sched-int.h: Remove mentioning cover classes from the file.
9437 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
9438
9439 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
9440 classes from the file.
9441 (struct reg_pref): Rename coverclass into allocnoclass.
9442 (reg_cover_class): Rename to reg_allocno_class.
9443
7a81008b 9444 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
9445
9446 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
9447
9448 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
9449
9450 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
9451
9452 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
9453
9454 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
9455
9456 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
9457
9458 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
9459
9460 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
9461
9462 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
9463
9464 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
9465 (i386_ira_cover_classes): Ditto.
9466
9467 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
9468
9469 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
9470
9471 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
9472
9473 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
9474
9475 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
9476
9477 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
9478
9479 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
9480 (mips_ira_cover_classes): Ditto.
9481
9482 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
9483
9484 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
9485
9486 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
9487
9488 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
9489
9490 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
9491
9492 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
9493 (IRA_COVER_CLASSES_VSX): Ditto.
9494
9495 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
9496 (rs6000_ira_cover_classes): Ditto.
9497
9498 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
9499
9500 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
9501
9502 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
9503
9504 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
9505
9506 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
9507
9508 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
9509
9510 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
9511
9512 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
9513
9514 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
9515
9516 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
9517
2b80199f
JJ
95182011-03-29 Jakub Jelinek <jakub@redhat.com>
9519
71dae1fe
JJ
9520 PR debug/48253
9521 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
9522 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
9523 dw_fde_unlikely_section_end_label, cold_in_std_section,
9524 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
9525 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
9526 fields.
9527 (output_fde): Use dw_fde_second_{begin,end} if second is
9528 true, otherwise dw_fde_{begin,end}.
9529 (output_call_frame_info): Test dw_fde_second_begin != NULL
9530 instead of dw_fde_switched_sections.
9531 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
9532 fields, initialize new fields. Initialize in_std_section
9533 unconditionally from the first partition.
9534 (dwarf2out_end_epilogue): Don't override dw_fde_end when
9535 dw_fde_second_begin is non-NULL.
9536 (dwarf2out_switch_text_section): Stop initializing removed
9537 dw_fde_struct fields, initialize new fields, initialize
9538 also dw_fde_end here. Set dw_fde_switch_cfi even when
9539 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
9540 (struct var_loc_list_def): Add last_before_switch field.
9541 (arange_table, arange_table_allocated, arange_table_in_use,
9542 ARANGE_TABLE_INCREMENT, add_arange): Removed.
9543 (size_of_aranges): Count !in_std_section and !second_in_std_section
9544 hunks in fdes, instead of looking at arange_table_in_use.
9545 (output_aranges): Add aranges_length argument, don't call
9546 size_of_aranges here. Instead of using aranges_table*
9547 emit ranges for fdes when !in_std_section resp.
9548 !second_in_std_section.
9549 (dw_loc_list): Break ranges crossing section switch.
9550 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 9551 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
9552 (gen_subprogram_die): Don't call add_arange. Use
9553 dw_fde_{begin,end} for first partition and if switched
9554 section dw_fde_second_{begin,end} for the second.
9555 (var_location_switch_text_section_1,
9556 var_location_switch_text_section): New functions.
9557 (dwarf2out_begin_function): Initialize cold_text_section even
9558 when function_section () isn't text_section.
9559 (prune_unused_types): Don't walk arange_table.
9560 (dwarf2out_finish): Don't needlessly test
9561 flag_reorder_blocks_and_partition when testing cold_text_section_used.
9562 If info_section_emitted, call size_of_aranges and if it indicates
9563 non-empty .debug_aranges, call output_aranges with the computed
9564 size. Stop using removed dw_fde_struct fields, use
9565 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
9566 for second.
9567
2b80199f
JJ
9568 PR debug/48203
9569 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
9570 create ENTRY_VALUE if incoming or address of incoming's MEM
9571 is a hard REG.
9572 * dwarf2out.c (mem_loc_descriptor): Don't emit
9573 DW_OP_GNU_entry_value of DW_OP_fbreg.
9574 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
9575 on ENTRY_VALUE is able to find the canonical parameter VALUE.
9576 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
9577 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
9578 ENTRY_VALUE_EXPs.
9579 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
9580 is a REG_P or MEM_P with REG_P address, compute hash directly
9581 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
9582 (preserve_only_constants): Don't clear VALUES forwaring
9583 ENTRY_VALUE to some other VALUE.
9584
8a445129
RS
95852011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
9586
9587 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
9588 instead of GEN_INT.
9589
c82fee88
EB
95902011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9591
9592 * cfgexpand.c (expand_gimple_cond): Always set the source location and
9593 block before expanding the statement.
9594 (expand_gimple_stmt_1): Likewise. Set them here...
9595 (expand_gimple_stmt): ...and not here. Tidy.
9596 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
9597 unknown.
9598
e45425ec
SB
95992011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9600
9601 * Makefile.in: New rule for cprop.o.
9602 * gcse.c: Move constant/copy propagation to cprop.c.
9603 (compute_local_properties): Only handle expression tables.
9604 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
9605 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
9606 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
9607 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 9608 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
9609 compute_cprop_data, find_used_regs, try_replace_reg,
9610 find_avail_set, cprop_jump, constprop_register, cprop_insn,
9611 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
9612 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
9613 find_bypass_set, reg_killed_on_edge, bypass_block,
9614 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
9615 execute_rtl_cprop, pass_rtl_cprop): Move to...
9616 * cprop.c: ...here. New file, constant/copy propagation for RTL
9617 moved from gcse.c to here with minor cleanups in duplicated code.
9618
c09d5426
L
96192011-03-28 H.J. Lu <hongjiu.lu@intel.com>
9620
9621 * config/i386/i386.c (flag_opts): Fix a typo in
9622 -mavx256-split-unaligned-store.
9623
9eaa7740
AS
96242011-03-28 Anatoly Sokolov <aesok@post.ru>
9625
9626 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
9627 LIBCALL_VALUE): Remove macros.
9628 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9629 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9630 (h8300_function_value, h8300_libcall_value,
9631 h8300_function_value_regno_p): New functions.
9632
dcec2be2
AS
96332011-03-28 Anatoly Sokolov <aesok@post.ru>
9634
9635 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
9636
520af9ec
JL
96372011-03-28 Jeff Law <law@redhat.com>
9638
9639 * tree-ssa-threadupdate.c (redirect_edges): Call
9640 create_edge_and_update_destination_phis as needed.
9641 (create_edge_and_update_destination_phis): Accept new BB argument.
9642 All callers updated.
9643 (thread_block): Do not update the profile when threading around
9644 intermediate blocks.
9645 (thread_single_edge): Likewise.
9646 (determine_bb_domination_status): If BB is not a successor of the
9647 loop header, return NONDOMINATING.
9648 (register_jump_thread): Note when we register a jump thread around
9649 an intermediate block.
9650 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
9651 (thread_across_edge): Use it.
9652
7450b54f
TG
96532011-03-28 Tristan Gingold <gingold@adacore.com>
9654
9655 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
9656 when for_return is 2.
9657
649beb33
JL
96582011-03-28 Jeff Law <law@redhat.com>
9659
9660 * var-tracking.c (canonicalize_values_mark): Delete unused
9661 lhs assignment.
9662 (canonicalize_values_star, set_variable_part): Likewise.
9663 (clobber_variable_part, delete_variable_part): Likewise.
9664
d5b8da97
SB
96652011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9666
9667 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
9668
322dd859
MJ
96692011-03-28 Martin Jambor <mjambor@suse.cz>
9670
9671 * tree-inline.c (expand_call_inline): Do not check that destination
9672 node is analyzed.
9673 (optimize_inline_calls): Assert that destination node is analyzed.
9674 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
9675 not call tree_lowering_passes.
9676 * cgraph.h (cgraph_analyze_function): Declare.
9677 * cgraphunit.c (cgraph_analyze_function): Make public.
9678
aa53e58b
JM
96792011-03-28 Joseph Myers <joseph@codesourcery.com>
9680
9681 * config/sparc/sparc-opts.h: New.
9682 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
9683 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
9684 (sparc_option_override): Store processor_type enumeration rather
9685 than string in cpu_default. Remove name and enumeration from
9686 cpu_table. Directly default -mcpu then default -mtune from -mcpu
9687 without using sparc_select. Use target_flags_explicit instead of
9688 fpu_option_set.
9689 * config/sparc/sparc.h (enum processor_type): Move to
9690 sparc-opts.h.
9691 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
9692 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
9693 HeaderInclude entry.
9694 (mcpu=, mtune=): Use Var and Enum.
9695 (sparc_processor_type): New Enum and EnumValue entries.
9696
dd350eba
RO
96972011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9698 Iain Sandoe <iains@gcc.gnu.org>
9699
9700 PR target/48245
9701 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
9702
1b29f05e
EB
97032011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9704
9705 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
9706 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
9707 Insert new statements at it in lieu of STMT.
9708 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
9709 * tree-vect-stmts.c (vectorizable_store): Likewise.
9710 (vectorizable_load): Likewise.
9711
506e6808
UB
97122011-03-28 Uros Bizjak <ubizjak@gmail.com>
9713
9714 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
9715 (divtf3): Ditto.
9716 (multf3): Ditto.
9717 (subtf3): Ditto.
9718
2e939ee9
L
97192011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9720
9721 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
9722 unaligned 256bit load/store.
9723 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
9724 (*avx_movdqu<avxmodesuffix>): Likewise.
9725
5e85ab88
JDA
97262011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9727
9728 PR target/48288
9729 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
9730 * config/pa/pa.md (iordi3): Use new predicate in expander.
9731 (iorsi3): Likewise.
9732
47be3d6d
AS
97332011-03-27 Anatoly Sokolov <aesok@post.ru>
9734
506e6808 9735 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 9736 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
9737 * config/mips/mips-protos.h (mips_function_value): Remove.
9738 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
9739 (mips_function_value_1): ... this. Make static. Handle receiving
9740 the function type in 'fn_decl_or_type' argument.
9741 (mips_function_value, mips_libcall_value,
9742 mips_function_value_regno_p): New function.
9743 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9744 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9745
d253656a
L
97462011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9747
9748 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
9749 and -mavx256-split-unaligned-store.
9750 (ix86_option_override_internal): Split 32-byte AVX unaligned
9751 load/store by default.
9752 (ix86_avx256_split_vector_move_misalign): New.
9753 (ix86_expand_vector_move_misalign): Use it.
9754
9755 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
9756 -mavx256-split-unaligned-store.
9757
9758 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
9759 256bit load/store. Generate unaligned store on misaligned memory
9760 operand.
9761 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
9762 256bit load/store.
9763 (*avx_movdqu<avxmodesuffix>): Likewise.
9764
9765 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
9766 -mavx256-split-unaligned-store.
9767
1ea9206a
RS
97682011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9769
9770 PR target/38598
9771 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
9772 Update commentary.
9773
b99ce2a8
RS
97742011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9775
9776 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
9777 opno arguments with an expand_operand. Use create_input_operand.
9778 (mips_prepare_builtin_target): Delete.
9779 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
9780 functions.
9781 (mips_expand_builtin_direct): Use create_output_operand and
9782 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
9783 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
9784 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
9785
69d52339
IR
97862011-03-27 Ira Rosen <ira.rosen@linaro.org>
9787
9788 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
9789 function.
9790 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
9791
ba5e9aca
EB
97922011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9793
9794 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
9795 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
9796 basic blocks and call commit_edge_insertions directly.
9797 (fixup_abnormal_edges): Move from here to...
9798 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
9799 on the edges and return whether some have actually been inserted.
9800 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
9801 compensation code.
9802
5d369d58
AB
98032011-03-26 Andrey Belevantsev <abel@ispras.ru>
9804
9805 PR rtl-optimization/48144
9806 * sel-sched-ir.c (merge_history_vect): Factor out from ...
9807 (merge_expr_data): ... here.
9808 (av_set_intersect): Rename to av_set_code_motion_filter.
9809 Update all callers. Call merge_history_vect when an expression
9810 is found in both sets.
9811 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
9812
f082c000
AM
98132011-03-26 Alan Modra <amodra@gmail.com>
9814
9815 * config/rs6000/predicates.md (word_offset_memref_op): Handle
9816 cmodel medium addresses.
9817 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
9818 64-bit gpr loads and stores.
9819 (rs6000_secondary_reload_ppc64): New function.
9820 * config/rs6000/rs6000-protos.h: Declare it.
9821 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
9822
8ac5e12e
AM
98232011-03-26 Alan Modra <amodra@gmail.com>
9824
9825 PR target/47487
9826 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
9827 GNU Go in traceback table.
9828
c2654ded
RH
98292011-03-25 Richard Henderson <rth@redhat.com>
9830
9831 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
9832 if there are exactly 6 operands.
9833 (set_storage_via_setmem): Similarly.
9834
ba78087b
KT
98352011-03-25 Kai Tietz <ktietz@redhat.com>
9836
9837 * collect2.c (write_c_file_stat): Handle backslash
9838 as right-hand directory separator.
9839 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
9840 checking just for slash.
9841 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
9842 instead of checking for trailing slash.
9843 * gcc.c (record_temp_file): Use filename_cmp instead
9844 of strcmp.
9845 (do_spec_1): Likewise.
9846 (replace_outfile_spec_function): Likewise.
9847 (is_directory): Use filename_ncmp instead of strncmp.
9848 (print_multilib_info): Likewise.
9849 * gcov.c (find_source): Use filename_cmp instead
9850 instead of strcmp.
9851 (make_gcov_file_name): Fix order of slash/backslash
9852 checks.
9853 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
9854 (add_standard_paths): Likewise.
9855 * mips-tfile.c (saber_stop): Handle backslash.
9856 * prefix.c (update_path): Use filename_ncmp instead of
9857 strncmp.
9858 * profile.c (output_location): Use filename_cmp instead
9859 of strcmp.
9860 * read-md.c (handle_toplevel_file): Handle backslash.
9861 * tlink.c (frob_extension): Likewise.
9862 * tree-cfg.c (same_line_p): Use filename_cmp instead of
9863 strcmp.
9864 * tree-dump.c (dequeue_and_dump): Handle backslash.
9865 * tree.c (get_file_function_name): Likewise.
9866 * gengtype.c (read_input_list): Likewise.
9867 (get_file_realbasename): Likewise.
9868 (get_output_file_with_visibility): Use filename_cmp
9869 instead of strcmp.
9870
75f6ec9a
RS
98712011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
9872
9873 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
9874 case to VFPv1.
9875
6c4e2997
NF
98762011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9877
9878 * fold-const.c (expr_location_or): New function.
9879 (fold_truth_not_expr): Call it.
9880
0edf1bb2
JL
98812011-03-25 Jeff Law <law@redhat.com>
9882
9883 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
9884 va_end.
9885 * c-family/c-common.c (def_fn_type): Likewise.
9886 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
9887 * emit-rtl.c (gen_rtvec): Likewise.
9888 * lto/lto-lang.c (def_fn_type): Likewise.
9889
fdc2de95
RG
98902011-03-25 Richard Guenther <rguenther@suse.de>
9891
9892 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
9893 also generate copies.
9894 (fini_copy_prop): Handle constant values properly.
9895
21385db0
JJ
98962011-03-25 Jakub Jelinek <jakub@redhat.com>
9897
9898 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
9899 mode size instead of bitsize with DWARF2_ADDR_SIZE.
9900 (hash_loc_operands, compare_loc_operands): Handle
9901 DW_OP_GNU_entry_value.
9902
6510e8bb
KT
99032011-03-25 Kai Tietz <ktietz@redhat.com>
9904
9905 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
9906 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
9907 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
9908 comment and use macro TARGET_64BIT_MS_ABI instead.
9909 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
9910 and change default behavior for 32-bit MS_ABI.
9911 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
9912 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
9913 32-bit, too.
9914 (ix86_cfun_abi): Likewise.
9915 (ix86_maybe_switch_abi): Adjust comment.
9916 (init_cumulative_args): Check for bit-ness in MS_ABI case.
9917 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
9918 instead of checking for SYSV_ABI.
9919 (ix86_nsaved_sseregs): Likewise.
9920 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
9921 to 16 bytes.
9922 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
9923 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
9924 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
9925 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
9926 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
9927
34019e28
RG
99282011-03-25 Richard Guenther <rguenther@suse.de>
9929
9930 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
9931 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9932 (verify_gimple): Remove.
9933 * tree-cfg.c (verify_gimple_call): Merge verification
9934 from verify_stmts.
9935 (verify_gimple_phi): Merge verification from verify_stmts.
9936 (verify_gimple_label): New function.
9937 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
9938 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9939 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
9940 (verify_stmts): Rename to verify_gimple_in_cfg.
9941 (verify_gimple_in_cfg): New function.
9942 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
9943 * tree-ssa.c (verify_ssa): Likewise.
9944 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
9945
605896f5
RG
99462011-03-25 Richard Guenther <rguenther@suse.de>
9947
9948 * passes.c (init_optimization_passes): Add FRE pass after
9949 early SRA.
9950
7baa7c13
BS
99512011-03-25 Bernd Schmidt <bernds@codesourcery.com>
9952 Andrew Stubbs <ams@codesourcery.com>
9953
9954 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
9955 for Cortex-A8.
9956 (arm_movdi_vfp_cortexa8): New pattern.
9957 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
9958 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
9959 instructions when tuning for Cortex-A8. Set attribute "arch".
9960 * config/arm/arm.md: Move include arm-tune.md up a bit.
9961 (define_attr "arch"): Add "onlya8" and "nota8" values.
9962 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
9963
45dbce1b
NF
99642011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9965
4ff08abf 9966 PR bootstrap/48282
45dbce1b
NF
9967 Revert:
9968 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9969
9970 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
9971 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
9972 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
9973 * passes.c (init_optimization_passes): Move
9974 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
9975
ac9a30ae
KT
99762011-03-25 Kai Tietz <ktietz@redhat.com>
9977
9978 * c-typeck.c (comptypes_internal): Replace target
9979 hook call of comp_type_attributes by version in tree.c file.
9980 * gimple.c (gimple_types_compatible_p_1): Likewise.
9981 * tree-ssa.c (useless_type_conversion_p): Likewise.
9982 * tree.c (build_type_attribute_qual_variant): Likewise.
9983 (attribute_value_equal): New static helper function.
9984 (comp_type_attributes): New function.
9985 (merge_attributes): Use attribute_value_equal for comparison.
9986 (attribute_list_contained): Likewise.
9987 * tree.h (comp_type_attributes): New prototype.
9988
afdac116
RG
99892011-03-25 Richard Guenther <rguenther@suse.de>
9990
9991 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
9992 of complex types at -O0.
9993 (verify_gimple_assign_binary): Likewise.
9994 (verify_gimple_assign_ternary): Likewise.
9995
ec6165f8
MW
99962011-03-24 Mark Wielaard <mjw@redhat.com>
9997
9998 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
9999 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
10000
2a5ac39a
MW
100012011-03-24 Mark Wielaard <mjw@redhat.com>
10002
10003 PR debug/48041
10004 * dwarf2out.c (output_abbrev_section): Only write table when
10005 abbrev_die_table_in_use > 1.
10006
e533b2a4
RH
100072011-02-24 Richard Henderson <rth@redhat.com>
10008
10009 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
10010 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
10011 (alpha_expand_unaligned_load_words): Use extql.
10012 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
10013 (emit_insxl): Handle all modes for consistency.
10014
0b2a7367
RH
100152011-02-24 Richard Henderson <rth@redhat.com>
10016
10017 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
10018 (alpha_expand_unaligned_load): Likewise.
10019 (alpha_expand_unaligned_store): Likewise.
10020 (alpha_expand_unaligned_load_words): Likewise.
10021 (alpha_expand_unaligned_store_words): Likewise.
10022 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
10023 (alpha_split_lock_test_and_set_12): Likewise.
10024 (print_operand, alpha_fold_builtin_extxx): Likewise.
10025 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
10026 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
10027 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
10028 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
10029 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
10030 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
10031 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
10032 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
10033 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
10034 (extwl, extll, extql): Similarly.
10035 (inswh, inslh, insqh): Similarly.
10036 (mskbl, mskwl, mskll, mskql): Similarly.
10037 (mskwh, msklh, mskqh): Similarly.
10038
315b2bef
RH
100392011-02-24 Richard Henderson <rth@redhat.com>
10040
10041 * config/alpha/alpha.md (attribute isa): Add er, ner.
10042 (attribute enabled): Handle them.
10043 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
10044
67102517
RH
100452011-02-24 Richard Henderson <rth@redhat.com>
10046
10047 * config/alpha/alpha.md (attribute isa): Add vms.
10048 (attribute enabled): Handle it.
10049 (*movsf): Merge *movsf_{nofix,fix,nofp}.
10050 (*movdf): Merge *movdf_{nofix,fix,nofp}.
10051 (*movtf): Rename from *movtf_internal for consistency.
10052 (*movsi): Merge with *movsi_nt_vms.
10053 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
10054 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
10055 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
10056 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
10057
6aba5cb4
RH
100582011-02-24 Richard Henderson <rth@redhat.com>
10059
10060 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
10061 (extendqisi2, extendhisi2): Likewise.
10062 (extendqidi2): Simplify BWX/non-BWX expansions.
10063 (extendhidi2): Similarly.
10064
bdfb351b
RH
100652011-02-24 Richard Henderson <rth@redhat.com>
10066
10067 * config/alpha/alpha.md (attribute isa): New.
10068 (attribute enabled): New.
10069 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
10070 (zero_extendqisi2, zero_extendqidi2): Similarly.
10071 (zero_extendhisi2, zero_extendhidi2): Similarly.
10072 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
10073
6abe71eb
RH
100742011-02-24 Richard Henderson <rth@redhat.com>
10075
10076 * config/alpha/predicates.md (input_operand): Revert last change;
10077 update comment to mention 32-bit VMS rather than Windows.
10078
7114321e
NF
100792011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10080
10081 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
10082 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
10083 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
10084 * passes.c (init_optimization_passes): Move
10085 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
10086
c8679567
EB
100872011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10088
10089 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
10090
27173058
UB
100912011-03-24 Uros Bizjak <ubizjak@gmail.com>
10092
10093 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
10094 correctly.
10095
6f0c9f06
JJ
100962011-03-24 Jakub Jelinek <jakub@redhat.com>
10097
10098 PR debug/48204
10099 * simplify-rtx.c (simplify_const_unary_operation): Call
10100 real_convert when changing mode class with FLOAT_EXTEND.
10101
662666e5
NC
101022011-03-24 Nick Clifton <nickc@redhat.com>
10103
10104 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
10105 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
10106 * config/rx/rx.c (rx_option_override): Set align_jumps,
10107 align_loops and align_labels if not set by the user.
10108 (rx_align_for_label): New function.
10109 (rx_max_skip_for_label): New function.
10110 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
10111 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
10112 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
10113 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
10114 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
10115
2b99b2b8
RS
101162011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10117
10118 PR rtl-optimization/48263
10119 * optabs.c (expand_binop_directly): Reinstate convert_modes code
10120 and original commutative_p handling. Use maybe_gen_insn.
10121
ccecd6ea
AK
101222011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10123
10124 * reload.c (find_reloads_subreg_address): Add address_reloaded
10125 parameter and return true there if the full address has been
10126 reloaded.
10127 (find_reloads_toplev): Pass address_reloaded flag.
10128 (find_reloads_address_1): Don't use address_reloaded parameter.
10129
67295642
JL
101302011-03-24 Jeff Law <law@redhat.com>
10131
10132 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
10133 unused variable "ann".
10134 (remove_unused_locals): Likewise.
10135
10136 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
10137 statement.
10138
10139 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
10140 after it is freed.
10141
212aa74f
AK
101422011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10143
10144 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
10145 for invalid symbolic addresses.
10146 (s390_secondary_reload): Don't use s390_check_symref_alignment for
10147 larl operands.
10148
fe784e0d
EB
101492011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10150
10151 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
10152 the argument in calls to fold_truth_not_expr.
10153
63ee8641
NF
101542011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10155
10156 * tree.c (record_node_allocation_statistics): New function.
10157 (make_node_stat, copy_node_stat, build_string): Call it.
10158 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
10159 (build1_stat, build_omp_clause): Likewise.
10160
61be2a1c
RS
101612011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10162
10163 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
10164 last commit.
10165
a881aaa7
RG
101662011-03-24 Richard Guenther <rguenther@suse.de>
10167
10168 PR tree-optimization/48271
10169 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
10170 blocks that still exist.
10171
dbaa912c
RG
101722011-03-24 Richard Guenther <rguenther@suse.de>
10173
10174 PR tree-optimization/48270
10175 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
10176 not free datarefs before ddrs.
10177
1d60cc55
EB
101782011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10179
10180 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
10181 from the address built for a reference with variable offset.
10182
c78dd519
UB
101832011-03-24 Uros Bizjak <ubizjak@gmail.com>
10184
10185 PR target/48237
10186 * config/i386/i386.md (*movdf_internal_rex64): Do not split
10187 alternatives that can be handled with movq or movabsq insn.
10188 (*movdf_internal): Disable for !TARGET_64BIT.
10189 (*movdf_internal_nointeger): Ditto.
10190 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
10191
b25b9e8f
NF
101922011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10193
10194 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
10195 (FUNCTION_ARG_ADVANCE): Likewise.
10196 * tm.texi.in: Change references to them to hook references.
10197 * tm.texi: Regenerate.
c78dd519 10198 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
10199 (default_function_incoming_arg): Likewise.
10200 (default_function_arg_advance): Likewise.
c78dd519 10201 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
10202 (function_arg_advance): Likewise.
10203 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
10204
190b2187
RG
102052011-03-24 Richard Guenther <rguenther@suse.de>
10206
10207 PR middle-end/48269
10208 * tree-object-size.c (addr_object_size): Do not double-account
10209 for MEM_REF offsets.
10210
a183b5c7
DN
102112011-03-24 Diego Novillo <dnovillo@google.com>
10212
10213 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 10214 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
10215 (lto_input_data_block): Move from lto-opts.c. Make extern.
10216 Update all users.
10217 (lto_input_string): Rename from input_string. Make extern.
10218 Update all users.
10219 * lto-streamer-out.c (lto_output_string_with_length): Rename from
10220 output_string_with_length.
10221 Output 0 to indicate a non-NULL string. Update all callers to
10222 not emit 0.
10223 (lto_output_string): Rename from output_string. Make extern.
10224 Update all users.
10225 (lto_output_decl_state_streams): Make extern.
10226 (lto_output_decl_state_refs): Make extern.
10227 * lto-streamer.h (lto_input_string): Declare.
10228 (lto_input_data_block): Declare.
10229 (lto_output_string): Declare.
10230 (lto_output_string_with_length): Declare.
10231 (lto_output_decl_state_streams): Declare.
10232 (lto_output_decl_state_refs): Declare.
10233
cfef45c8
RG
102342011-03-24 Richard Guenther <rguenther@suse.de>
10235
10236 PR tree-optimization/46562
10237 * tree.c (build_invariant_address): New function.
10238 * tree.h (build_invariant_address): Declare.
10239 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
10240 a renamed function moved ...
10241 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
10242 Take valueization callback parameter.
10243 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
10244 * gimple-fold.h: New file.
10245 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
10246 (ccp_fold, fold_const_aggregate_ref,
10247 fold_ctor_reference, fold_nonarray_ctor_reference,
10248 fold_array_ctor_reference, fold_string_cst_ctor_reference,
10249 get_base_constructor): Move ...
10250 * gimple-fold.c: ... here.
10251 (gimple_fold_stmt_to_constant_1): New function
10252 split out from ccp_fold. Take a valueization callback parameter.
10253 Valueize all operands.
10254 (gimple_fold_stmt_to_constant): New wrapper function.
10255 (fold_const_aggregate_ref_1): New function split out from
10256 fold_const_aggregate_ref. Take a valueization callback parameter.
10257 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
10258 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
10259 invariant POINTER_PLUS_EXPRs to invariant form.
10260 (vn_valueize): New function.
10261 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
10262 * tree-vrp.c (vrp_valueize): New function.
10263 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
10264 to fold statements to constants.
10265 * tree-ssa-pre.c (eliminate): Properly guard propagation of
10266 function declarations.
10267 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
10268 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
10269
5e0a7e40
RS
102702011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10271
10272 * config/h8300/predicates.md (jump_address_operand): Fix register
10273 mode check.
10274
bfe068c3
IR
102752011-03-24 Ira Rosen <ira.rosen@linaro.org>
10276
10277 * doc/invoke.texi (max-stores-to-sink): Document.
10278 * params.h (MAX_STORES_TO_SINK): Define.
10279 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
10280 if either vectorization or if-conversion is disabled.
10281 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
10282 tree-vect-data-refs.c vect_equal_offsets.
10283 (dr_equal_offsets_p): New function.
10284 (find_data_references_in_bb): Remove static.
10285 * tree-data-ref.h (find_data_references_in_bb): Declare.
10286 (dr_equal_offsets_p): Likewise.
10287 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
10288 (vect_drs_dependent_in_basic_block): Update calls to
10289 vect_equal_offsets.
10290 (vect_check_interleaving): Likewise.
10291 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
10292 (cond_if_else_store_replacement): Rename to...
10293 (cond_if_else_store_replacement_1): ... this. Change arguments and
10294 documentation.
10295 (cond_if_else_store_replacement): New function.
10296 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
10297 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
10298
4908b0bf
CLT
102992011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
10300
10301 PR target/46934
10302 * config/arm/arm.md (casesi): Use the gen_int_mode() function
10303 to subtract lower bound instead of GEN_INT().
10304
2be478a2
JW
103052011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
10306
10307 PR other/48179
10308 PR other/48221
10309 PR other/48234
10310 * doc/extend.texi (Alignment): Move section to match order in TOC.
10311 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
10312 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
10313
0c617be4
JL
103142011-03-23 Jeff Law <law@redhat.com>
10315
10316 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
10317 before removing the edge.
10318
10319 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
10320 it may have been freed by redirect_branch_edge or
10321 redirect_edge_succ_nodup.
10322
58da96fe
RG
103232011-03-23 Richard Guenther <rguenther@suse.de>
10324
c78dd519 10325 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
10326 (check_va_list_escapes): Likewise.
10327 (check_all_va_list_escapes): Likewise.
10328
b8beb4d1
RG
103292011-03-23 Richard Guenther <rguenther@suse.de>
10330
10331 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
10332 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
10333 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
10334 (alias.o): Likewise.
10335 (ipa-type-escape.o): Remove.
10336 (ipa-struct-reorg.o): Likewise.
10337 (GTFILES): Remove ipa-struct-reorg.c.
10338 * alias.c: Do not include ipa-type-escape.h.
10339 * tree-ssa-alias.c: Likewise.
10340 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
10341 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
10342 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
10343 and ipa-type-escape passes.
10344 * tree-pass.h (pass_ipa_type_escape): Remove.
10345 (pass_ipa_struct_reorg): Likewise.
10346 * ipa-struct-reorg.h: Remove.
10347 * ipa-struct-reorg.c: Likewise.
10348 * ipa-type-escape.h: Likewise.
10349 * ipa-type-escape.c: Likewise.
10350 * doc/invoke.texi (-fipa-struct-reorg): Remove.
10351 (--param struct-reorg-cold-struct-ratio): Likewise.
10352 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
10353 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
10354 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
10355
f137aa63
AK
103562011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10357
10358 * config/s390/2084.md: Enable all insn reservations also for z9_ec
10359 cpu attribute value.
10360 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
10361 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
10362 * config/s390/s390.c (processor_flags_table): New constant array.
10363 (s390_handle_arch_option): Remove.
10364 (s390_handle_option): Remove s390_handle_arch_option invocations
10365 and OPT_mwarn_framesize_ handling.
10366 (s390_option_override): Remove s390_handle_arch_option invocation.
10367 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
10368 warnings.
10369 * config/s390/s390.md (cpu attribute): Add z9_ec value.
10370 * config/s390/s390.opt (s390_tune, s390_arch)
10371 (march=): Replace s390_arch_option enum and values with
10372 processor_type. Set variable name to s390_arch. Set
10373 initialization value.
10374 (mtune=): Replace s390_arch_option with processor_type. Set
10375 variable name to s390_tune. Set initialization value.
10376
bf90208f
JB
103772011-03-23 Julian Brown <julian@codesourcery.com>
10378
10379 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
10380 accesses which are not naturally aligned.
10381
3460fdf3
RS
103822011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
10383
10384 PR target/47553
10385 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
10386
a5c7d693
RS
103872011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
10388
10389 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
10390 parameter from "int" to "enum insn_code".
10391 (expand_operand_type): New enum.
10392 (expand_operand): New structure.
10393 (create_expand_operand): New function.
10394 (create_fixed_operand, create_output_operand): Likewise
10395 (create_input_operand, create_convert_operand_to): Likewise.
10396 (create_convert_operand_from, create_address_operand): Likewise.
10397 (create_integer_operand): Likewise.
10398 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
10399 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
10400 (expand_insn, expand_jump_insn): Likewise.
10401 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
10402 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
10403 (expand_movstr, expand_builtin___clear_cache): Likewise.
10404 (expand_builtin_lock_release): Likewise.
10405 * explow.c (allocate_dynamic_stack_space): Likewise.
10406 (probe_stack_range): Likewise. Allow check_stack to FAIL,
10407 and use the default handling in that case.
10408 * expmed.c (check_predicate_volatile_ok): Delete.
10409 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
10410 (emit_cstore): Likewise.
10411 * expr.c (emit_block_move_via_movmem): Likewise.
10412 (set_storage_via_setmem, expand_assignment): Likewise.
10413 (emit_storent_insn, try_casesi): Likewise.
10414 (emit_single_push_insn): Likewise. Allow the expansion to fail.
10415 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
10416 (expand_vec_shift_expr, expand_binop_directly): Likewise.
10417 (expand_twoval_unop, expand_twoval_binop): Likewise.
10418 (expand_unop_direct, emit_indirect_jump): Likewise.
10419 (emit_conditional_move, vector_compare_rtx): Likewise.
10420 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
10421 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
10422 (expand_sync_lock_test_and_set): Likewise.
10423 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
10424 (emit_unop_insn): Likewise.
10425 (expand_copysign_absneg): Change icode to an insn_code.
10426 (create_convert_operand_from_type): New function.
10427 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
10428 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
10429 (expand_insn, expand_jump_insn): Likewise.
10430 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
10431 than const_int_operand for operand 2.
10432
78fadbab
AK
104332011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10434
10435 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
10436 if possible.
10437
5f02387d
NF
104382011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10439
10440 * emit-rtl.c (emit_pattern_before_noloc): New function.
10441 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
10442 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
10443 (emit_pattern_after_noloc): New function.
10444 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
10445 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
10446
fdf3e18a
NF
104472011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10448
10449 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
10450 (__ffsDI2): Likewise.
10451
42d085c1
RH
104522011-03-22 Richard Henderson <rth@redhat.com>
10453
10454 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
10455 of !TARGET_ABI_OPEN_VMS.
10456 (alpha_trampoline_init, alpha_start_function): Likewise.
10457 (alpha_expand_epilogue, alpha_file_start): Likewise.
10458 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
10459 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
10460 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
10461 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
10462 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
10463
cabbe12a
JM
104642011-03-22 Joseph Myers <joseph@codesourcery.com>
10465
10466 * config/s390/s390-opts.h: New.
10467 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
10468 s390_arch_flags, s390_warn_framesize, s390_stack_size,
10469 s390_stack_guard): Remove.
10470 (s390_handle_arch_option): Return void. Take enum
10471 s390_arch_option value instead of string and searching array.
10472 (s390_handle_option): Don't assert that global structures are in
10473 use. Access variables via opts pointer. Use error_at. Don't use
10474 sscanf for -mstack-guard= or -mstack-size=. Update call to
10475 s390_handle_arch_option.
10476 (s390_option_override): Update call to s390_handle_arch_option.
10477 (s390_emit_prologue): Use %d format for s390_stack_size in
10478 diagnostic. Use %wd for HOST_WIDE_INT.
10479 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
10480 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
10481 * config/s390/s390.opt (config/s390/s390-opts.h): New
10482 HeaderInclude entry.
10483 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
10484 s390_arch_flags, s390_warn_framesize): New Variable entries.
10485 (s390_arch_option): New Enum and EnumValue entries.
10486 (march=): Use Enum instead of Var.
10487 (mstack-guard=, mstack-size=): Use UInteger and Var.
10488 (mtune=): Use Enum.
10489
05b12036
JM
104902011-03-22 Joseph Myers <joseph@codesourcery.com>
10491
10492 * config/score/score.c (score_handle_option): Don't assert that
10493 global structures are in use. Access target_flags via opts
10494 pointer. Use value of -march= option to determine target_flags
10495 settings.
10496 * config/score/score.opt (march=): Use Enum.
10497 (score_arch): New Enum and EnumValue entries.
10498
dd51e35a
JM
104992011-03-22 Joseph Myers <joseph@codesourcery.com>
10500
10501 * config/mep/mep.c (option_mtiny_specified): Remove.
10502 (mep_option_override): Move register handling for -mivc2 from
10503 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
10504 instead of option_mtiny_specified.
10505 (mep_handle_option): Access target_flags via opts pointer. Don't
10506 assert that global structures are in use. Defer part of -mivc2
10507 handling and move it to mep_option_override.
10508 * config/mep/mep.opt (IVC2): New Mask entry.
10509 (mivc2): Use Var and Defer instead of Mask.
10510
4a8d3d91
JM
105112011-03-22 Joseph Myers <joseph@codesourcery.com>
10512
10513 * config/v850/v850-opts.h: New.
10514 * config/v850/v850.c (small_memory): Replace with
10515 small_memory_physical_max array. Make that array static const.
10516 (v850_handle_memory_option): Take integer value of argument. Take
10517 gcc_options pointer, option text and location. Return void.
10518 Update for changes to small memory structures.
10519 (v850_handle_option): Access target_flags via opts pointer. Don't
10520 assert that global structures are in use. Update calls to
10521 v850_handle_memory_option.
c78dd519
UB
10522 (v850_encode_data_area): Update references to small memory settings.
10523 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
10524 (enum small_memory_type): Move to v850-opts.h.
10525 * config/v850/v850.opt (config/v850/v850-opts.h): New
10526 HeaderInclude entry.
10527 (small_memory_max): New Variable entry.
10528 (msda): Replace by pair of options msda= and msda-. Use UInteger.
10529 (mtda, mzda): Likewise.
10530
117fdbfa
JM
105312011-03-22 Joseph Myers <joseph@codesourcery.com>
10532
10533 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
10534 pointer. Don't assert that global structures are in use.
10535
d715091c
JM
105362011-03-22 Joseph Myers <joseph@codesourcery.com>
10537
10538 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
10539 via opts pointer. Don't assert that global structures are in use.
10540
1bb721dc
JM
105412011-03-22 Joseph Myers <joseph@codesourcery.com>
10542
10543 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
10544 (munix=93): Use Var.
10545 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
10546 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
10547 * config/pa/pa-opts.h: New.
10548 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
10549 (pa_handle_option): Don't assert that global structures are in
10550 use. Access target_flags via opts pointer. Don't handle
10551 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
10552 OPT_munix_98 here.
10553 (pa_option_override): Handle deferred OPT_mfixed_range_.
10554
cd8d8754
JM
105552011-03-22 Joseph Myers <joseph@codesourcery.com>
10556
10557 * config/mn10300/mn10300-opts.h: New.
10558 * config/mn10300/mn10300.c (mn10300_processor,
10559 mn10300_tune_string): Remove.
10560 (mn10300_handle_option): Don't assert that global structures are
10561 in use. Access mn10300_processor via opts pointer. Don't handle
10562 OPT_mtune_ here.
10563 * config/mn10300/mn10300.h (enum processor_type): Move to
10564 mn10300-opts.h.
10565 (mn10300_processor): Remove.
10566 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
10567 HeaderInclude entry.
10568 (mn10300_processor): New Variable entry.
10569 (mtune=): Use Var.
10570
24e6e6b1
JM
105712011-03-22 Joseph Myers <joseph@codesourcery.com>
10572
10573 * config/microblaze/microblaze.c: Don't include opts.h.
10574 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
10575 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
10576 (mno-clearbss): Use Var and Warn.
10577
8a784afb
JM
105782011-03-22 Joseph Myers <joseph@codesourcery.com>
10579
10580 * config/m32r/m32r-opts.h: New.
10581 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
10582 (m32r_handle_option): Don't assert that global structures are in
10583 use. Access target_flags and m32r_cache_flush_func via opts
10584 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
10585 OPT_mno_flush_trap here.
10586 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
10587 include of m32r-opts.h.
10588 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
10589 HeaderInclude entry.
10590 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
10591 (mmodel=): Use Enum and Var.
10592 (m32r_model): New Enum and EnumValue entries.
10593 (mno-flush-trap): Use Var.
10594 (msdata=): Use Enum and Var.
10595 (m32r_sdata): New Enum and EnumValue entries.
10596
bbfc9a8c
JM
105972011-03-22 Joseph Myers <joseph@codesourcery.com>
10598
10599 * config/m32c/m32c.c: Don't include opts.h.
10600 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
10601 m32c_handle_option): Remove.
10602 (m32c_option_override): Check global_options_set.x_target_memregs
10603 instead of target_memregs_set.
10604 * config/m32c/m32c.h (target_memregs): Remove.
10605 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
10606 variable.
10607
e24b8335
JM
106082011-03-22 Joseph Myers <joseph@codesourcery.com>
10609
10610 * config/iq2000/iq2000-opts.h: New.
10611 * config/iq2000/iq2000.c: Don't include opts.h.
10612 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10613 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
10614 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
10615 HeaderInclude entry.
10616 (iq2000_tune): New Variable entry.
10617 (march=): Add comment. Use Enum.
10618 (iq2000_arch): New Enum and EnumValue entries.
10619 (mcpu=): Use Enum and Var.
10620 (iq2000_tune): New Enum and EnumValue entries.
10621
e6cc0c98
JM
106222011-03-22 Joseph Myers <joseph@codesourcery.com>
10623
10624 * config/ia64/ia64-opts.h: New.
10625 * config/ia64/ia64.c (ia64_tune): Remove.
10626 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
10627 here. Use error_at.
10628 (ia64_option_override): Handle deferred OPT_mfixed_range_.
10629 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
10630 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
10631 HeaderInclude entry.
10632 (ia64_tune): New Variable entry.
10633 (mfixed-range=): Use Defer and Var.
10634 (mtune=): Use Enum and Var.
10635 (ia64_tune): New Enum and EnumValue entries.
10636
db25893c
JM
106372011-03-22 Joseph Myers <joseph@codesourcery.com>
10638
10639 * config/frv/frv-opts.h: New.
10640 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
10641 frv-opts.h.
10642 (frv_cpu_type): Remove.
10643 * config/frv/frv.c: Don't include opts.h.
10644 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10645 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
10646 (frv_cpu_type): New Variable entry.
10647 (frv_cpu): New Enum and EnumValue entries.
10648
6c223f5d
JM
106492011-03-22 Joseph Myers <joseph@codesourcery.com>
10650
10651 * config/cris/cris.c (cris_handle_option): Access target_flags via
10652 opts pointer. Don't assert that global structures are in use.
10653 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
10654 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
10655
bbd399cf
JM
106562011-03-22 Joseph Myers <joseph@codesourcery.com>
10657
10658 * config/bfin/bfin-opts.h: New.
10659 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
10660 bfin_si_revision, bfin_workarounds): Remove.
10661 (bfin_cpus): Make static const.
10662 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
10663 not bfin_lib_id_given.
10664 (bfin_handle_option): Don't set bfin_lib_id_given. Access
10665 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 10666 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
10667 * config/bfin/bfin.h: Include bfin-opts.h.
10668 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
10669 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
10670 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
10671 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
10672 entries.
10673
5e1b4d5a
JM
106742011-03-22 Joseph Myers <joseph@codesourcery.com>
10675
10676 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
10677 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
10678 or -msoft-float here.
10679 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
10680 -msoft-float and -mhard-float.
c78dd519 10681 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
10682 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10683 msoft-float.
10684 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
10685 -msoft-float.
10686 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
10687 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
10688 not mhard-float.
10689 (LIBGCC_SPEC): Don't handle -msoft-float.
10690 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
10691 -mhard-float.
10692 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10693 msoft-float.
10694 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
10695 -mfloat-abi=*, not -msoft-float and -mhard-float.
10696 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
10697 -msoft-float.
10698 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
10699 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
10700 mhard-float and msoft-float.
10701 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
10702 mfloat-abi=soft in comments, not mhard-float and msoft-float.
10703 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
10704 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
10705 mhard-float.
10706 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
10707 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
10708 msoft-float.
10709 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
10710 not mhard-float.
10711 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
10712 not msoft-float.
10713
800d1de1
RH
107142011-03-22 Richard Henderson <rth@redhat.com>
10715
10716 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
10717 TARGET_ABI_WINDOWS_NT.
10718 (alpha_output_function_end_prologue): Likewise.
10719 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
10720 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10721 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
10722 (trap, *movsi_nt_vms): Likewise.
10723 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
10724 (*tablejump_osf_nt_internal): Remove.
10725 * config/alpha/predicates.md (input_operand): Only test Pmode.
10726
c59ddd2b
JM
107272011-03-22 Joseph Myers <joseph@codesourcery.com>
10728
10729 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
10730 via opts pointer. Use error_at. Don't assert that global
10731 structures are in use.
10732
1333f97f
JM
107332011-03-22 Joseph Myers <joseph@codesourcery.com>
10734
10735 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
10736 (ix86_handle_option): Access ix86_isa_flags and
10737 ix86_isa_flags_explicit via opts pointer. Don't assert that
10738 global structures are in use.
10739 (ix86_function_specific_save, ix86_function_specific_restore):
10740 Update ix86_isa_flags_explicit field name.
c78dd519 10741 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
10742 (ix86_isa_flags_explicit): Rename TargetSave entry to
10743 x_ix86_isa_flags_explicit.
10744
75db85d8
RH
107452011-03-22 Richard Henderson <rth@redhat.com>
10746
10747 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
10748 (alpha_option_override, direct_return): Likewise.
10749 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
10750 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
10751 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
10752 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10753 (alpha_expand_epilogue, alpha_end_function): Likewise.
10754 (alpha_init_libfuncs): Likewise.
10755 (struct machine_function): Remove unicosmk members.
10756 (print_operand) ['t']: Remove.
10757 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
10758 unicosmk_output_module_name, unicosmk_output_common,
10759 current_section_align, unicosmk_output_text_section_asm_op,
10760 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
10761 unicosmk_section_type_flags, unicosmk_unique_section,
10762 unicosmk_asm_named_section, unicosmk_insert_attributes,
10763 unicosmk_output_align, unicosmk_defer_case_vector,
10764 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
10765 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
10766 unicosmk_output_ssib, unicosmk_add_call_info_word,
10767 unicosmk_extern_head, unicosmk_output_default_externs,
10768 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
10769 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
10770 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
10771 * config/alpha/alpha-protos.h: Update.
10772 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
10773 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
10774 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
10775 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
10776 (*mulsi_se, mulvsi3): Likewise.
10777 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
10778 (*divmodsi_internal, call, call_value, realign): Likewise.
10779 (moddi3, umoddi3): Likewise; remove duplicate expander.
10780 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
10781 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
10782 (*movdi_nofix): Remove r/U alternative.
10783 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
10784 * config/alpha/constraints.md ("U"): Remove.
10785 * config/alpha/predicates.md (call_operand"): Don't test
10786 TARGET_ABI_UNICOSMK.
10787
96e45421
JM
107882011-03-22 Joseph Myers <joseph@codesourcery.com>
10789
10790 * target.def (handle_option): Take gcc_options and
10791 cl_decoded_option pointers and location_t.
10792 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
10793 * doc/tm.texi: Regenerate.
10794 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
10795 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
10796 * lto-opts.c (lto_reissue_options): Generate option structure for
10797 targetm.handle_option call.
10798 * opts.c (target_handle_option): Update call to
10799 targetm.handle_option. Remove assertions about values now passed
10800 down to hook.
10801 * targhooks.c (default_target_handle_option): New.
10802 * targhooks.h (default_target_handle_option): Declare.
10803 * config/alpha/alpha.c: Include opts.h.
10804 (alpha_handle_option): Update to new hook interface.
10805 * config/arm/arm.c: Include opts.h.
10806 (arm_handle_option): Update to new hook interface.
10807 * config/arm/t-arm (arm.o): Update dependencies.
10808 * config/bfin/bfin.c: Include opts.h.
10809 (bfin_handle_option): Update to new hook interface.
10810 * config/cris/cris.c: Include opts.h.
10811 (cris_handle_option): Update to new hook interface.
10812 * config/frv/frv.c: Include opts.h.
10813 (frv_handle_option): Update to new hook interface.
10814 * config/i386/i386.c: Include opts.h.
10815 (ix86_handle_option): Update to new hook interface.
10816 (ix86_valid_target_attribute_inner_p): Generate option structure
10817 for call to ix86_handle_option.
10818 * config/i386/t-i386 (i386.o): Update dependencies.
10819 * config/ia64/ia64.c: Include opts.h.
10820 (ia64_handle_option): Update to new hook interface.
10821 * config/ia64/t-ia64 (ia64.o): Update dependencies.
10822 * config/iq2000/iq2000.c: Include opts.h.
10823 (iq2000_handle_option): Update to new hook interface.
10824 * config/m32c/m32c.c: Include opts.h.
10825 (m32c_handle_option): Update to new hook interface.
10826 * config/m32r/m32r.c: Include opts.h.
10827 (m32r_handle_option): Update to new hook interface.
10828 * config/m68k/m68k.c: Include opts.h.
10829 (m68k_handle_option): Update to new hook interface.
10830 * config/mep/mep.c: Include opts.h.
10831 (mep_handle_option): Update to new hook interface.
10832 * config/microblaze/microblaze.c: Include opts.h.
10833 (microblaze_handle_option): Update to new hook interface.
10834 * config/mips/mips.c: Include opts.h.
10835 (mips_handle_option): Update to new hook interface.
10836 * config/mn10300/mn10300.c: Include opts.h.
10837 (mn10300_handle_option): Update to new hook interface.
10838 * config/pa/pa.c: Include opts.h.
10839 (pa_handle_option): Update to new hook interface.
10840 * config/pdp11/pdp11.c: Include opts.h.
10841 (pdp11_handle_option): Update to new hook interface.
10842 * config/rs6000/rs6000.c: Include opts.h.
10843 (rs6000_handle_option): Update to new hook interface.
10844 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
10845 * config/rx/rx.c: Include opts.h.
10846 (rx_handle_option): Update to new hook interface.
10847 * config/s390/s390.c: Include opts.h.
10848 (s390_handle_option): Update to new hook interface.
10849 * config/score/score.c: Include opts.h.
10850 (score_handle_option): Update to new hook interface.
10851 * config/sh/sh.c: Include opts.h.
10852 (sh_handle_option): Update to new hook interface.
10853 * config/sparc/sparc.c: Include opts.h.
10854 (sparc_handle_option): Update to new hook interface.
10855 * config/v850/v850.c: Include opts.h.
10856 (v850_handle_option): Update to new hook interface.
10857
66017846
JM
108582011-03-22 Joseph Myers <joseph@codesourcery.com>
10859
10860 * gcc.c (driver_unknown_option_callback): Only permit and save
10861 unknown -Wno- options.
10862 (driver_wrong_lang_callback): Save options directly instead of via
10863 driver_unknown_option_callback.
10864
e8b97ccd
EB
108652011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10866
10867 * combine.c (simplify_set): Try harder to find the best CC mode when
10868 simplifying a nested COMPARE on the RHS.
10869
ebb9f8b0
JM
108702011-03-22 Joseph Myers <joseph@codesourcery.com>
10871
10872 * config/alpha/gnu.h: Remove.
10873 * config/arc: Remove directory.
10874 * config/arm/netbsd.h: Remove.
10875 * config/arm/t-pe: Remove.
10876 * config/crx: Remove directory.
10877 * config/i386/netbsd.h: Remove.
10878 * config/m68hc11: Remove directory.
10879 * config/m68k/uclinux-oldabi.h: Remove.
10880 * config/mcore/mcore-pe.h: Remove.
10881 * config/mcore/t-mcore-pe: Remove.
10882 * config/netbsd-aout.h: Remove.
10883 * config/rs6000/gnu.h: Remove.
10884 * config/sh/sh-symbian.h: Remove.
10885 * config/sh/symbian-base.c: Remove.
10886 * config/sh/symbian-c.c: Remove.
10887 * config/sh/symbian-cxx.c: Remove.
10888 * config/sh/symbian-post.h: Remove.
10889 * config/sh/symbian-pre.h: Remove.
10890 * config/sh/t-symbian: Remove.
10891 * config/svr3.h: Remove.
10892 * config/vax/netbsd.h: Remove.
10893 * config.build: Don't handle i[34567]86-*-pe.
10894 * config.gcc: Remove handling of deprecations for most deprecated
10895 targets.
10896 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
10897 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
10898 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
10899 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
10900 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
10901 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
10902 Remove cases.
10903 * config.host: Don't handle i[34567]86-*-pe.
10904 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
10905 (ASM_SPEC32): Don't handle -mcall-gnu.
10906 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
10907 -mcall-gnu.
10908 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
10909 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
10910 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
10911 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
10912 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
10913 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
10914 conditional on SYMBIAN.
10915 * configure.ac: Don't handle powerpc*-*-gnu*.
10916 * configure: Regenerate.
10917 * doc/extend.texi (interrupt attribute): Don't mention CRX.
10918 * doc/install-old.texi (m6811, m6812): Don't mention.
10919 * doc/install.texi (arc-*-elf*): Don't document multilib option.
10920 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
10921 (m68k-uclinuxoldabi): Don't mention.
10922 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
10923 Remove.
10924 (-mcall-gnu): Remove.
10925 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
10926 families): Remove constraint documentation.
10927
999a7d80
MS
109282011-03-22 Marius Strobl <marius@FreeBSD.org>
10929
10930 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
10931 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
10932 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
10933
45540bcf
MM
109342011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
10935
10936 PR target/48226
10937 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
10938 vector when peeking at the next token for vector, don't expand the
10939 keywords.
10940
980a0ff4
GJL
109412011-03-21 Georg-Johann Lay <avr@gjlay.de>
10942
10943 * config/avr/avr-protos.h (expand_epilogue): Change prototype
10944 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
10945 * config/avr/avr.c (init_cumulative_args)
10946 (avr_function_arg_advance): Use it.
10947 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
10948 sibcall epilogues.
10949 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
10950 (avr_function_ok_for_sibcall): ...this new function.
10951 (avr_lookup_function_attribute1): New static Function.
10952 (avr_naked_function_p, interrupt_function_p)
10953 (signal_function_p, avr_OS_task_function_p)
10954 (avr_OS_main_function_p): Use it.
10955 * config/avr/avr.md ("sibcall", "sibcall_value")
10956 ("sibcall_epilogue"): New expander.
10957 ("*call_insn", "*call_value_insn"): New insn.
10958 ("call_insn", "call_value_insn"): Remove
10959 ("call", "call_value", "epilogue"): Change expander to handle
10960 sibling calls.
10961
49168734
NC
109622011-03-21 Nick Clifton <nickc@redhat.com>
10963
10964 * doc/invoke.texi (Overall Options): Move closing brace to end of
10965 options list.
10966 (Optimization Options): Add missing @gol.
10967 (Directory Options): Likewise.
10968 (i386 and x86-64 Options): Likewise.
10969 (RS6000 and PowerPC Options): Likewise.
10970 (i386 and x86-64 Windows Options): Likewise.
10971 (V850 Options): Add text missing from descriptions.
10972
bdfe906f
RH
109732011-03-22 Richard Henderson <rth@redhat.com>
10974
10975 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
10976 (avr_incoming_return_addr_rtx): New.
10977 (emit_push_byte): New.
10978 (expand_prologue): Use it. Remove incorrect dwarf annotation for
10979 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
10980 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
10981 (emit_pop_byte): New.
10982 (expand_epilogue): Use it. Pop frame pointer by bytes.
10983 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
10984 (INCOMING_RETURN_ADDR_RTX): New.
10985 (INCOMING_FRAME_SP_OFFSET): New.
10986 (ARG_POINTER_CFA_OFFSET): New.
10987 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
10988 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
10989 (pophi): Remove.
10990
d090a5aa
RH
10991 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
10992
fdf3e18a
NF
109932011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10994
10995 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
10996 (FUNCTION_ARG_ADVANCE): Likewise.
10997 * tm.texi.in: Change references to them to hook references.
10998 * tm.texi: Regenerate.
10999 * targhooks.c (default_function_arg): Eliminate check for target
11000 macro.
11001 (default_function_incoming_arg): Likewise.
11002 (default_function_arg_advance): Likewise.
c78dd519 11003 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
11004 (function_arg_advance): Likewise.
11005 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
11006
009d3fcf
NF
110072011-03-22 Nathan Froyd <froydnj@codesourcery.com>
11008
11009 * tree.c (build_call_1): New function.
11010 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
11011
7bec30e1
RG
110122011-03-22 Richard Guenther <rguenther@suse.de>
11013
11014 PR tree-optimization/48228
11015 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
11016 for single-arg PHIs.
11017
0b7e851b
AB
110182011-03-22 Andrey Belevantsev <abel@ispras.ru>
11019
11020 PR rtl-optimization/48143
11021 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
11022 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
11023 sse2_cvtps2pd): Likewise.
11024
d89afca5
AK
110252011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11026
11027 * recog.c (canonicalize_change_group): Use validate_unshare_change.
11028
f471fe72
RG
110292011-03-22 Richard Guenther <rguenther@suse.de>
11030
11031 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
11032 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
11033 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
11034 and REALIGN_LOAD_EXPR.
11035 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
11036 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
11037 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
11038 DOT_PROD_EXPR case ...
11039 (expand_expr_real_2): ... here.
11040 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
11041 and REALIGN_LOAD_EXPR.
11042 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
11043 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
11044 (vect_create_epilog_for_reduction): Likewise.
11045 (vectorizable_reduction): Likewise.
11046 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
11047 * tree-vect-stmts.c (vectorizable_load): Likewise.
11048
f2f81d57
EB
110492011-03-22 Eric Botcazou <ebotcazou@adacore.com>
11050
11051 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
11052
ab081dd6
AK
110532011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11054
11055 * config/s390/s390.c (s390_delegitimize_address): Fix offset
11056 handling for PLTOFF/GOTOFF.
11057
6fd5332b
NC
110582011-03-22 Nick Clifton <nickc@redhat.com>
11059
11060 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
11061 trailing backslash from the end of the macro definition.
11062
01841ac0
AK
110632011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11064
11065 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
11066 and PLT unspecs.
11067
2ef6ce06
RS
110682011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
11069
11070 * expr.h (prepare_operand): Move to...
11071 * optabs.h (prepare_operand): ...here and change the insn code
11072 parameter from "int" to "enum insn_code".
11073 (insn_operand_matches): Declare.
11074 * expr.c (init_expr_target): Use insn_operand_matches.
11075 (compress_float_constant): Likewise.
11076 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
11077 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
11078 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
11079 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
11080 Likewise.
2ef6ce06
RS
11081 (gen_cond_trap): Likewise.
11082 (prepare_operand): Likewise. Change icode to an insn_code.
11083 (insn_operand_matches): New function.
11084 * reload.c (find_reloads_address_1): Use insn_operand_matches.
11085 * reload1.c (gen_reload): Likewise.
11086 * targhooks.c (default_secondary_reload): Likewise.
11087
9e43ad68
UB
110882011-03-21 Uros Bizjak <ubizjak@gmail.com>
11089
9a96da32
UB
11090 * config/alpha/alpha.md (unspec): New define_c_enum.
11091 (unspecv): Ditto.
11092
110932011-03-21 Uros Bizjak <ubizjak@gmail.com>
11094
11095 PR debug/48214
9e43ad68
UB
11096 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
11097 between a call and its CALL_ARG_LOCATION note.
11098
31408f60
EB
110992011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11100
11101 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
11102
111032011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
11104
11105 PR c/42544
11106 PR c/48197
11107 * c-common.c (shorten_compare): If primopN is first sign-extended
11108 to opN and then zero-extended to result type, set primopN to opN.
11109
9dfd55f5
DJ
111102011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
11111
11112 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
11113 for barrier handlers.
11114
f3c33d9d
MM
111152011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
11116
11117 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
11118 UNSPEC constants to be in the unspec enumeration, and redefine
11119 all UNSPECV constants to be in the unspecv enumeration, so that
11120 dumps print which unspec/unspec_volatile this is.
11121 * config/rs6000/vector.md (UNSPEC_*): Ditto.
11122 * config/rs6000/paired.md (UNSPEC_*): Ditto.
11123 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
11124 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
11125 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
11126
11127 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
11128 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
11129 UNSPECV_LWSYNC, since these are used as unspec_volatile.
11130 * config/rs6000/sync.md (isync, lwsync): Ditto.
11131
ac43f774
RG
111322011-03-21 Richard Guenther <rguenther@suse.de>
11133
11134 * params.def (lto-min-partition): Fix typo.
11135
411cdbd8
RG
111362011-03-21 Richard Guenther <rguenther@suse.de>
11137
11138 PR c/47939
11139 * c-decl.c (grokdeclarator): Drop to the main variant only
11140 for array types. Drop flag_gen_aux_info check.
11141
1cd9e416
RG
111422011-03-21 Richard Guenther <rguenther@suse.de>
11143
11144 PR translation/47911
11145 * params.def (lto-partitions): Fix typo.
11146 (lto-min-partition): Fix wording.
11147
ada5ad67
AT
111482011-03-21 Andreas Tobler <andreast@fgznet.ch>
11149
11150 * config/rs6000/t-freebsd: Remove duplication from file.
11151
f9613c9a
RG
111522011-03-21 Richard Guenther <rguenther@suse.de>
11153
11154 PR middle-end/47661
11155 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
11156
9bfbc1eb
RG
111572011-03-21 Richard Guenther <rguenther@suse.de>
11158
11159 PR lto/48210
11160 * params.def (lto-partitions): Require at least 1 partition.
11161
a2268084
RO
111622011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11163
11164 * gthr-solaris.h: Remove.
11165 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
11166 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
11167 (LIB_SPEC): Likewise.
11168 * config/sol2.opt (threads): Remove.
9e43ad68 11169 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
11170 (sparc*-*-solaris2*): Likewise.
11171 * configure.ac (enable_threads): Enable solaris support.
11172 * configure: Regenerate.
9e43ad68 11173 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
11174 * doc/install.texi (Configuration, --enable-threads=lib): Remove
11175 solaris.
11176
c43d9a1b
RO
111772011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11178
11179 * config.gcc: Obsolete *-*-solaris2.8*.
11180 * doc/install.texi (Specific, *-*-solaris2*): Document it.
11181
084239f4
RO
111822011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11183
11184 PR bootstrap/48135
11185 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
11186 reference. Solaris 8 perl works.
11187
64cadbe7
RO
111882011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11189
11190 PR bootstrap/48135
11191 * doc/install.texi (Prerequisites): Move jar etc. up.
11192 Explain support library version requirements.
11193
eb975109
RO
111942011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11195
11196 PR bootstrap/48135
11197 * doc/install.texi (Prerequisites): Move Perl to build
11198 requirements. Always necessary on Solaris 2 with Sun ld.
11199
8a509ffd
RO
112002011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11201
11202 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
11203 binutils 2.21.
11204 (Specific, i?86-*-solaris2.[89]): Likewise.
11205 (Specific, i?86-*-solaris2.10): Likewise.
11206 (Specific, mips-sgi-irix6): Likewise.
11207 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
11208 Update for binutils 2.21.
11209
8fbc58a1
RO
112102011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11211
11212 * configure.ac (gcc_cv_lto_plugin): Fix typo.
11213 Allow -fuse-linker-plugin for non-default plugin linker.
11214 * configure: Regenerate.
11215
7e84ad0b
NP
112162011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
11217
11218 PR bootstrap/48167
11219 * gengtype.c (files_rules): Added rule for cp/parser.h.
11220
2f36e14b
JJ
112212011-03-21 Jakub Jelinek <jakub@redhat.com>
11222
11223 PR target/48213
11224 * config/s390/s390.c (s390_delegitimize_address): Don't call
11225 lowpart_subreg if orig_x has BLKmode.
11226
62d784f7
KT
112272011-03-21 Kai Tietz <ktietz@redhat.com>
11228
11229 PR target/12171
9e43ad68
UB
11230 * doc/plugins.texi: Adjust documentation for plugin register_callback.
11231 * tree.h (attribute_spec): Add new member affects_type_identity.
11232 * attribs.c (empty_attribute_table): Adjust attribute_spec
11233 initializers.
62d784f7
KT
11234 * config/alpha/alpha.c: Likewise.
11235 * config/arc/arc.c: Likewise.
11236 * config/arm/arm.c: Likewise.
11237 * config/avr/avr.c: Likewise.
11238 * config/bfin/bfin.c: Likewise.
11239 * config/crx/crx.c: Likewise.
11240 * config/darwin.h: Likewise.
11241 * config/h8300/h8300.c: Likewise.
11242 * config/i386/cygming.h: Likewise.
11243 * config/i386/i386.c: Likewise.
11244 * config/ia64/ia64.c: Likewise.
11245 * config/m32c/m32c.c: Likewise.
11246 * config/m32r/m32r.c: Likewise.
11247 * config/m68hc11/m68hc11.c: Likewise.
11248 * config/m68k/m68k.c: Likewise.
11249 * config/mcore/mcore.c: Likewise.
11250 * config/mep/mep.c: Likewise.
11251 * config/microblaze/microblaze.c: Likewise.
11252 * config/mips/mips.c: Likewise.
11253 * config/rs6000/rs6000.c: Likewise.
11254 * config/rx/rx.c: Likewise.
11255 * config/sh/sh.c: Likewise.
11256 * config/sol2.h: Likewise.
11257 * config/sparc/sparc.c: Likewise.
11258 * config/spu/spu.c: Likewise.
11259 * config/stormy16/stormy16.c: Likewise.
11260 * config/v850/v850.c: Likewise.
11261
54833ec0
CLT
112622011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
11263
11264 * simplify-rtx.c (simplify_binary_operation_1): Handle
11265 (xor (and A B) C) case when B and C are both constants.
11266
14a41392
MX
112672011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
11268
11269 * tree-dfa.c (add_referenced_var): Fix typo in comment.
11270
806c3492
EB
112712011-03-20 Eric Botcazou <ebotcazou@adacore.com>
11272
11273 PR bootstrap/48168
11274 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
11275
65e0a0f3
JJ
112762011-03-20 Jakub Jelinek <jakub@redhat.com>
11277
11278 PR rtl-optimization/48156
11279 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
11280 assume df and df_lr are not NULL.
11281
b6a75dda
RR
112822011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11283
11284 PR debug/48023
11285 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
11286 between a call and its CALL_ARG_LOCATION note.
11287
5969b52d
KK
112882011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
11289
11290 PR debug/48178
11291 * config/sh/sh.c (find_barrier): Don't emit a constant pool
11292 between a call and its corresponding CALL_ARG_LOCATION note.
11293
f773c2bd
AS
112942011-03-19 Anatoly Sokolov <aesok@post.ru>
11295
11296 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
11297 instead of loop. Use HARD_REGISTER_NUM_P predicate.
11298 * haifa-sched.c (setup_ref_regs): Ditto.
11299 * caller-save.c (add_used_regs_1): Ditto.
11300 * dse.c (look_for_hardregs): Ditto.
11301 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
11302 * sched-rgn.c (check_live_1): Ditto.
11303
8bf872f9
JM
113042011-03-18 Joseph Myers <joseph@codesourcery.com>
11305
11306 * c-decl.c (diagnose_mismatched_decls): Give an error for
11307 redefining a typedef with variably modified type.
11308
ff8e2159
JM
113092011-03-18 Joseph Myers <joseph@codesourcery.com>
11310
11311 * c-decl.c (grokfield): Don't allow typedefs for structures or
11312 unions with no tag by default.
11313 * doc/extend.texi (Unnamed Fields): Update.
11314
16cc4440
UB
113152011-03-18 Uros Bizjak <ubizjak@gmail.com>
11316
11317 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
11318 Rewrite using indirect functions.
11319 (lwp_slwpcb): Ditto.
11320 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
11321 (avx_vinsertf128<mode>): Ditto.
11322
e101e12e
AK
113232011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11324
11325 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
11326 unspecs.
11327
4627c7fb
AK
113282011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11329
11330 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 11331 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 11332
2d36b47f
MK
113332011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
11334
11335 PR rtl-optimization/48170
11336 * gcse.c (hoist_code): Remove bogus asserts.
11337
2a3d7659
JL
113382011-03-18 Georg-Johann Lay <avr@gjlay.de>
11339
11340 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
11341 computation for prologue/epilogue.
11342
34c3ef05
RO
113432011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11344
11345 * Makefile.in (check-consistency): Remove.
11346
81f2b976
JJ
113472011-03-18 Jakub Jelinek <jakub@redhat.com>
11348
11349 PR debug/48176
11350 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
11351 arange_table_in_use is 0, but either text_section_used or
11352 cold_text_section_used is true. Don't call it if
11353 !info_section_emitted.
11354
68fd7765
AS
113552011-03-18 Anatoly Sokolov <aesok@post.ru>
11356
11357 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
11358 FUNCTION_VALUE_REGNO_P): Remove.
11359 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
11360 Remove.
11361 * config/avr/avr.c (avr_ret_register): Make static inline.
11362 (avr_function_value_regno_p): New function.
11363 (avr_libcall_value): Make static. Add 'func' argument.
11364 (avr_function_value): Make static. Rename 'func' argument to
11365 'fn_decl_or_type', forward it to avr_libcall_value. Call
11366 avr_ret_register function instead of RET_REGISTER macro.
11367 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
11368
b4ef8aac
JM
113692011-03-18 Jason Merrill <jason@redhat.com>
11370
11371 PR c++/23372
11372 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
11373
09a52fc3
RG
113742011-03-18 Richard Guenther <rguenther@suse.de>
11375
11376 * doc/install.texi (--enable-gold): Remove.
11377 (--with-plugin-ld): Document.
11378 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
11379
2a3d7659 113802011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
11381
11382 PR middle-end/47790
11383 * expr.c (optimize_bitfield_assignment_op): Revamp to work
11384 again after expansion changes.
11385
2abbb0fe
CLT
113862011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
11387
11388 * combine.c (try_combine): Do simplification only call of
11389 subst() on i2 even when i1 is present. Update comments.
11390
2efd0aa6
KK
113912011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
11392
11393 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
11394 and UNSPEC_PCREL_SYMOFF.
11395
30a49b23
AK
113962011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11397
11398 * config/s390/s390.md: Use define_c_enum for the unspec constant
11399 definitions.
11400
419e1853
JJ
114012011-03-18 Richard Henderson <rth@redhat.com>
11402 Jakub Jelinek <jakub@redhat.com>
11403
11404 PR bootstrap/48161
11405 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
11406 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
11407
37875856
L
114082011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11409
11410 PR middle-end/47725
11411 * combine.c (cant_combine_insn_p): Don't check zero/sign
11412 extended hard registers.
11413
76069764
L
114142011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11415
11416 PR middle-end/47725
11417 * combine.c (cant_combine_insn_p): Check zero/sign extended
11418 hard registers.
11419
24da2019
AS
114202011-03-17 Anatoly Sokolov <aesok@post.ru>
11421
11422 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
11423 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
11424 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
11425 Change return type to bool.
11426 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
11427
a82ff31f
JJ
114282011-03-17 Jakub Jelinek <jakub@redhat.com>
11429
8b29c87a
JJ
11430 PR debug/48163
11431 * var-tracking.c (prepare_call_arguments): If CALL target
11432 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
11433 pc instead of looking it up using cselib_lookup and use
11434 Pmode for it if x has VOIDmode.
11435 * dwarf2out.c (gen_subprogram_die): If also both first and
11436 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
11437
a82ff31f
JJ
11438 PR debug/48163
11439 * function.c (assign_parms): For data.passed_pointer parms
11440 use MEM of data.entry_parm instead of data.entry_parm itself
11441 as DECL_INCOMING_RTL.
11442 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
11443 also when passed and declared mode is the same, DECL_RTL
11444 is a MEM with pseudo as address and DECL_INCOMING_RTL is
11445 a MEM too.
11446
82ce305c
JL
114472011-03-16 Jeff Law <law@redhat.com>
11448
11449 PR rtl-optimization/37273
11450 * ira-costs.c (scan_one_insn): Detect constants living in memory and
11451 handle them like argument loads from stack slots. Do not double
11452 count memory for memory constants and argument loads from stack slots.
11453
fe58e02b
L
114542011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11455
11456 PR debug/48160
11457 * var-tracking.c (prepare_call_arguments): Check SUBREG.
11458
6fc4dbc7
L
114592011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11460
11461 PR target/48171
11462 * config/i386/i386.opt: Add Save to -mavx and -mfma.
11463
db3ed0b3
JJ
114642011-03-17 Jakub Jelinek <jakub@redhat.com>
11465
8054a389
JJ
11466 PR bootstrap/48153
11467 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
11468 if dwarf_strict.
11469 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
11470 Clear call_arg_locations and call_arg_loc_last always.
11471
db3ed0b3
JJ
11472 PR middle-end/48152
11473 * var-tracking.c (prepare_call_arguments): If argument needs to be
11474 passed by reference, adjust argtype and mode.
11475
1bce4ff3
RG
114762011-03-17 Richard Guenther <rguenther@suse.de>
11477
11478 PR middle-end/48134
11479 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
11480 a value make sure to fold the statement.
11481
7c71147d
CLT
114822011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
11483
11484 PR target/43872
11485 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
11486 return condition with !cfun->calls_alloca.
11487
0e1ee172
RG
114882011-03-17 Richard Guenther <rguenther@suse.de>
11489
11490 PR bootstrap/48148
11491 * lto-cgraph.c (input_overwrite_node): Clear the abstract
11492 origin for decls in other ltrans units.
11493 (input_varpool_node): Likewise.
11494
f8bce518
RG
114952011-03-17 Richard Guenther <rguenther@suse.de>
11496
11497 PR middle-end/48165
11498 * tree-object-size.c (compute_object_offset): Properly return
11499 the offset operand of MEM_REFs as sizetype.
11500
1b6fa860
JJ
115012011-03-17 Jakub Jelinek <jakub@redhat.com>
11502
dabd47e7
JJ
11503 PR rtl-optimization/48141
11504 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
11505 * dse.c: Include params.h.
11506 (active_local_stores_len): New variable.
11507 (add_wild_read, dse_step1): Clear it when setting active_local_stores
11508 to NULL.
11509 (record_store, check_mem_read_rtx): Decrease it when removing
11510 from the chain.
11511 (scan_insn): Likewise. Increase it when adding to chain, if it
11512 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
11513 set active_local_stores to NULL before the addition.
11514 * Makefile.in (dse.o): Depend on $(PARAMS_H).
11515
1b6fa860
JJ
11516 PR rtl-optimization/48141
11517 * dse.c (record_store): If no positions are needed in an insn
11518 that cannot be deleted, at least unchain it from active_local_stores.
11519
7b5cb7d6
DS
115202011-03-16 Dodji Seketeli <dodji@redhat.com>
11521
11522 PR debug/47510
11523 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
11524 (lookup_type_die_strip_naming_typedef): ... here.
11525 (get_context_die): Use it.
11526 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
11527 the anonymous struct named by the naming typedef.
11528
585e9d9d
L
115292011-03-16 H.J. Lu <hongjiu.lu@intel.com>
11530
11531 PR target/48154
11532 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
11533 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11534
6261ab0e
JL
115352011-03-16 Jeff Law <law@redhat.com>
11536
11537 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 11538 check for operands of conditional. Allow type to be a pointer.
6261ab0e 11539
0b0081ec
RG
115402011-03-16 Richard Guenther <rguenther@suse.de>
11541
11542 PR tree-optimization/48149
11543 * fold-const.c (fold_binary_loc): Fold
11544 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
11545
64a3d647
RG
115462011-03-16 Richard Guenther <rguenther@suse.de>
11547
11548 PR tree-optimization/26134
11549 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
11550 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
11551 (non_rewritable_mem_ref_base): Handle complex type component
11552 accesses, constrain offsets for vector and complex extracts
11553 more properly.
11554
ef13324e
RG
115552011-03-16 Richard Guenther <rguenther@suse.de>
11556
11557 PR tree-optimization/48146
11558 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
11559 operands avoiding the need for renaming.
11560
f0eddb90
RG
115612011-03-16 Richard Guenther <rguenther@suse.de>
11562
11563 * gimple-fold.c (maybe_fold_reference): Open-code relevant
11564 constant folding. Move MEM_REF canonicalization first.
11565 Rely on fold_const_aggregate_ref for initializer folding.
11566 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
11567
e42348b8
JJ
115682011-03-16 Jakub Jelinek <jakub@redhat.com>
11569
29f10e71
JJ
11570 PR middle-end/48136
11571 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
11572 arg0/arg1 or their arguments are always fold converted to matching
11573 types.
11574
e42348b8
JJ
11575 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
11576 to nargs.
11577
55b46574
RO
115782011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11579
11580 PR lto/46944
11581 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
11582 Handle in-tree gold.
11583 (ld_vers): Extract binutils version for gold.
11584 (gcc_cv_ld_hidden): Handle gold here.
11585 (gcc_cv_lto_plugin): Determine level of linker plugin support.
11586 * configure: Regenerate.
11587 * config.in: Regenerate.
11588 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
11589 -fuse-linker-plugin otherwise.
11590 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
11591 (LINK_COMMAND_SPEC): Use it.
11592 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
11593
2b1c5433
JJ
115942011-03-16 Jakub Jelinek <jakub@redhat.com>
11595
c2969d8e
JJ
11596 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
11597 * calls.c: Remove debug.h include.
11598 (emit_call_1): Don't call virtual_call_token debug hook.
11599 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
11600 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
11601 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
11602 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
11603 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
11604 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
11605 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
11606 dwarf2out_virtual_call): Remove.
11607 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
11608 copy_call_info and virtual_call hooks.
11609 (dwarf2out_init): Don't initialize vcall_insn_table,
11610 debug_dcall_section and debug_vcall_section.
11611 (prune_unused_types): Don't mark nodes from dcall_table.
11612 (dwarf2out_finish): Don't output dcall or vcall tables.
11613 * final.c (final_scan_insn): Don't call direct_call or
11614 virtual_call debug hooks.
11615 * debug.h (struct gcc_debug_hooks): Remove direct_call,
11616 virtual_call_token, copy_call_info and virtual_call hooks.
11617 (debug_nothing_uid): Remove prototype.
11618 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
11619 copy_call_info and virtual_call hooks.
11620 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
11621 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
11622 * debug.c (do_nothing_debug_hooks): Likewise.
11623 (debug_nothing_uid): Remove.
11624 * doc/invoke.texi (-fenable-icf-debug): Remove.
11625 * common.opt (-fenable-icf-debug): Likewise.
11626
325f5379
JJ
11627 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
11628 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
11629 call's MEM. Handle functions returning aggregate through a hidden
11630 first pointer. For virtual calls add clobbered pc to call arguments
11631 chain.
11632 * dwarf2out.c (gen_subprogram_die): Emit
11633 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
11634 can't be emitted.
11635
a58a8e4b
JJ
11636 PR debug/45882
11637 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
11638 * rtl.h (ENTRY_VALUE_EXP): Define.
11639 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
11640 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
11641 * print-rtl.c (print_rtx): Likewise.
11642 * gengtype.c (adjust_field_rtx_def): Likewise.
11643 * var-tracking.c (vt_add_function_parameter): Adjust
11644 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
11645 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
11646 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
11647 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
11648 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
11649
2b1c5433
JJ
11650 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
11651 Call var_location debug hook even on CALL_INSNs.
11652 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
11653 * rtl.def (ENTRY_VALUE): New.
11654 * dwarf2out.c: Include cfglayout.h.
11655 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
11656 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
11657 (struct call_arg_loc_node): New type.
11658 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
11659 tail_call_site_count): New variables.
11660 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
11661 DW_TAG_GNU_call_site_parameter.
11662 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
11663 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
11664 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
11665 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
11666 and DW_AT_GNU_all_source_call_sites.
11667 (mem_loc_descriptor): Handle ENTRY_VALUE.
11668 (add_src_coords_attributes): Don't add enything if
11669 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
11670 (dwarf2out_abstract_function): Save and clear call_arg_location,
11671 call_site_count and tail_call_site_count around dwarf2out_decl call.
11672 (gen_call_site_die): New function.
11673 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
11674 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
11675 (dwarf2out_function_decl): Clear call_arg_locations,
11676 call_arg_loc_last, set call_site_count and tail_call_site_count
11677 to -1 and free block_map.
11678 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
11679 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
11680 followed by any real instructions.
11681 (dwarf2out_begin_function): Set call_site_count and
11682 tail_call_site_count to 0.
11683 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
11684 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
11685 attempt to force a DIE for it and worst case remove the attribute.
11686 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
11687 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
11688 the decl itself.
11689 * var-tracking.c: Include tm_p.h.
11690 (vt_stack_adjustments): For calls call note_register_arguments.
11691 (argument_reg_set): New variable.
11692 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
11693 ensure the VALUE is resolved.
11694 (call_arguments): New variable.
11695 (prepare_call_arguments): New function.
11696 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
11697 (struct expand_loc_callback_data): Add ignore_cur_loc field.
11698 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
11699 always use the best expression.
11700 (vt_expand_loc): Add ignore_cur_loc argument.
11701 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
11702 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
11703 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
11704 note for all calls.
11705 (vt_add_function_parameter): Use cselib_lookup_from_insn.
11706 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
11707 argument. Don't call cselib_preserve_only_values and
11708 cselib_reset_table.
11709 (note_register_arguments): New function.
11710 (vt_initialize): Compute argument_reg_set. Call
11711 vt_add_function_parameters before processing basic blocks instead of
11712 afterwards. For calls call prepare_call_arguments before calling
11713 cselib_process_insn.
11714 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
11715 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
11716 (var-tracking.o): Depend on $(TM_P_H).
11717 * cfglayout.h (insn_scope): New prototype.
11718 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
11719 * cfglayout.c (insn_scope): No longer static.
11720 * insn-notes.def (CALL_ARG_LOCATION): New.
11721 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
11722 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
11723 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
11724 nothing for DECL_EXTERNAL BLOCK_VARS.
11725
9ef13bd0
AM
117262011-03-16 Alan Modra <amodra@gmail.com>
11727
11728 PR target/45844
11729 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
11730 create invalid offset address for vsx splat insn.
11731 * config/rs6000/predicates.md (splat_input_operand): New.
11732 * config/rs6000/vsx.md (vsx_splat_*): Use it.
11733
56b67510
XDL
117342011-03-15 Xinliang David Li <davidxl@google.com>
11735
11736 PR c/47837
11737 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
11738 (normalize_preds): New function.
11739 (is_use_properly_guarded): Normalize def predicates.
11740
80fffdef
RR
117412011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11742
732f37c6 11743 PR target/46788
80fffdef
RR
11744 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
11745 in the output template.
11746
930672ad
RG
117472011-03-15 Richard Guenther <rguenther@suse.de>
11748
11749 PR middle-end/47650
11750 * tree-pretty-print.c (dump_function_declaration): Properly
11751 dump unprototyped and varargs function types.
11752
c7ee7b45
RG
117532011-03-15 Richard Guenther <rguenther@suse.de>
11754
11755 PR tree-optimization/13954
11756 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
11757 and friends.
11758
b2ad5e37
RG
117592011-03-15 Richard Guenther <rguenther@suse.de>
11760
11761 PR tree-optimization/48037
11762 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
11763 selects into BIT_FIELD_REFs.
11764 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
11765 vector select.
11766
7ee93d4e
JJ
117672011-03-15 Jakub Jelinek <jakub@redhat.com>
11768
11769 PR tree-optimization/48129
11770 * builtins.c (fold_builtin_snprintf): Convert to type of
11771 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
11772 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
11773
e106efc7
RG
117742011-03-15 Richard Guenther <rguenther@suse.de>
11775
11776 PR tree-optimization/41490
11777 * tree-ssa-dce.c (propagate_necessity): Handle returns without
11778 value but with VUSE.
11779 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
11780 return statements.
11781 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
11782 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
11783 * tree-tailcall.c (find_tail_calls): Ignore returns.
11784
17dea42f
RG
117852011-03-15 Richard Guenther <rguenther@suse.de>
11786
11787 PR middle-end/48031
11788 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
11789 or variable-indexed array accesses when in gimple form.
11790
01c77a60
RG
117912011-03-15 Richard Guenther <rguenther@suse.de>
11792
16cc4440 11793 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 11794
77b0791e
AM
117952011-03-15 Alan Modra <amodra@gmail.com>
11796
11797 PR target/48032
11798 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
11799 presume symbol_refs without a symbol_ref_decl are suitably
11800 aligned, nor other trees we may see here. Handle anchor symbols.
11801 (legitimate_constant_pool_address_p): Comment. Add mode param.
11802 Check cmodel=medium addresses. Adjust all calls.
11803 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
11804 creating cmodel=medium optimized access to locals.
11805 * config/rs6000/constraints.md (R): Pass QImode to
11806 legitimate_constant_pool_address_p.
11807 * config/rs6000/predicates.md (input_operand): Pass mode to
11808 legitimate_constant_pool_address_p.
11809 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
11810 Update prototype.
11811
35f61ba4
MM
118122011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
11813
11814 PR target/48053
11815 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
11816 64-bit constants being loaded into registers other than GPRs such
11817 as loading 0 into a VSX register.
11818
07332e6d
RO
118192011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11820
16cc4440 11821 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 11822
de888d90
JJ
118232011-03-14 Jakub Jelinek <jakub@redhat.com>
11824
ba3ceb2d
JJ
11825 PR middle-end/47917
11826 * builtins.c (fold_builtin_snprintf): New function.
11827 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
11828 (fold_builtin_4): Likewise.
11829
2e64f8b8
JJ
11830 PR middle-end/38878
11831 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
11832 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
11833 and C - X == X also strip nops from +/-/p+ operand.
11834 When optimizing -X == C, fold C to arg0's type.
11835
de888d90
JJ
11836 PR debug/47946
11837 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
11838 emit it as add_AT_int instead of add_AT_unsigned.
11839
118402011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
11841
11842 * unwind-dw2.c: Include sys/sdt.h if it exists.
11843 (_Unwind_DebugHook): Use STAP_PROBE2.
11844 * config.in, configure: Rebuild.
11845 * configure.ac: Check for sys/sdt.h.
11846
d34abfd2
UB
118472011-03-14 Uros Bizjak <ubizjak@gmail.com>
11848
11849 * config/i386/i386.md (ROUND_FLOOR): New constant.
11850 (ROUND_CEIL): Ditto.
11851 (ROUND_TRUNC): Ditto.
11852 (ROUND_MXCSR): Ditto.
11853 (ROUND_NO_EXC): Ditto.
11854 (rint<mode>2): Use new defines instead of numerical constants.
11855 (floor<mode>2): Ditto.
11856 (ceil<mode>2): Ditto.
11857 (btrunc<mode>2): Ditto.
11858 * config/i386/i386-builtin-types.def: Define ROUND function type
11859 aliases.
11860 * config/i386/i386.c (enum ix86_builtins): Add
11861 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
11862 (struct builtin_description): Add
11863 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
11864 (ix86_expand_sse_round): New static function.
11865 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
11866 function types.
11867 (ix86_builtin_vectorized_function): Handle
11868 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11869
87f9e23d
TT
118702011-03-14 Tom Tromey <tromey@redhat.com>
11871
11872 * c-parser.c (c_parser_asm_string_literal): Clear
11873 warn_overlength_strings.
11874
b3ab9ea2
TT
118752011-03-14 Tom Tromey <tromey@redhat.com>
11876
11877 * c-parser.c (disable_extension_diagnostics): Save
11878 warn_overlength_strings.
11879 (restore_extension_diagnostics): Restore warn_overlength_strings.
11880
6bd73dd8
JJ
118812011-03-14 Jakub Jelinek <jakub@redhat.com>
11882
11883 * BASE-VER: Change to 4.7.0.
11884
7f4d6e1b
RG
118852011-03-14 Richard Guenther <rguenther@suse.de>
11886
11887 PR middle-end/48098
11888 * tree.c (build_vector_from_val): Adjust assert to requirements
11889 and reality.
11890
c6104ef1
JJ
118912011-03-14 Jakub Jelinek <jakub@redhat.com>
11892
11893 PR bootstrap/48102
d34abfd2 11894 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 11895
dfa95e19
AT
118962011-03-14 Andreas Tobler <andreast@fgznet.ch>
11897
f60c2554 11898 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
11899 terms of target_flags_explicit. Adjust copyright year.
11900
11901 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
11902 * config/rs6000/t-freebsd: New file. Add override for
11903 LIB2FUNCS_EXTRA.
11904
bb322018
CD
119052011-03-13 Chris Demetriou <cgd@google.com>
11906
11907 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
11908 (-fno-diagnostics-show-option): this, to reflect current default.
11909 (-Werror=): Update text about -fno-diagnostics-show-option.
11910
12b1c80b
PB
119112011-03-12 Peter Bergner <bergner@vnet.ibm.com>
11912
11913 PR target/48053
11914 * config/rs6000/predicates.md (easy_vector_constant_add_self,
11915 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
11916 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
11917 mode is not V2DImode or V2DFmode.
11918 (vspltis_constant): Do not handle V2DImode and V2DFmode.
11919 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
11920 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
11921 registers to 0.
11922 (movdi_internal64): Likewise.
11923
57d598f7
SP
119242011-03-12 Sebastian Pop <sebastian.pop@amd.com>
11925
11926 PR tree-optimization/47127
11927 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
11928 parameter.
11929 (set_cloog_options): Same.
11930 (scop_to_clast): Same.
11931 (print_clast_stmt): Do not call cloog_state_malloc and
11932 cloog_state_free.
11933 (print_generated_program): Same.
11934 (gloog): Same.
11935 * graphite-clast-to-gimple.h (cloog_state): Declared.
11936 (scop_to_clast): Adjust declaration.
11937 * graphite.c (cloog_state): Defined here.
11938 (graphite_initialize): Call cloog_state_malloc.
11939 (graphite_finalize): Call cloog_state_free.
11940
f231b5ff
JM
119412011-03-11 Jason Merrill <jason@redhat.com>
11942
11943 * attribs.c (lookup_attribute_spec): Take const_tree.
11944 * tree.h: Adjust.
11945
6a4e2bd5
JM
119462011-03-11 Joseph Myers <joseph@codesourcery.com>
11947
11948 * config/sparc/sparc.c (sparc_option_override): Use
11949 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
11950
a758fd67
RG
119512011-03-11 Richard Guenther <rguenther@suse.de>
11952
11953 PR tree-optimization/48067
11954 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
11955 multiplication result will be only used once on the target
11956 stmt.
11957
03dfda54
RG
119582011-03-11 Richard Guenther <rguenther@suse.de>
11959
11960 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
11961
5f11a50a
RG
119622011-03-11 Richard Guenther <rguenther@suse.de>
11963
11964 PR lto/48073
11965 * tree.c (find_decls_types_r): Do not walk types only reachable
11966 from IDENTIFIER_NODEs.
11967
4074f163
JJ
119682011-03-11 Jakub Jelinek <jakub@redhat.com>
11969
11970 PR middle-end/48044
11971 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
11972 all vnode->force_output nodes as needed.
11973
30f7cdcd
JM
119742011-03-11 Jason Merrill <jason@redhat.com>
11975
11976 PR c++/48069
11977 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
11978 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
11979
62ecfeb8
MJ
119802011-03-11 Martin Jambor <mjambor@suse.cz>
11981
11982 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
11983 cgraph_node.
11984
e89e03ab
JJ
119852011-03-11 Jakub Jelinek <jakub@redhat.com>
11986
11987 PR tree-optimization/48063
11988 * ipa-inline.c (cgraph_decide_inlining): Don't try to
11989 inline functions called once if !tree_can_inline_p (node->callers).
11990
efbe978b 119912011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 11992
efbe978b
EB
11993 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
11994 extra_objs.
9d6193a7
CL
11995 * config/score/score3.c: Delete.
11996 * config/score/score3.h: Delete.
11997 * config/score/mul-div.S: Delete.
11998 * config/score/sfp-machine.h: Add new file.
11999 * config/score/constraints.md: Add new file.
12000 * config/score/t-score-softfp: Add new file.
efbe978b 12001 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
12002 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
12003 (score7_extra_constraint): Delete.
efbe978b 12004 (score7_option_override): Remove unused code.
9d6193a7
CL
12005 * config/score/score.c: Remove score3 and score5 define and code.
12006 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 12007 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
12008 * config/score/score.opt: Remove score3 and score5 options.
12009
5de27cca
JDA
120102011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12011
12012 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
12013 when _HPUX_SOURCE is defined.
12014 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
12015
18d92053
JM
120162011-03-10 Jason Merrill <jason@redhat.com>
12017
12018 PR c++/48029
12019 * stor-layout.c (layout_type): Don't set structural equality
12020 on arrays of incomplete type.
12021 * tree.c (type_hash_eq): Handle comparing them properly.
12022
67a2f76d
JJ
120232011-03-10 Jakub Jelinek <jakub@redhat.com>
12024
12025 PR debug/48043
18d92053 12026 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
12027 result mode matches original rtl mode.
12028
d845b2f9
NC
120292011-03-10 Nick Clifton <nickc@redhat.com>
12030
12031 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 12032 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 12033
db7ec035
JJ
120342011-03-09 Jakub Jelinek <jakub@redhat.com>
12035
12036 PR rtl-optimization/47866
12037 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
12038 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
12039 if target wasn't scalar.
12040 * function.c (assign_stack_temp_for_type): Assert that neither
12041 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
12042 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
12043 macro.
12044 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
12045
5d304e47
AK
120462011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12047
12048 * config/s390/s390-protos.h (s390_label_align): New prototype.
12049 * config/s390/s390.c (s390_label_align): New function.
12050 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
12051
93b826f0
MM
120522011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
12053
12054 PR target/47755
12055 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
12056 V2DI/V2DF constants. Only all 0's or all 1's are easy.
12057 (output_vec_const_move): Ditto.
12058
ef78aed6
AS
120592011-03-08 Anatoly Sokolov <aesok@post.ru>
12060
12061 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
12062 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
12063 * config/mips/mips.c (mips_preferred_reload_class): Make static.
12064 Change 'rclass' argument and result type to reg_class_t.
12065 (TARGET_PREFERRED_RELOAD_CLASS): Define.
12066
5f892aa0
GJL
120672011-03-08 Georg-Johann Lay <avr@gjlay.de>
12068
9e43ad68
UB
12069 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
12070 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
12071 (TARGET_MEMORY_MOVE_COST): Define.
12072 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 12073
32bd2409
JJ
120742011-03-08 Jakub Jelinek <jakub@redhat.com>
12075
530a4800
JJ
12076 PR debug/47881
12077 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
12078 removed anything.
12079
32bd2409
JJ
12080 PR tree-optimization/48022
12081 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
12082 for EQ/NE_EXPR.
12083
c7148991
JJ
120842011-03-07 Jakub Jelinek <jakub@redhat.com>
12085
12086 PR debug/47991
12087 * var-tracking.c (find_use_val): Return NULL for
12088 cui->sets && cui->store_p BLKmode MEMs.
12089
43070a6e
AS
120902011-03-07 Anatoly Sokolov <aesok@post.ru>
12091
12092 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
12093 Remove.
12094 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
12095 xstormy16_print_operand_address): Remove.
12096 * config/stormy16/stormy16.c (xstormy16_print_operand,
12097 xstormy16_print_operand_address): Make static.
12098 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
12099
efbe978b 121002011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
12101
12102 PR target/47862
12103 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
12104 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
12105 before definition.
12106
cec8ac0b
ZD
121072011-03-07 Zdenek Dvorak <ook@ucw.cz>
12108
12109 PR bootstrap/48000
12110 * cfgloopmanip.c (fix_bb_placements): Return immediately
12111 if FROM is BASE_LOOP's header.
12112
59527282
PW
121132011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
12114
12115 * gimplify.c (gimplify_function_tree): Fix building calls
12116 to __builtin_return_address.
12117
617718f7
AM
121182011-03-07 Alan Modra <amodra@gmail.com>
12119
12120 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
12121 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
12122 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
12123 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
12124 return_mode args.
12125 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
12126 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
12127 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
12128 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
12129 * config/rs6000/rs6000.c
12130 (rs6000_elf_end_indicate_exec_stack): Rename to..
12131 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
12132 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
12133 (rs6000_file_start): ..here.
12134 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
12135 file scope variables.
12136 (call_ABI_of_interest): New function.
12137 (init_cumulative_args): Set above vars when function return value
12138 is a float, vector, or small struct.
12139 (rs6000_function_arg_advance_1): Likewise for function args.
12140 (rs6000_va_start): Set rs6000_passes_float if variable arg function
12141 references float args.
12142
38528d50
MX
121432011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
12144
12145 * doc/cfg.texi: Remove "See" before @ref.
12146 * doc/invoke.texi: Likewise.
12147
f42cf4f4
JM
121482011-03-05 Jason Merrill <jason@redhat.com>
12149
12150 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
12151
804a304d
AG
121522011-03-05 Anthony Green <green@moxielogic.com>
12153
12154 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
12155
634ee309
ZD
121562011-03-05 Zdenek Dvorak <ook@ucw.cz>
12157
12158 PR rtl-optimization/47899
12159 * cfgloopmanip.c (fix_bb_placements): Fix first argument
12160 to flow_loop_nested_p when moving the loop upward.
12161
6fe471c8
RE
121622011-03-05 Richard Earnshaw <rearnsha@arm.com>
12163
12164 PR target/47719
12165 * arm.md (movhi_insn_arch4): Accept any immediate constant.
12166
cc58ceee
JJ
121672011-03-05 Jakub Jelinek <jakub@redhat.com>
12168
12169 PR tree-optimization/47967
12170 * ipa-cp.c (build_const_val): Return NULL instead of creating
12171 VIEW_CONVERT_EXPR for mismatching sizes.
12172 (ipcp_create_replace_map): Return NULL if build_const_val failed.
12173 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
12174 give up on versioning.
12175
ea868305
AM
121762011-03-05 Alan Modra <amodra@gmail.com>
12177
12178 PR target/47986
12179 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
12180 full cmodel medium/large lo_sum + high addresses.
12181
bc6ce334
AK
121822011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12183
12184 * config/s390/s390.c (s390_decompose_address): Reject non-literal
12185 pool references in UNSPEC_LTREL_OFFSET.
12186
87e7b310
JH
121872011-03-04 Jan Hubicka <jh@suse.cz>
12188
12189 PR lto/47497
12190 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
12191 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
12192 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
12193 Add node pointers.
87e7b310
JH
12194 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
12195 cgraph_add_thunk): Add node pointers.
12196 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
12197 associated to right node.
12198 (input_node): Update use of cgraph_same_body_alias
12199 and cgraph_add_thunk.
12200
d9c64246
CF
122012011-03-04 Changpeng Fang <changpeng.fang@amd.com>
12202
12203 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
12204 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
12205 modes when the flag -mprefer-avx128 is on.
d9c64246 12206
08707076
RS
122072011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
12208
12209 * dwarf2out.c (compare_loc_operands): Fix address handling.
12210
52517c81
AM
122112011-03-04 Alan Modra <amodra@gmail.com>
12212
12213 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
12214
b147c5b9
RG
122152011-03-04 Richard Guenther <rguenther@suse.de>
12216
12217 PR middle-end/47968
12218 * expmed.c (extract_bit_field_1): Prefer vector modes that
12219 vec_extract patterns can handle.
12220
8750672f
RG
122212011-03-04 Richard Guenther <rguenther@suse.de>
12222
12223 PR middle-end/47975
12224 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
12225
9eac0f2a
RH
122262011-03-04 Richard Henderson <rth@redhat.com>
12227
12228 * explow.c (emit_stack_save): Remove 'after' parameter.
12229 (emit_stack_restore): Likewise.
12230 * expr.h: Update to match.
12231 * builtins.c, calls.c, stmt.c: Likewise.
12232 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
12233 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
12234 * function.c (expand_function_end): Insert the emit_stack_save
12235 sequence before parm_birth_insn instead of after.
12236
dfee1406
UB
122372011-03-03 Uros Bizjak <ubizjak@gmail.com>
12238
12239 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
12240 (ssse3_pmaddubsw128): Ditto.
12241 (ssse3_pmaddubsw): Ditto.
12242
f1d4c3de
SE
122432011-03-03 Steve Ellcey <sje@cup.hp.com>
12244
12245 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
12246
71f3a3f5
JJ
122472011-03-03 Jakub Jelinek <jakub@redhat.com>
12248
423ed416
JJ
12249 PR c/47963
12250 * gimplify.c (omp_add_variable): Only call omp_notice_variable
12251 on TYPE_SIZE_UNIT if it is a DECL.
12252
71f3a3f5
JJ
12253 PR debug/47283
12254 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
12255 first operand is not is_gimple_mem_ref_addr, try to fold it.
12256 If the operand still isn't is_gimple_mem_ref_addr, clear
12257 MEM_EXPR on op0.
12258
4b1a5c0d
RG
122592011-03-03 Richard Guenther <rguenther@suse.de>
12260
12261 PR middle-end/47283
12262 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
12263 match comment.
12264 (refs_may_alias_p_1): For release branches return true if
12265 we are confused by our input.
12266
b46616fd
AK
122672011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12268
12269 * config/s390/s390.c (s390_function_value): Rename to ...
12270 (s390_function_and_libcall_value): ... this.
12271 (s390_function_value): New function.
12272 (s390_libcall_value): New function.
dfee1406 12273 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
12274 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
12275 target macro definitions.
12276 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
12277
46d8fabb
JM
122782011-03-02 Joseph Myers <joseph@codesourcery.com>
12279
12280 * config/i386/freebsd64.h (CC1_SPEC): Define.
12281 * config/i386/linux64.h (CC1_SPEC): Define.
12282 * config/i386/x86-64.h (CC1_SPEC): Don't define.
12283
6b1ce545
AS
122842011-03-02 Anatoly Sokolov <aesok@post.ru>
12285
12286 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
12287 Remove.
12288 * config/stormy16/stormy16.c: Include reload.h.
12289 (xstormy16_memory_move_cost): New function.
12290 (TARGET_MEMORY_MOVE_COST): Define.
12291
34161e98
RS
122922011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
12293
12294 PR rtl-optimization/47925
12295 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
12296 with side effects. Remove the more-specific check for volatile asms.
12297
f60a97cf
AM
122982011-03-02 Alan Modra <amodra@gmail.com>
12299
12300 PR target/47935
12301 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
12302 toc relative addresses for valid offsets.
12303
f2ca11ca
RG
123042011-03-01 Richard Guenther <rguenther@suse.de>
12305
12306 PR tree-optimization/47890
12307 * tree-vect-loop.c (get_initial_def_for_induction): Set
12308 related stmt properly.
12309
7a00d9ea
RG
123102011-03-01 Richard Guenther <rguenther@suse.de>
12311
12312 PR lto/47924
12313 * lto-streamer.c (lto_record_common_node): Also register
12314 the canonical type.
12315
06c7edcc
RG
123162011-03-01 Richard Guenther <rguenther@suse.de>
12317
12318 PR lto/46911
12319 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
12320 Do not stream DECL_ABSTRACT_ORIGIN.
12321 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
12322 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
12323 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
12324 Do not stream DECL_ABSTRACT_ORIGIN.
12325 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
12326 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
12327
998871e9
AS
123282011-02-28 Anatoly Sokolov <aesok@post.ru>
12329
12330 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
12331 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 12332 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
12333 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
12334 Add 'outgoing' argument.
12335 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
12336 function.
12337 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
12338 TARGET_FUNCTION_VALUE_REGNO_P): Define.
12339
94369251
KT
123402011-02-28 Kai Tietz <kai.tietz@onevision.com>
12341
12342 PR debug/28047
12343 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
12344 (lookup_filename): Likewise.
b2e2ea67 12345 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 12346
80a832cd
JJ
123472011-02-28 Bernd Schmidt <bernds@codesourcery.com>
12348 Jakub Jelinek <jakub@redhat.com>
12349
12350 PR middle-end/47893
12351 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
12352 (assign_stack_local_1): Change last argument type to int.
12353 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
12354 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 12355 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
12356 (assign_stack_local): Adjust caller.
12357 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
12358 of assign_stack_local, pass 0 as last argument.
12359 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
12360 callers.
12361
1b500976
JJ
123622011-02-28 Jakub Jelinek <jakub@redhat.com>
12363
f61c6f34
JJ
12364 PR debug/47283
12365 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
12366 Use target address_mode and pointer_mode hooks instead of hardcoded
12367 Pmode and ptr_mode. Handle some simple cases of extending if
12368 POINTERS_EXTEND_UNSIGNED < 0.
12369 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
12370 Call convert_debug_memory_address.
12371 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
12372 convert_debug_memory_address.
12373
1b500976
JJ
12374 PR middle-end/46790
12375 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
12376 * configure: Regenerated.
12377 * config.in: Regenerated.
12378 * varasm.c (default_function_section): Return NULL
b2e2ea67 12379 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 12380
2f2935b6
MJ
123812011-02-28 Martin Jambor <mjambor@suse.cz>
12382
12383 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
12384 the description to match the printed values.
12385
474086eb
RG
123862011-02-28 Richard Guenther <rguenther@suse.de>
12387
12388 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
12389 of the copied scope tree.
12390
15bf6f3a
RW
123912011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12392
12393 * doc/extend.texi (Function Attributes): Avoid deeply (and
12394 wrongly) nested tables.
12395
f6b439c9
JJ
123962011-02-27 Jakub Jelinek <jakub@redhat.com>
12397
12398 PR middle-end/47903
12399 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
12400 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
12401 r isn't op0 nor op1.
12402
1d8ca2c7
GJL
124032011-02-23 Georg-Johann Lay <avr@gjlay.de>
12404
12405 * config/avr/avr.md: Remove magic comment for emacs.
12406
593fca4b
GJL
124072011-02-23 Georg-Johann Lay <avr@gjlay.de>
12408
12409 PR target/45261
12410 * config/avr/avr.c (avr_option_override): Use error on bad options.
12411 (avr_help): New function.
12412 (TARGET_HELP): Define.
12413
6609216e
GJL
124142011-02-22 Georg-Johann Lay <avr@gjlay.de>
12415
12416 PR target/42240
12417 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
12418 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
12419
03d458af
GP
124202011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
12421
12422 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
12423 (ARM Options): Ditto.
12424 (i386 and x86-64 Options): Ditto.
12425 (RX Options): Ditto.
12426 (SPARC Options): Ditto.
12427
1c379b78
TC
124282011-02-26 Tijl Coosemans <tijl@coosemans.org>
12429
12430 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
12431 FreeBSD 6 and later. Generally use cpu generic.
12432
d5ed058c 124332011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 12434
d5ed058c
GP
12435 * doc/cpp.texi: Update copyright years.
12436
509d65dd 124372011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 12438
509d65dd 12439 PR target/46898
308d39cd
SB
12440 * config/lm32/lm32.md (ashrsi3): Added needed variable.
12441
509d65dd 124422011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 12443
509d65dd 12444 PR target/46898
308d39cd
SB
12445 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
12446 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
12447 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
12448 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 12449 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
12450 (gen_int_relational): Move declarations to start of function.
12451
822ba6d7
EB
124522011-02-25 Eric Botcazou <ebotcazou@adacore.com>
12453
12454 PR tree-optimization/45470
12455 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
12456 can throw internally only.
12457 * tree-vect-stmts.c (vectorizable_call): Likewise.
12458
ef795fc2
AS
124592011-02-24 Anatoly Sokolov <aesok@post.ru>
12460
12461 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
12462 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
12463 * config/stormy16/stormy16-protos.h
12464 (xstormy16_preferred_reload_class): Remove.
12465 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
12466 static. Change 'rclass' argument and return type to reg_class_t.
12467 (TARGET_PREFERRED_RELOAD_CLASS,
12468 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
12469
1c3277ee
RG
124702011-02-24 Richard Guenther <rguenther@suse.de>
12471
12472 * lto-streamer-in.c (input_bb): Do not find referenced vars
12473 in debug statements.
12474
67e18edb
JM
124752011-02-23 Jason Merrill <jason@redhat.com>
12476
12477 * common.opt (fabi-version): Document v5 and v6.
12478
b14fad9d
RG
124792011-02-23 Richard Guenther <rguenther@suse.de>
12480
12481 PR tree-optimization/47849
12482 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
12483
7fcf46f5
JZ
124842011-02-23 Jie Zhang <jie@codesourcery.com>
12485
12486 * opts-common.c (decode_cmdline_option): Print empty string
12487 argument as "" in decoded->orig_option_with_args_text.
12488 * gcc.c (execute): Print empty string argument as ""
12489 in the verbose output.
12490 (do_spec_1): Keep empty string argument.
12491
f85b70fd
NF
124922011-02-23 Nathan Froyd <froydnj@codesourcery.com>
12493
12494 * config.gcc: Declare score-* and crx-* obsolete.
12495
b152a615
JZ
124962011-02-23 Jie Zhang <jie@codesourcery.com>
12497
12498 PR rtl-optimization/47763
12499 * web.c (web_main): Ignore naked clobber when replacing register.
12500
bb6e77bc
AS
125012011-02-22 Anatoly Sokolov <aesok@post.ru>
12502
12503 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
12504 Remove.
12505
68bf6491
SP
125062011-02-22 Sebastian Pop <sebastian.pop@amd.com>
12507
12508 PR doc/47848
12509 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
12510
88ee1fc7
MS
125112011-02-22 Mike Stump <mikestump@comcast.net>
12512
12513 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
12514 assembler.
12515 * configure: Regenerate.
12516
6042d1dd
CLT
125172011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
12518
12519 PR rtl-optimization/46002
12520 * ira-color.c (update_copy_costs): Change class intersection
12521 test to reg_class_contents[] test of 'hard_regno'.
12522
7de97f9e
JM
125232011-02-21 Joseph Myers <joseph@codesourcery.com>
12524
12525 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
12526 than Driver option.
12527 * config/hpux11.opt (mt): Likewise.
12528 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
12529 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
12530 * config/vax/elf.opt (mno-asm-pic): Likewise.
12531 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
12532
d1d46f9f
MS
125332011-02-21 Mike Stump <mikestump@comcast.net>
12534
12535 PR target/47822
12536 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
12537 tree so we can get save the type.
12538 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
12539 for CFString instead of trying to use past the end of the builtins.
12540 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
12541 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
12542 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
12543 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
12544 Rename to darwin_builtin_cfstring.
12545 (darwin_init_cfstring_builtins): Return the built type.
12546
23e0d930
UB
125472011-02-21 Uros Bizjak <ubizjak@gmail.com>
12548
12549 PR target/47840
12550 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
12551 (_mm256_insert_epi64): Use _mm_insert_epi64.
12552
192997cf
AS
125532011-02-21 Anatoly Sokolov <aesok@post.ru>
12554
12555 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12556 * config/stormy16/stormy16-protos.h
12557 (xstormy16_mode_dependent_address_p): Remove.
12558 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
12559 Make static. Change return type to bool. Change argument type to
12560 const_rtx. Remove dead code.
12561 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12562
e292d003
RG
125632011-02-21 Richard Guenther <rguenther@suse.de>
12564
12565 PR lto/47820
12566 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
12567 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12568 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
12569 TUs context.
23e0d930 12570 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
12571 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12572
77f846e9
RG
125732011-02-20 Richard Guenther <rguenther@suse.de>
12574
12575 PR lto/47822
12576 * tree.c (free_lang_data_in_decl): Clean builtins from
12577 the TU decl BLOCK_VARS.
23e0d930 12578
b2cddfc8
AO
125792011-02-19 Alexandre Oliva <aoliva@redhat.com>
12580
12581 PR debug/47620
12582 PR debug/47630
12583 * haifa-sched.c (fix_tick_ready): Skip tick computation
12584 for debug insns.
12585
becf4c11
RG
125862011-02-19 Richard Guenther <rguenther@suse.de>
12587
12588 PR lto/47647
12589 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
12590 Remove lazy BLOCK_VARS streaming.
12591 (lto_input_ts_block_tree_pointers): Likewise.
12592 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
12593
27f98305
JM
125942011-02-19 Joseph Myers <joseph@codesourcery.com>
12595
12596 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
12597
064bf3f4
JM
125982011-02-19 Joseph Myers <joseph@codesourcery.com>
12599
12600 * config/i386/biarch32.h, config/i386/mach.h,
12601 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
12602
9215ddc3
JJ
126032011-02-19 Jakub Jelinek <jakub@redhat.com>
12604
12605 PR target/47800
12606 * config/i386/i386.md (peephole2 for shift and plus): Use
12607 operands[1] original mode in the first insn.
12608
8b021004
MS
126092011-02-18 Mike Stump <mikestump@comcast.net>
12610
65ded153 12611 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 12612
f84ae14c
JH
126132011-02-18 Jan Hubicka <jh@suse.cz>
12614
12615 PR middle-end/47788
65ded153
EB
12616 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
12617 to zero when the function is not inlinable at all.
f84ae14c 12618
eddabc80
JDA
126192011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12620
12621 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
12622 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
12623 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
12624 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
12625 * config/pa/t-pa64: Likewise.
12626 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
12627
ca3da783
JJ
126282011-02-18 Jakub Jelinek <jakub@redhat.com>
12629
12630 PR driver/47787
12631 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
12632
430aa868
JDA
126332011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12634
12635 PR target/47792
12636 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
12637
4bf7ff7e
AS
126382011-02-18 Anatoly Sokolov <aesok@post.ru>
12639
12640 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
12641 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
12642 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
12643 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
12644 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
12645 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
12646 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
12647 m32r_load_postinc_p, m32r_store_preinc_predec_p,
12648 m32r_legitimate_address_p): New functions.
12649 * config/m32r/constraints.md (constraint "S"): Don't use
12650 STORE_PREINC_PREDEC_P.
12651 (constraint "U"): Don't use LOAD_POSTINC_P.
12652
7efcf910
CLT
126532011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
12654
12655 PR rtl-optimization/46178
12656 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
12657 compute ira_hard_regno_cover_class[].
12658
237d6259
RG
126592011-02-18 Richard Guenther <rguenther@suse.de>
12660
12661 PR lto/47798
12662 * lto-streamer.h (lto_global_var_decls): Declare.
12663 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
12664 statics for global var processing.
12665
12d80acc
RG
126662011-02-18 Richard Guenther <rguenther@suse.de>
12667
12668 PR tree-optimization/47737
12669 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
12670 edge dominance check.
12671
abfea58d
JJ
126722011-02-18 Jakub Jelinek <jakub@redhat.com>
12673
12674 PR debug/47780
12675 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
12676 avoid invalid rtx sharing.
12677
f73c8882
GP
126782011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
12679
12680 * doc/cpp.texi (Obsolete Features): Add background on the
12681 origin of assertions.
12682
d764a8e6
IS
126832011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12684
12685 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 12686 objc_abi == 2.
d764a8e6
IS
12687 * config/darwin.c (output_objc_section_asm_op): Added support for
12688 ABI v1 and v2.
12689 (is_objc_metadata): New.
12690 (darwin_objc2_section): New.
12691 (darwin_objc1_section): New.
12692 (machopic_select_section): Added support for ABI v1 and v2.
12693 (darwin_emit_objc_zeroed): New.
12694 (darwin_output_aligned_bss): Detect objc metadata and treat it
12695 appropriately.
12696 (darwin_asm_output_aligned_decl_common): Same.
12697 (darwin_asm_output_aligned_decl_local): Same.
12698 * config/darwin-sections.def: Updated for ABI v1 and v2.
12699 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
12700 compiling Objective-C code for the NeXT runtime, default to using
12701 ABI version 0 for 32-bit, and version 2 for 64-bit.
12702
0a8134ca
JM
127032011-02-17 Joseph Myers <joseph@codesourcery.com>
12704
12705 * common.opt (optimize_fast): New Variable.
12706 * opts.c (default_options_optimization): Use opts->x_optimize_fast
12707 instead of local variable ofast.
12708
0a256240
NP
127092011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
12710
12711 * doc/invoke.texi (fobjc-abi-version): Documented.
12712 (fobjc-nilcheck): Documented.
12713 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
12714 version.
12715
fa381cb2
JM
127162011-02-17 Joseph Myers <joseph@codesourcery.com>
12717
12718 PR driver/47390
12719 * common.opt (export-dynamic): New Driver option.
12720 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
12721
5437eaa6
JM
127222011-02-17 Joseph Myers <joseph@codesourcery.com>
12723
12724 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
12725
bb7e6d55
AO
127262011-02-17 Alexandre Oliva <aoliva@redhat.com>
12727 Jan Hubicka <jh@suse.cz>
12728
12729 PR debug/47106
12730 PR debug/47402
12731 * cfgexpand.c (account_used_vars_for_block): Remove.
12732 (estimated_stack_frame_size): Use referenced vars.
12733 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
12734 that were referenced in the original function. Test src_fn
12735 rather than cfun. Drop redundant get_var_ann.
12736 (setup_one_parameter): Drop redundant get_var_ann.
12737 (declare_return_variable): Likewise.
12738 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
12739 (copy_arguments_for_versioning): Drop redundant get_var_ann.
12740 * ipa-inline.c (compute_inline_parameters): Do not compute
12741 disregard_inline_limits here.
bb7e6d55
AO
12742 (compute_inlinable_for_current, pass_inlinable): New.
12743 (pass_inline_parameters): Require PROP_referenced_vars.
12744 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 12745 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
12746 (cgraph_analyze_function): Set .disregard_inline_limits.
12747 * tree-sra.c (convert_callers): Compute inliner parameters
12748 only for functions already in SSA form.
12749
f181a8a7
JM
127502011-02-17 Joseph Myers <joseph@codesourcery.com>
12751
12752 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
12753 -mlittle-endian-data.
12754
c6869789
JM
127552011-02-17 Joseph Myers <joseph@codesourcery.com>
12756
12757 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
12758 -mno-fpu, not -fpu and -no-fpu.
12759 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
12760 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
12761
fbf4bfd3
UB
127622011-02-17 Uros Bizjak <ubizjak@gmail.com>
12763
12764 PR target/43653
12765 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
12766 input reload with PLUS RTX.
12767
70be5dc7
JM
127682011-02-16 Joseph Myers <joseph@codesourcery.com>
12769
12770 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
12771 of InverseVar(MDMX).
12772
30b1646e
JM
127732011-02-16 Joseph Myers <joseph@codesourcery.com>
12774
12775 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
12776 --m4-340.
12777
ab7b71e9
JM
127782011-02-16 Joseph Myers <joseph@codesourcery.com>
12779
12780 * config/mn10300/mn10300.opt (mno-crt0): New.
12781
466f3f08
JM
127822011-02-16 Joseph Myers <joseph@codesourcery.com>
12783
12784 * config/m68k/uclinux.opt (static-libc): New Driver option.
12785
8226cd7b
JM
127862011-02-16 Joseph Myers <joseph@codesourcery.com>
12787
12788 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
12789
45cab1d7
JM
127902011-02-16 Joseph Myers <joseph@codesourcery.com>
12791
12792 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
12793 %{muser-extend-enabled}.
12794
65aab64f
RG
127952011-02-16 Richard Guenther <rguenther@suse.de>
12796
12797 PR tree-optimization/47738
12798 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
12799 the TODO from tree_predictive_commoning.
12800
fc2fa4fb
JL
128012011-02-15 Jeff Law <law@redhat.com>
12802
12803 Revert
12804 2011-01-25 Jeff Law <law@redhat.com>
12805
12806 PR rtl-optimization/37273
12807 * ira-costs.c (scan_one_insn): Detect constants living in memory and
12808 handle them like argument loads from stack slots. Do not double
12809 count memory for memory constants and argument loads from stack slots.
12810
4e380b8e
L
128112011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12812
12813 PR middle-end/47725
12814 * combine.c (cant_combine_insn_p): Revert the last change.
12815
e3a69bb4
MM
128162011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
12817
12818 PR target/47755
12819 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
12820 mode for vector constants. Remove code that checks for TImode.
12821
de650422
AO
128222011-02-15 Alexandre Oliva <aoliva@redhat.com>
12823
12824 PR debug/47106
12825 PR debug/47402
12826 * cgraph.h (compute_inline_parameters): Return void.
12827 * ipa-inline.c (compute_inline_parameters): Adjust.
12828
30925d94
AO
128292011-02-15 Alexandre Oliva <aoliva@redhat.com>
12830
12831 PR debug/47106
12832 PR debug/47402
12833 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
12834 rather than decl.
12835 * cfgexpand.c (estimated_stack_frame_size): Likewise.
12836 * ipa-inline.c (compute_inline_parameters): Adjust.
12837
1b9a784a
AO
128382011-02-15 Alexandre Oliva <aoliva@redhat.com>
12839
12840 PR debug/47106
12841 PR debug/47402
12842 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
12843 Adjust all users. Pass FN to...
12844 * tree-flow-inline.h (first_referenced_var): ... this. Add
12845 fn argument.
12846 * ipa-struct-reorg.c: Adjust.
12847 * tree-dfa.c: Adjust.
12848 * tree-into-ssa.c: Adjust.
12849 * tree-sra.c: Adjust.
12850 * tree-ssa-alias.c: Adjust.
12851 * tree-ssa-live.c: Adjust.
12852 * tree-ssa.c: Adjust.
12853 * tree-ssanames.c: Adjust.
12854 * tree-tailcall.c: Adjust.
12855
27c6b086
AO
128562011-02-15 Alexandre Oliva <aoliva@redhat.com>
12857
12858 PR debug/47106
12859 PR debug/47402
12860 * tree-flow.h (referenced_var_lookup): Add fn parameter.
12861 Adjust all callers.
12862 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
12863 * tree-flow-inline.h: Adjust.
12864 * gimple-pretty-print.c: Adjust.
12865 * tree-into-ssa.c: Adjust.
12866 * tree-ssa.c: Adjust.
12867 * cfgexpand.c: Adjust.
12868
679e8183
NF
128692011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12870
fbf4bfd3
UB
12871 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
12872 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12873 (EXTRA_CONSTRAINT): Delete.
12874 * config/iq2000/constraints.md: New file.
12875 * config/iq2000/iq2000.md: Include it.
679e8183
NF
12876 (define_insn ""): Delete.
12877 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
12878 unsupported constraint letters from patterns.
12879 (call_value, call_value_internal1): Likewise.
12880 (call_value_multiple_internal1): Likewise.
12881
a45d420a
NC
128822011-02-15 Nick Clifton <nickc@redhat.com>
12883
12884 * config/mn10300/mn10300.c: Include tm-constrs.h.
12885 (struct liw_data): New data structure describing an LIW candidate
12886 instruction.
12887 (extract_bundle): Use struct liw_data. Allow small integer
12888 operands for some instructions.
12889 (check_liw_constraints): Use struct liw_data. Remove swapped
12890 parameter. Add comments describing the checks. Fix bug when
12891 assigning the source of liw1 to the source of liw2.
12892 (liw_candidate): Delete. Code moved into extract_bundle.
12893 (mn10300_bundle_liw): Use struct liw_data. Check constraints
12894 before swapping.
12895 * config/mn10300/predicates.md (liw_operand): New predicate.
12896 Allows registers and small integer constants.
12897 * config/mn10300/constraints.md (O): New constraint. Accetps
12898 integers in the range -8 to +7 inclusive.
12899 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
12900 for moving a small integer into a register. Give this alternative
12901 LIW attributes.
12902 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
12903 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
12904 using the J,K,L and M constraints,
12905 (liw): Remove SI mode on second operands to allow for HI and QI
12906 mode values.
12907 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
12908 instruction.
12909
8a73faf1
L
129102011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12911
12912 PR middle-end/47725
12913 * combine.c (cant_combine_insn_p): Check zero/sign extended
12914 hard registers.
12915
48feba28
RG
129162011-02-15 Richard Guenther <rguenther@suse.de>
12917
12918 PR tree-optimization/47743
12919 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
12920 for a non-type-compatible VN lookup bail out.
12921
ad1c1eeb
NF
129222011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12923
12924 * config/fr30/constraints.md: New file.
12925 * config/fr30/fr30.md: Include it.
12926 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
12927 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12928 (EXTRA_CONSTRAINT): Delete.
12929
49ac143d
NF
129302011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12931
12932 * config/frv/constraints.md: New file.
12933 * config/frv/predicates.md: Include it.
12934 * config/frv/frv.c (reg_class_from_letter): Delete.
12935 (frv_option_override): Don't initialize it.
12936 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
12937 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
12938 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
12939 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
12940 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
12941 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12942 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
12943 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
12944 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
12945 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
12946 (REG_CLASS_FROM_CONSTRAINT): Delete.
12947
c95f9494
JJ
129482011-02-15 Jakub Jelinek <jakub@redhat.com>
12949
12950 PR middle-end/47581
12951 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
12952 if frame size is 0 in a leaf function.
12953
13aed611
RO
129542011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12955
12956 PR pch/14940
12957 * config/alpha/host-osf.c: New file.
12958 * config/alpha/x-osf: New file.
12959 * config.host (alpha*-dec-osf*): Use it.
12960
b09c3081
AS
129612011-02-14 Anatoly Sokolov <aesok@post.ru>
12962
12963 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12964 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
12965 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
12966 (rx_mode_dependent_address_p): ...this. Make static. Change argument
12967 type to const_rtx.
12968 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12969
d634083b
NF
129702011-02-14 Nathan Froyd <froydnj@codesourcery.com>
12971
12972 * config/stormy16/constraints.md: New file.
12973 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
12974 Use satisfies_constraint_Q and satisfies_constraint_R.
12975 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
12976 Delete.
12977 (xstormy16_legitiamte_address_p): Declare.
12978 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
12979 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12980 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 12981 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
12982 Un-staticize.
12983 (xstormy16_extra_constraint_p): Delete.
12984
c7dd803e
EB
129852011-02-14 Eric Botcazou <ebotcazou@adacore.com>
12986
12987 PR tree-optimization/46494
12988 * loop-unroll.c (split_edge_and_insert): Adjust comment.
12989 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
12990 (pass_rtl_loop_done): Add TODO_verify_flow.
12991 * fwprop.c (pass_rtl_fwprop): Likewise.
12992 * modulo-sched.c (pass_sms): Likewise.
12993 * tree-ssa-dom.c (pass_dominator): Likewise.
12994 * tree-ssa-loop-ch.c (pass_ch): Likewise.
12995 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
12996 (pass_tree_loop_done): Likewise.
12997 * tree-ssa-pre.c (execute_pre): Likewise.
12998 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
12999 * tree-ssa-sink.c (pass_sink_code): Likewise.
13000 * tree-vrp.c (pass_vrp): Likewise.
13001
c6150df6
NF
130022011-02-14 Nathan Froyd <froydnj@codesourcery.com>
13003
c7dd803e
EB
13004 * config/v850/constraints.md: New file.
13005 * config/v850/v850.md: Include it.
13006 * config/v850/predicates.md (reg_or_0_operand): Use
13007 satisfies_constraint_G.
13008 (special_symbolref_operand): Use satisfies_constraint_K.
13009 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
13010 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
13011 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
13012 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
13013 (EXTRA_CONSTRAINT): Delete.
13014 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
13015 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
13016 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 13017
30dd1ea3
AS
130182011-02-14 Anatoly Sokolov <aesok@post.ru>
13019
13020 PR target/47696
13021 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
13022 description.
13023
944f4bb3
NF
130242011-02-14 Nathan Froyd <froydnj@codesourcery.com>
13025
13026 * config/mcore/constraints.md: New file.
13027 * config/mcore/mcore.md: Include it.
13028 * config/mcore/mcore.c (reg_class_from_letter): Delete.
13029 * config/mcore/mcore.h (reg_class_from_letter): Delete.
13030 (REG_CLASS_FROM_LETTER): Delete.
13031 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
13032 insn_const_int_ok_for_constraint.
13033 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
13034 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
13035 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
13036 (EXTRA_CONSTRAINT): Delete.
13037
ad56a54c
RO
130382011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13039
13040 PR ada/41929
13041 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
13042 (IS_SIGHANDLER): Define.
13043 (sparc64_is_sighandler): New function, split off from
13044 sparc64_fallback_frame_state.
13045 (sparc_is_sighandler): New function, split off from
13046 sparc_fallback_frame_state.
13047 (sparc64_fallback_frame_state): Merge with ...
13048 (sparc_fallback_frame_state): ... this into ...
13049 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
13050 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
13051 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
13052 stack instead of hardcoded offsets.
ad56a54c 13053
fbf4bfd3 130542011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
13055
13056 PR target/45808
13057 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
13058
029c8f3e
RW
130592011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13060
13061 * configure: Regenerate.
13062
a016dc83
JM
130632011-02-12 Joseph Myers <joseph@codesourcery.com>
13064
13065 PR driver/45731
13066 * gcc.c (asm_options): Correct spec matching --target-help.
13067
8957a0ec
MJ
130682011-02-12 Martin Jambor <mjambor@suse.cz>
13069
13070 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
13071 to gimple call error.
13072
6ef828bc
MS
130732011-02-12 Mike Stump <mikestump@comcast.net>
13074
13075 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
13076 comments in backslash regions.
13077
a4015be5
MS
130782011-02-12 Mike Stump <mikestump@comcast.net>
13079 Jakub Jelinek <jakub@redhat.com>
13080 Iain Sandoe <iains@gcc.gnu.org>
13081
13082 PR target/47324
13083 * dwarf2out.c (output_cfa_loc): When required, apply the
13084 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
13085 (output_loc_sequence): Likewise.
13086 (output_loc_operands_raw): Likewise.
13087 (output_loc_sequence_raw): Likewise.
13088 (output_cfa_loc): Likewise.
13089 (output_loc_list): Suppress register number adjustment when
13090 calling output_loc_sequence()
13091 (output_die): Likewise.
13092
5378dda2
AS
130932011-02-12 Anatoly Sokolov <aesok@post.ru>
13094
13095 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
13096 Remove macros.
13097 * config/xtensa/xtensa.c (xtensa_register_move_cost,
13098 xtensa_memory_move_cost): New functions.
13099 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
13100
f3d533d3
AO
131012011-02-12 Alexandre Oliva <aoliva@redhat.com>
13102
13103 PR lto/47225
13104 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
13105 in the current directory.
13106 * configure: Rebuilt.
13107
9d53403c
IS
131082011-02-12 Iain Sandoe <iains@gcc.gnu.org>
13109
13110 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 13111 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
13112 correct indents of the preceding block.
13113
a350a6c8
IS
131142011-02-12 Iain Sandoe <iains@gcc.gnu.org>
13115
13116 * gcc.c (driver_handle_option): Concatenate the argument to -F with
13117 the switch.
13118
bab79a40
JM
131192011-02-11 Joseph Myers <joseph@codesourcery.com>
13120
13121 * common.opt (nostartfiles): New Driver option.
13122
1bbc6693
XDL
131232011-02-11 Xinliang David Li <davidxl@google.com>
13124
13125 PR tree-optimization/47707
13126 * tree-chrec.c (convert_affine_scev): Keep type precision.
13127
1da7d8c0
EB
131282011-02-11 Eric Botcazou <ebotcazou@adacore.com>
13129
13130 PR tree-optimization/47420
13131 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
13132
131332011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
13134
13135 PR rtl-optimization/47614
13136 * rtl.h (check_for_inc_dec): Declare.
13137 * dse.c (check_for_inc_dec): Externalize...
13138 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
13139 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
13140
4df47bca
JM
131412011-02-11 Joseph Myers <joseph@codesourcery.com>
13142
13143 PR driver/47678
13144 * gcc.c (main): Do not compile inputs if there were errors in
13145 option handling.
13146 * opts-common.c (read_cmdline_option): Check for wrong language
13147 after other error checks.
13148
61502ca8
NF
131492011-02-11 Nathan Froyd <froydnj@codesourcery.com>
13150
13151 * cgraph.c: Fix comment typos.
13152 * cgraph.h: Likewise.
13153 * cgraphunit.c: Likewise.
13154 * ipa-cp.c: Likewise.
13155 * ipa-inline.c: Likewise.
13156 * ipa-prop.c: Likewise.
13157 * ipa-pure-const.c: Likewise.
13158 * ipa-ref.c: Likewise.
13159 * ipa-reference.c: Likewise.
13160
b63f974e
JJ
131612011-02-11 Jakub Jelinek <jakub@redhat.com>
13162
d50c5e0c
JJ
13163 PR debug/47684
13164 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 13165
6dd2a13c
RO
131662011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13167
13168 PR testsuite/47400
13169 * doc/sourcebuild.texi (Require Support): Document
13170 dg-require-ascii-locale.
13171
4a087ccf
MX
131722011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
13173
13174 * doc/lto.texi (Write summary): Fix missing parentheses.
13175
a4403164
DD
131762011-02-10 DJ Delorie <dj@redhat.com>
13177
13178 * config/m32c/m32c.c (m32c_option_override): Disable
13179 -fcombine-stack-adjustments until flag value tracking and compare
13180 optimization can be rewritten.
13181
4fac45bd
PB
131822011-02-10 Peter Bergner <bergner@vnet.ibm.com>
13183
13184 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
13185 PROCESSOR_POWER7.
13186 (PROCESSOR_DEFAULT64): Likewise.
13187
72602cd1
RH
131882011-02-10 Richard Henderson <rth@redhat.com>
13189
13190 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
13191 change from 2011-02-03.
13192 * config/rx/rx.c (flags_from_code): Likewise.
13193 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
13194 is valid, n/pz otherwise.
13195 (rx_select_cc_mode): Return CCmode if Y is not zero.
13196
ea57f573
RG
131972011-02-10 Richard Guenther <rguenther@suse.de>
13198
ea4c3e65 13199 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 13200
92b1d23b
RG
132012011-02-10 Richard Guenther <rguenther@suse.de>
13202
13203 PR tree-optimization/47677
13204 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
13205
525a2d06
JJ
132062011-02-10 Jakub Jelinek <jakub@redhat.com>
13207
13208 PR target/47665
13209 * combine.c (make_compound_operation): Only change shifts into
13210 multiplication for SCALAR_INT_MODE_P.
13211
06c969bd
JZ
132122011-02-10 Jie Zhang <jie@codesourcery.com>
13213
13214 PR testsuite/47622
13215 Revert
13216 2011-02-05 Jie Zhang <jie@codesourcery.com>
13217 PR debug/42631
13218 * web.c (entry_register): Don't clobber the number of the
13219 first uninitialized reference in used[].
13220
282ec48e
RG
132212011-02-09 Richard Guenther <rguenther@suse.de>
13222
13223 PR tree-optimization/47664
13224 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
13225 all edges again.
13226
df98c3e8
DE
132272011-02-09 David Edelsohn <dje.gcc@gmail.com>
13228
d0f21cd6
DE
13229 PR target/46481
13230 PR target/47032
df98c3e8
DE
13231 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
13232 PROCESSOR_POWER7.
13233 (PROCESSOR_DEFAULT64): Same.
13234 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
13235
67b6839f
RO
132362011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13237
13238 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
13239
4fd73214
MJ
132402011-02-09 Martin Jambor <mjambor@suse.cz>
13241
13242 PR middle-end/45505
13243 * tree-sra.c (struct access): New flags grp_scalar_read and
13244 grp_scalar_write. Changed description of assignment read and write
13245 flags.
13246 (dump_access): Dump new flags, reorder all of them.
13247 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
13248 to detect multiple scalar reads.
13249 (analyze_access_subtree): Use the new scalar read write flags instead
13250 of the old flags. Adjusted comments.
13251
91140cd3
DD
132522011-02-08 DJ Delorie <dj@redhat.com>
13253
13254 PR target/47548
13255 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
13256 patterns.
13257
4254bbfe
JM
132582011-02-08 Joseph Myers <joseph@codesourcery.com>
13259
13260 * config/m68k/uclinux.opt: New.
13261 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
13262
f1fda84e
JM
132632011-02-08 Joseph Myers <joseph@codesourcery.com>
13264
13265 * config/cris/elf.opt (sim): New Driver option.
13266
4933ae74
JM
132672011-02-08 Joseph Myers <joseph@codesourcery.com>
13268
13269 * config/xtensa/elf.opt: New.
13270 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
13271
4ad70280
JM
132722011-02-08 Joseph Myers <joseph@codesourcery.com>
13273
13274 * config/vax/elf.opt: New.
13275 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
13276
20893707
JM
132772011-02-08 Joseph Myers <joseph@codesourcery.com>
13278
13279 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
13280
b8e7038e
JM
132812011-02-08 Joseph Myers <joseph@codesourcery.com>
13282
13283 * config/gnu-user.opt: New.
13284 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
13285 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
13286 *-*-uclinux*): Use gnu-user.opt.
13287
e1c5225a
TS
132882011-02-08 Thomas Schwinge <thomas@schwinge.name>
13289
13290 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
13291 * config/i386/gnu.h (CPP_SPEC): Likewise.
13292
5e46b0c6
ILT
132932011-02-08 Ian Lance Taylor <iant@google.com>
13294
13295 * common.opt (fcx-limited-range): Add SetByCombined flag.
13296 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
13297 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
13298 (fassociative-math, freciprocal-math): Likewise.
13299 (funsafe-math-optimizations): Likewise.
13300 * opth-gen.awk: Handle SetByCombined.
13301 * optc-gen.awk: Likewise.
ea4c3e65 13302 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
13303 (set_unsafe_math_optimizations_flags): Likewise.
13304 * doc/options.texi (Option properties): Document SetByCombined.
13305
32243d46
JM
133062011-02-08 Joseph Myers <joseph@codesourcery.com>
13307
13308 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
13309 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
13310 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
13311 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
13312 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
13313
479c1fb3
SP
133142011-02-08 Sebastian Pop <sebastian.pop@amd.com>
13315
13316 PR tree-optimization/46834
13317 PR tree-optimization/46994
13318 PR tree-optimization/46995
13319 * graphite-sese-to-poly.c (used_outside_reduction): New.
13320 (detect_commutative_reduction): Call used_outside_reduction.
13321 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
13322 translate_scalar_reduction_to_array only when at least one
13323 loop-phi/close-phi tuple has been detected.
13324
3865a06f
RG
133252011-02-08 Richard Guenther <rguenther@suse.de>
13326
13327 PR middle-end/47639
13328 * tree-vect-generic.c (expand_vector_operations_1): Update
13329 stmts here ...
13330 (expand_vector_operations): ... not here. Cleanup EH info
13331 and the CFG if required.
13332
62902f3f
RG
133332011-02-08 Richard Guenther <rguenther@suse.de>
13334
13335 PR tree-optimization/47641
13336 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
13337 require type compatibility.
13338
0efb9d64
AK
133392011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13340
13341 * gimple-low.c (lower_function_body): Don't remove the location of
13342 the return statement here.
13343 (lower_gimple_return): Do it here instead but only if the return
13344 statement is actually used twice.
13345
034b8ae4
RG
133462011-02-08 Richard Guenther <rguenther@suse.de>
13347
13348 PR tree-optimization/47632
13349 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
13350 unused up_to_stmt parameter, return whether cfg-cleanup is
13351 necessary, remove EH info properly.
13352 (forward_propagate_into_gimple_cond): Adjust caller.
13353 (forward_propagate_into_cond): Likewise.
13354 (forward_propagate_comparison): Likewise.
13355 (tree_ssa_forward_propagate_single_use_vars): Make
13356 forward_propagate_comparison case similar to the two others.
13357
298362c8
NC
133582011-02-08 Nick Clifton <nickc@redhat.com>
13359
13360 * config/mn10300/mn10300.opt (mliw): New command line option.
13361 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
13362 (liw_bundling): New automaton.
13363 (liw): New attribute.
13364 (liw_op): New attribute.
13365 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
13366 (movsi_internal): Add LIW attributes.
13367 (andsi3): Likewise.
13368 (iorsi3): Likewise.
13369 (xorsi3): Likewise.
13370 (addsi3): Separate register and immediate alternatives.
13371 Add LIW attributes.
13372 (subsi3): Likewise.
13373 (cmpsi): Likewise.
13374 (aslsi3): Likewise.
13375 (lshrsi3): Likewise.
13376 (ashrsi3): Likewise.
13377 (liw): New pattern.
13378 * config/mn10300/mn10300.c (liw_op_names): New
13379 (mn10300_print_operand): Handle 'W' operand descriptor.
13380 (extract_bundle): New function.
13381 (check_liw_constraints): New function.
13382 (liw_candidate): New function.
13383 (mn10300_bundle_liw): New function.
13384 (mn10300_reorg): New function.
13385 (TARGET_MACHINE_DEPENDENT_REORG): Define.
13386 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
13387 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
13388 __LIW__ or __NO_LIW__.
13389 * doc/invoke.texi: Describe the -mliw command line option.
13390
90488014
JDA
133912011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13392
13393 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
13394 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
13395 pthread_mutex_unlock): Remove.
13396 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
13397 * config/pa/t-pa64: Likewise.
13398 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
13399 shared libc if not linking against libpthread.
13400 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
13401
689ff841
IS
134022011-02-07 Iain Sandoe <iains@gcc.gnu.org>
13403
13404 PR target/47558
13405 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
13406 on 10.6 and later to ensure that we always use the unwinder from
13407 the system. Only add -no_compact_unwind when tarteting darwin
13408 10.6 or later.
13409
821014aa
SE
134102011-02-07 Steve Ellcey <sje@cup.hp.com>
13411
13412 PR target/46997
13413 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
13414 (vec_interleave_lowv2sf): Ditto.
13415 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
13416 (vec_extract_oddv2sf): Ditto.
13417
41cf94fb
MS
134182011-02-07 Mike Stump <mikestump@comcast.net>
13419
62dea57d 13420 PR target/42333
41cf94fb
MS
13421 Add __ieee_divdc3 entry point.
13422 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
13423 entry point.
13424 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
13425 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
13426 * config/darwin.c (darwin_rename_builtins): Add.
13427 * config/darwin-protos.h (darwin_rename_builtins): Add.
13428
ee09a3dd
MM
134292011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
13430
13431 PR target/47636
13432 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
13433 for the condition.
13434
83296cd0
MS
134352011-02-07 Mike Stump <mikestump@comcast.net>
13436
ea4c3e65 13437 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 13438
0f4e946f
DC
134392011-02-07 Denis Chertykov <chertykov@gmail.com>
13440
13441 PR target/47534
13442 * config/avr/libgcc.S (exit): Move .endfunc
13443
1ec87690
RG
134442011-02-07 Richard Guenther <rguenther@suse.de>
13445
13446 PR tree-optimization/47615
13447 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
13448 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
13449 (run_scc_vn): Initialize it.
13450 (visit_reference_op_load): Use it.
13451 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
13452
b46ae6da
UW
134532011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13454
13455 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
13456 DImode trapping arithmetic libfuncs.
13457
c0aae19c
RG
134582011-02-07 Richard Guenther <rguenther@suse.de>
13459
13460 PR tree-optimization/47621
13461 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
13462 two duplicates ...
13463 (execute_update_addresses_taken): ... here. Make it more
13464 conservative in what we accept.
13465
295d926b
JM
134662011-02-06 Joseph Myers <joseph@codesourcery.com>
13467
13468 * config/sparc/freebsd.h (ASM_SPEC): Define.
13469 * config/sparc/vxworks.h (ASM_SPEC): Define.
13470
bdeb2471
JM
134712011-02-06 Joseph Myers <joseph@codesourcery.com>
13472
13473 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
13474
d5d3781a
SB
134752011-02-06 Steven Bosscher <steven@gcc.gnu.org>
13476
13477 * doc/invoke.texi: Remove reference to compiler internals from
13478 user documentation.
13479
13480 * reg-notes.def: Remove REG_VALUE_PROFILE.
13481 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
13482
c42c09fc
JJ
134832011-02-05 Jakub Jelinek <jakub@redhat.com>
13484
13485 PR middle-end/47610
13486 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 13487 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 13488
beea2755
JZ
134892011-02-05 Jie Zhang <jie@codesourcery.com>
13490
13491 PR debug/42631
13492 * web.c (entry_register): Don't clobber the number of the
13493 first uninitialized reference in used[].
13494
a130584a
SP
134952011-02-04 Sebastian Pop <sebastian.pop@amd.com>
13496
13497 PR tree-optimization/46194
13498 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
13499 (build_classic_dist_vector_1): Do not represent classic distance
13500 vectors when the access functions are variating in different loops.
13501
962101ac
JM
135022011-02-04 Joseph Myers <joseph@codesourcery.com>
13503
13504 * config/mips/iris6.opt: New.
13505 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
13506
55eaaa5b
RH
135072011-02-04 Richard Henderson <rth@redhat.com>
13508 Steve Ellcey <sje@cup.hp.com>
13509
13510 PR target/46997
13511 * config/ia64/predicates.md (mux1_brcst_element): New.
13512 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
13513 * config/ia64/ia64.c (ia64_unpack_assemble): New.
13514 (ia64_unpack_sign): New.
13515 (ia64_expand_unpack): Rewrite using new routines.
13516 (ia64_expand_widen_sum): Ditto.
13517 (ia64_expand_dot_prod_v8qi): Ditto.
13518 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
13519 routines, add endian check.
13520 (pmpy2_even): Rename from pmpy2_r, add endian check.
13521 (pmpy2_odd): Rename from pmpy2_l, add endian check.
13522 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
13523 (vec_widen_smult_hi_v4hi): Ditto.
13524 (vec_widen_umult_lo_v4hi): Ditto.
13525 (vec_widen_umult_hi_v4hi): Ditto.
13526 (mulv2si3): Change endian checks.
13527 (sdot_prodv4hi): Rewrite with new calls.
13528 (udot_prodv4hi): New.
13529 (vec_pack_ssat_v4hi): Add endian check.
13530 (vec_pack_usat_v4hi): Ditto.
13531 (vec_pack_ssat_v2si): Ditto.
13532 (max1_even): Rename from max1_r, add endian check.
13533 (max1_odd): Rename from max1_l, add endian check.
13534 (*mux1_rev): Format change.
13535 (*mux1_mix): Ditto.
13536 (*mux1_shuf): Ditto.
13537 (*mux1_alt): Ditto.
13538 (*mux1_brcst_v8qi): Use new predicate.
13539 (vec_extract_evenv8qi): Remove endian check.
13540 (vec_extract_oddv8qi): Ditto.
13541 (vec_interleave_lowv4hi): Format change.
13542 (vec_interleave_highv4hi): Ditto.
13543 (mix2_even): Rename from mix2_r, add endian check.
13544 (mix2_odd): Rename from mux2_l, add endian check.
13545 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
13546 (vec_extract_evenodd_helper): Format change.
13547 (vec_extract_evenv4hi): Remove endian check.
13548 (vec_extract_oddv4hi): Remove endian check.
13549 (vec_interleave_lowv2si): Format change.
13550 (vec_interleave_highv2si): Format change.
13551 (vec_initv2si): Remove endian check.
13552 (vecinit_v2si): Add endian check.
13553 (reduc_splus_v2sf): Add endian check.
13554 (reduc_smax_v2sf): Ditto.
13555 (reduc_smin_v2sf): Ditto.
13556 (vec_initv2sf): Remove endian check.
13557 (fpack): Add endian check.
13558 (fswap): Add endian check.
13559 (vec_interleave_highv2sf): Add endian check.
13560 (vec_interleave_lowv2sf): Add endian check.
13561 (fmix_lr): Add endian check.
13562 (vec_setv2sf): Format change.
13563 (*vec_extractv2sf_0_be): Use shift to extract operand.
13564 (*vec_extractv2sf_1_be): New.
13565 (vec_pack_trunc_v4hi): Add endian check.
13566 (vec_pack_trunc_v2si): Format change.
13567
dcde5957
JJ
135682011-02-04 Jakub Jelinek <jakub@redhat.com>
13569
13570 PR inline-asm/23200
13571 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 13572 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
13573 (stmt_is_replaceable_p): New function.
13574 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
13575 callers.
13576 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
13577 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
13578 SSA_NAME_DEF_STMT.
13579 * tree-flow.h (stmt_is_replaceable_p): New prototype.
13580
a64a8e5a
JM
135812011-02-04 Joseph Myers <joseph@codesourcery.com>
13582
13583 * config/rs6000/xilinx.opt: New.
13584 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
13585
4da2ed2f
JM
135862011-02-04 Joseph Myers <joseph@codesourcery.com>
13587
13588 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
13589
a6e508f9
AS
135902011-02-03 Anatoly Sokolov <aesok@post.ru>
13591
13592 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
13593 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
13594 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
13595 secondary_reload_info, xtensa_secondary_reload): Remove.
13596 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
13597 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
13598 (xtensa_preferred_reload_class): Make static. Change return and
13599 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
13600 Use CONST_DOUBLE_P predicate.
13601 (xtensa_preferred_output_reload_class): New function.
13602 (xtensa_secondary_reload): Make static.
13603
82dc0de3
JM
136042011-02-03 Joseph Myers <joseph@codesourcery.com>
13605
13606 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
13607 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
13608 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
13609
7fece979
JJ
136102011-02-03 Jakub Jelinek <jakub@redhat.com>
13611
13612 PR middle-end/31490
13613 * output.h (SECTION_RELRO): Define.
13614 (SECTION_MACH_DEP): Adjust.
13615 (get_variable_section): New prototype.
13616 * varpool.c (varpool_finalize_named_section_flags): New function.
13617 (varpool_assemble_pending_decls): Call it.
13618 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
13619 * cgraphunit.c (cgraph_output_in_order): Call
13620 varpool_finalize_named_section_flags.
13621 * varasm.c (get_section): Allow section flags conflicts between
13622 relro and read-only sections if the section hasn't been declared yet.
13623 Set SECTION_OVERRIDE after diagnosing section type conflict.
13624 (get_variable_section): No longer static.
13625 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
13626 readonly sections that need relocations.
13627 (decl_readonly_section_1): New function.
13628 (decl_readonly_section): Use it.
13629
13630 Revert:
509d65dd 13631 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
13632 Steve Ellcey <sje@cup.hp.com>
13633
13634 PR middle-end/31490
13635 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
13636 if section attribute used.
13637
d18d5478
JJ
136382011-02-03 Jakub Jelinek <jakub@redhat.com>
13639
13640 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
13641 * config/darwin.c (SECTION_NO_ANCHOR): Define.
13642 (darwin_init_sections): Remove assertion.
13643
6479ed4b
NC
136442011-02-03 Nick Clifton <nickc@redhat.com>
13645
13646 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
13647 lt and ge.
38be4072 13648 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
13649 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
13650 instead of "n" and "pz".
13651 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
13652 CC_FLAG_S.
13653
89843f5d
JJ
136542011-02-03 Jakub Jelinek <jakub@redhat.com>
13655
65450d64
JJ
13656 PR target/47312
13657 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
13658 fma, expand FMA_EXPR as fma{,f,l} call.
13659
7d58701c
JJ
13660 PR lto/47274
13661 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
13662 copy them into a unsigned char variable and pass address of it to
13663 lto_output_data_stream.
13664
89843f5d
JJ
13665 PR target/47564
13666 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
13667 around backend_init_target and lang_dependent_init_target calls.
13668 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
13669 (verify_cgraph_node): Don't call set_cfun here. Use
13670 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
13671 Set error_found for incorrectly represented calls to thunks.
13672
4deef538
AO
136732011-02-03 Alexandre Oliva <aoliva@redhat.com>
13674
13675 PR debug/43092
13676 PR rtl-optimization/43494
13677 * rtl.h (for_each_inc_dec_fn): New type.
13678 (for_each_inc_dec): Declare.
13679 * rtlanal.c (struct for_each_inc_dec_ops): New type.
13680 (for_each_inc_dec_find_inc_dec): New fn.
13681 (for_each_inc_dec_find_mem): New fn.
13682 (for_each_inc_dec): New fn.
13683 * dse.c (struct insn_size): Remove.
13684 (replace_inc_dec, replace_inc_dec_mem): Remove.
13685 (emit_inc_dec_insn_before): New fn.
13686 (check_for_inc_dec): Use it, along with for_each_inc_dec.
13687 (canon_address): Pass mem modes to cselib_lookup.
13688 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
13689 (cselib_lookup_from_insn): Likewise.
13690 (cselib_subst_to_values): Likewise.
13691 * cselib.c (find_slot_memmode): New var.
13692 (cselib_find_slot): New fn. Use it instead of
13693 htab_find_slot_with_hash everywhere.
13694 (entry_and_rtx_equal_p): Use find_slot_memmode.
13695 (autoinc_split): New fn.
13696 (rtx_equal_for_cselib_p): Rename and implement in terms of...
13697 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
13698 Deal with autoinc. Special-case recursion into MEMs.
13699 (cselib_hash_rtx): Likewise.
13700 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
13701 address and MEM modes.
13702 (cselib_subst_to_values): Add memmode, pass it on.
13703 Deal with autoinc.
13704 (cselib_lookup): Add memmode argument, pass it on.
13705 (cselib_lookup_from_insn): Add memmode.
13706 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
13707 (struct cselib_record_autoinc_data): New.
13708 (cselib_record_autoinc_cb): New fn.
13709 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
13710 mode to cselib_lookup. Reset autoinced REGs here instead of...
13711 (cselib_process_insn): ... here.
13712 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
13713 to cselib_lookup.
13714 (add_uses): Likewise, also to cselib_subst_to_values.
13715 (add_stores): Likewise.
13716 * sched-deps.c (add_insn_mem_dependence): Pass mode to
13717 cselib_subst_to_values.
13718 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
13719 * gcse.c (do_local_cprop): Adjusted.
13720 * postreload.c (reload_cse_simplify_set): Adjusted.
13721 (reload_cse_simplify_operands): Adjusted.
13722 * sel-sched-dump (debug_mem_addr_value): Pass mode.
13723
1551d44a
AO
137242011-02-03 Alexandre Oliva <aoliva@redhat.com>
13725
13726 PR tree-optimization/45122
13727 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
13728 unsafe assumptions when there's more than one loop exit.
13729
c9485473
MM
137302011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
13731
13732 PR target/47272
13733 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
13734 Document using vector double with the load/store builtins, and
13735 that the load/store builtins always use Altivec instructions.
13736
13737 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
13738 to use altivec memory instructions, even on VSX.
13739 (vector_altivec_store_<mode>): Ditto.
13740
13741 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
13742 function.
13743
13744 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
13745 V2DF, V2DI support to load/store overloaded builtins.
13746
13747 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
13748 altivec load/store builtins for V2DF/V2DI types.
13749
13750 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
13751 set avoid indexed addresses on power6 if -maltivec.
13752 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
13753 vector_altivec_load/vector_altivec_store builtins.
13754 (altivec_expand_st_builtin): Ditto.
13755 (altivec_expand_builtin): Add VSX memory builtins.
13756 (rs6000_init_builtins): Add V2DI types to internal types.
13757 (altivec_init_builtins): Add support for V2DF/V2DI altivec
13758 load/store builtins.
13759 (rs6000_address_for_altivec): Insure memory address is appropriate
13760 for Altivec.
13761
13762 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
13763 vec_vsx_ld and vec_vsx_st.
13764 (vsx_store_<mode>): Ditto.
13765
13766 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
13767 variables to hold long long types for VSX vector memory builtins.
13768 (RS6000_BTI_unsigned_long_long): Ditto.
13769 (long_long_integer_type_internal_node): Ditti.
13770 (long_long_unsigned_type_internal_node): Ditti.
13771
13772 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
13773 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
13774 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
13775
13776 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
13777 short cuts.
13778 (vec_vsx_st): Ditto.
13779
b24d1acf
JM
137802011-02-02 Joseph Myers <joseph@codesourcery.com>
13781
13782 * config/pa/pa-hpux10.opt: New.
13783 * config/hpux11.opt (pthread): New Driver option.
13784 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
13785 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
13786
aa18dd0f
JM
137872011-02-02 Joseph Myers <joseph@codesourcery.com>
13788
13789 * config/ia64/vms.opt: New.
13790 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
13791
28fc3eee
MM
137922011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
13793
13794 PR target/47580
13795 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
13796 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
13797 generator functions.
13798 (vsx_floatuns<VSi><mode>2): Ditto.
13799 (vsx_fix_trunc<mode><VSi>2): Ditto.
13800 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
13801
b5838b1f
JM
138022011-02-02 Joseph Myers <joseph@codesourcery.com>
13803
13804 * config/i386/djgpp.opt (posix): New Driver option.
13805
0db8fa89
GP
138062011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
13807
13808 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
13809 Move to the unsupported targets list.
13810
9cd4f22a
PB
138112011-02-02 Peter Bergner <bergner@vnet.ibm.com>
13812
13813 PR rtl-optimization/47525
13814 * df-scan.c: Update copyright years.
13815 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
13816 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
13817
9ed8059c
RO
138182011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13819
13820 * config/i386/sysv4.h (TARGET_VERSION): Remove.
13821 (SUBTARGET_RETURN_IN_MEMORY): Remove.
13822 (ASM_OUTPUT_ASCII): Remove.
13823 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
13824
2a737389
JL
138252011-02-02 Jeff Law <law@redhat.com>
13826
13827 PR middle-end/47543
13828 * reload.c (find_reloads_address): Handle reg+d address where both
13829 components are invalid by reloading the entire address.
13830
9dac82c4
SP
138312011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13832 Richard Guenther <rguenther@suse.de>
13833
13834 PR tree-optimization/40979
13835 PR bootstrap/47044
13836 * passes.c (init_optimization_passes): After LIM call copy_prop
13837 and DCE to clean up.
13838 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
13839
14dd9aab
SP
138402011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13841
13842 PR tree-optimization/47576
13843 PR tree-optimization/47555
13844 * doc/invoke.texi (scev-max-expr-complexity): Documented.
13845 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13846 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
13847 * tree-scalar-evolution.c (follow_ssa_edge): Use
13848 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
13849
5cbf5c20
RG
138502011-02-02 Richard Guenther <rguenther@suse.de>
13851
13852 PR tree-optimization/47566
13853 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
13854
83d70792
AO
138552011-02-02 Alexandre Oliva <aoliva@redhat.com>
13856
e829c321
AO
13857 PR debug/47106
13858 PR debug/47402
13859 * tree-inline.c (declare_return_variable): Remove unused caller
13860 variable.
13861
83d70792
AO
13862 PR debug/47106
13863 PR debug/47402
13864 * tree-flow-inline.h (clear_is_used, is_used_p): New.
13865 * cfgexpand.c (account_used_vars_for_block): Use them.
13866 * tree-nrv.c (tree_nrv): Likewise.
13867 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
13868 (dump_scope_block): Likewise.
13869 (remove_unused_locals): Likewise.
13870
aaa2ac93
AO
13871 PR debug/47106
13872 PR debug/47402
13873 * tree-inline.c (declare_return_variable): Add result decl to
13874 local decls only once.
13875 * gimple-low.c (record_vars_into): Mark newly-created variables
13876 as referenced.
13877
a59d15cf
AO
138782011-02-02 Alexandre Oliva <aoliva@redhat.com>
13879
13880 PR debug/47498
13881 PR debug/47501
13882 PR debug/45136
13883 PR debug/45130
13884 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
13885 debug insns.
13886 (no_real_insns_p, schedule_block, set_priorities): Drop special
13887 treatment of boundary debug insns.
38be4072 13888 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
13889 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
13890 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
13891 (BOUNDARY_DEBUG_INSN_P): Likewise.
13892 (SCHEDULE_DEBUG_INSN_P): Likewise.
13893 * sched-rgn.c (init_ready_list): Drop special treatment of
13894 boundary debug insns.
13895 * final.c (rest_of_clean_state): Clear notes' BB.
13896
6fc2f091
JM
138972011-02-01 Joseph Myers <joseph@codesourcery.com>
13898
13899 * config/openbsd.opt (assert=): New Driver option.
13900
fc523387
JM
139012011-02-01 Joseph Myers <joseph@codesourcery.com>
13902
13903 * config/i386/nto.opt: New.
13904 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
13905
6d9821e5
JM
139062011-02-01 Joseph Myers <joseph@codesourcery.com>
13907
13908 * config/i386/netware.opt: New.
13909 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
13910
cef932d4
JM
139112011-02-01 Joseph Myers <joseph@codesourcery.com>
13912
13913 * config/interix.opt (posix): New Driver option.
13914
22843acd
DD
139152011-02-01 DJ Delorie <dj@redhat.com>
13916
56490b74
DD
13917 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
13918
22843acd
DD
13919 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
13920 class for A0/A1.
13921
199c8f2f
SP
139222011-02-01 Sebastian Pop <sebastian.pop@amd.com>
13923
13924 PR tree-optimization/47561
13925 * toplev.c (process_options): Print the Graphite flags. Add
13926 flag_loop_flatten to the list of options requiring Graphite.
13927
926bcf22
JM
139282011-02-01 Joseph Myers <joseph@codesourcery.com>
13929
13930 * config/i386/cygming.opt (posix): New Driver option.
13931
59793c51
JM
139322011-02-01 Joseph Myers <joseph@codesourcery.com>
13933
13934 * config/arm/vxworks.opt: New.
13935 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
13936
183c38a4
JM
139372011-02-01 Joseph Myers <joseph@codesourcery.com>
13938
13939 * config/alpha/elf.opt: New.
13940 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
13941 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
13942
9939e416
RG
139432011-02-01 Richard Guenther <rguenther@suse.de>
13944
13945 PR tree-optimization/47559
13946 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
13947 store-motion on references that can throw.
13948
4a3c9687
BS
139492011-02-01 Bernd Schmidt <bernds@codesourcery.com>
13950
13951 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
13952 * tree-pass.h (TDF_CSELIB): New macro.
13953 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
13954 cselib_lookup): Check for it rather than for TDF_DETAILS.
13955
dd3b31fb
L
139562011-02-01 H.J. Lu <hongjiu.lu@intel.com>
13957
13958 PR driver/47547
13959 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
13960 is HOST_BIT_BUCKET.
13961
13962 * opts.c (finish_options): Don't add x_aux_base_name if it is
13963 HOST_BIT_BUCKET.
13964
34c1de79
RG
139652011-02-01 Richard Guenther <rguenther@suse.de>
13966
13967 PR tree-optimization/47555
13968 Revert
13969 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
13970
13971 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13972
dd2804d2
SB
139732011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
13974
13975 PR gcc/46692
13976 * config/lm32/t-lm32: Add multilib for all CPU options.
13977
3fd3b156
RG
139782011-02-01 Richard Guenther <rguenther@suse.de>
13979
13980 PR tree-optimization/47541
13981 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
13982 sure to have a field at offset zero.
13983
f16072b6
JM
139842011-01-31 Joseph Myers <joseph@codesourcery.com>
13985
13986 * config/arc/arc.opt (EB, EL): New Driver options.
13987
6456cf2e
JM
139882011-01-31 Joseph Myers <joseph@codesourcery.com>
13989
13990 * config/alpha/osf5.opt: New.
13991 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
13992
cdde6ab4
JM
139932011-01-31 Joseph Myers <joseph@codesourcery.com>
13994
13995 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
13996
7633415c
SP
139972011-01-31 Sebastian Pop <sebastian.pop@amd.com>
13998
13999 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
14000 -floop-interchange.
14001 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
14002 is an alias of -floop-interchange and that it requires the
14003 Graphite infrastructure.
14004 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
14005 flag_loop_interchange based on the value of flag_tree_loop_linear.
14006
0425d6f5
JJ
140072011-01-31 Jakub Jelinek <jakub@redhat.com>
14008 Richard Guenther <rguenther@suse.de>
14009
14010 PR tree-optimization/47538
14011 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
14012 type instead of r1type, except for comparisons. For right
14013 shifts and comparisons punt if there are mismatches in
14014 sizetype vs. non-sizetype types.
14015
500b16c3
RO
140162011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14017
14018 * doc/sourcebuild.texi (Effective-Target Keywords): Document
14019 avx_runtime.
14020
e279edb0
RO
140212011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14022
14023 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
14024 version number.
14025 * configure: Regenerate.
14026
c6092243
RO
140272011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14028
14029 * configure.ac (gcc_cv_ld_static_option): Define.
14030 (gcc_cv_ld_dynamic_option): Define.
14031 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
14032 instead.
14033 (HAVE_LD_STATIC_DYNAMIC): Update message.
14034 (LD_STATIC_OPTION): Define.
14035 (LD_DYNAMIC_OPTION): Define.
14036 * configure: Regenerate.
14037 * config.in: Regenerate.
14038 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
14039 HAVE_LD_STATIC_DYNAMIC]: Use them.
14040
d7862be3
NC
140412011-01-31 Nick Clifton <nickc@redhat.com>
14042
14043 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
14044 registers inside interrupt handlers if the handler is not a leaf
14045 function.
14046
ba4ec0e0
NC
140472011-01-31 Nick Clifton <nickc@redhat.com>
14048
14049 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
14050 reg_renumber returning an INVALID_REGNUM.
14051
29a63921
AO
140522011-01-31 Alexandre Oliva <aoliva@redhat.com>
14053
14054 PR libgcj/44341
14055 * doc/install.texi: Document host options discarded when cross
14056 configuring target libraries.
14057
ef591d3f
AO
140582011-01-31 Alexandre Oliva <aoliva@redhat.com>
14059
14060 Reverted:
14061 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
14062 PR debug/45136
14063 PR debug/45130
14064 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
14065 debug insns.
14066 (no_real_insns_p, schedule_block, set_priorities): Drop special
14067 treatment of boundary debug insns.
38be4072 14068 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
14069 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
14070 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
14071 (BOUNDARY_DEBUG_INSN_P): Likewise.
14072 (SCHEDULE_DEBUG_INSN_P): Likewise.
14073 * sched-rgn.c (init_ready_list): Drop special treatment of
14074 boundary debug insns.
14075 * final.c (rest_of_clean-state): Clear notes' BB.
14076
61052244
AM
140772011-01-31 Alan Modra <amodra@gmail.com>
14078
14079 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
14080 toc relative expressions as we do in print_operand_address.
14081
c4c8962b
KH
140822011-01-30 Kazu Hirata <kazu@codesourcery.com>
14083
14084 * doc/extend.texi: Follow spelling conventions.
14085 * doc/invoke.texi: Fix a typo.
14086
e543b94c
JM
140872011-01-30 Joseph Myers <joseph@codesourcery.com>
14088
14089 * config/hpux11.opt: New.
14090 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
14091 ia64*-*-hpux*): Use hpux11.opt.
14092
509d65dd 140932011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
14094
14095 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
14096 to tmake_file.
14097
7be03a0e
GP
140982011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
14099
14100 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
14101 support sites.
14102
419d1d37
GP
141032011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
14104
b596ed64
GP
14105 * doc/install.texi (Binaries): Remove outdated reference for
14106 Motorola 68HC11/68HC12 downloads.
14107
141082011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 14109
419d1d37
GP
14110 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
14111 Drepper's paper.
14112
4406d0e9
JW
141132011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
14114
14115 PR bootstrap/47147
14116 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
14117 used by NetBSD.
14118
38be4072 141192011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
14120
14121 * value-prof.c (check_counter): Corrected error message.
14122
0cd98787
JZ
141232011-01-29 Jie Zhang <jie@codesourcery.com>
14124
14125 * config/arm/arm.c (arm_legitimize_reload_address): New.
14126 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
14127 arm_legitimize_reload_address.
38be4072 14128 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 14129
9b798ac5
ILT
141302011-01-28 Ian Lance Taylor <iant@google.com>
14131
14132 * godump.c (go_define): Ignore macros whose definitions include
14133 two adjacent operands.
14134
591e29d9
JJ
141352011-01-28 Jakub Jelinek <jakub@redhat.com>
14136
14137 PR target/42894
14138 * varasm.c (force_const_mem): Store copy of x in desc->constant
14139 instead of x itself.
14140 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
14141 itself into REG_EQUAL note.
14142
62dcc44a
JM
141432011-01-28 Joseph Myers <joseph@codesourcery.com>
14144
14145 * config/freebsd.opt (posix, rdynamic): New Driver options.
14146
c9f58b9a
RO
141472011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14148
14149 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
14150 -Bstatic/-Bdynamic.
14151 * configure: Regenerate.
14152
5f02b9db
JM
141532011-01-27 Joseph Myers <joseph@codesourcery.com>
14154
14155 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
14156 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
14157
5df97412
AS
141582011-01-27 Anatoly Sokolov <aesok@post.ru>
14159
14160 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
14161 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
14162 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
14163 (s390_preferred_reload_class): Make static. Change return and
14164 'rclass' argument type to reg_class_t.
14165
779d4b91
JH
141662011-01-27 Jan Hubicka <jh@suse.cz>
14167
14168 PR middle-end/46949
14169 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
14170 (process_function_and_variable_attributes): Check defined weakrefs.
14171
e80b21ed
MJ
141722011-01-27 Martin Jambor <mjambor@suse.cz>
14173
14174 PR tree-optimization/47228
14175 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
14176 build_ref_for_offset.
14177
6dcc4f31
UW
141782011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14179
14180 * config/spu/spu-elf.h (ASM_SPEC): Remove.
14181
509d65dd 141822011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
14183
14184 PR rtl-optimization/46856
14185 * postreload.c (reload_combine_recognize_const_pattern): Do not
14186 separate cc0 setter and user on cc0 targets.
14187
04af8788
NP
141882011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
14189
14190 PR c/43082
14191 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
14192 passed a VOID_TYPE expression, immediately emit an error and
14193 return error_mark_node.
14194
f7a60085
JL
141952011-01-26 Jeff Law <law@redhat.com>
14196
14197 PR rtl-optimization/47464
14198 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
14199 rather than may_trap_p as needed.
14200
5c2917ec
DD
142012011-01-26 DJ Delorie <dj@redhat.com>
14202
14203 PR rtl-optimization/46878
14204 * combine.c (insn_a_feeds_b): Check for the implicit cc0
14205 setter/user dependency as well.
14206
bef16e87
EB
142072011-01-26 Eric Botcazou <ebotcazou@adacore.com>
14208
14209 PR rtl-optimization/44469
14210 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
14211 after removing trivially dead basic blocks.
14212
c75d884b
JM
142132011-01-26 Joseph Myers <joseph@codesourcery.com>
14214
14215 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
14216 * config/frv/frv.h (LINK_SPEC): Likewise.
14217 * config/i386/netware.h (LINK_SPEC): Likewise.
14218 * config/m68k/linux.h (ASM_SPEC): Likewise.
14219 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
14220 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14221 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14222 * config/sparc/linux.h (ASM_SPEC): Likewise.
14223 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14224 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14225
d3153553
JM
142262011-01-26 Joseph Myers <joseph@codesourcery.com>
14227
14228 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
14229 * config/frv/frv.h (ASM_SPEC): Likewise.
14230 * config/m68k/linux.h (ASM_SPEC): Likewise.
14231 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
14232 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
14233 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14234 * config/sparc/linux.h (ASM_SPEC): Likewise.
14235 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14236 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14237
b89b1e9d
JM
142382011-01-26 Joseph Myers <joseph@codesourcery.com>
14239
14240 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
14241 * config/frv/frv.h (LINK_SPEC): Likewise.
14242 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14243
12eb1a9c
JM
142442011-01-26 Joseph Myers <joseph@codesourcery.com>
14245
14246 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
14247 * config/frv/frv.h (ASM_SPEC): Likewise.
14248 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
14249 * config/m68k/linux.h (ASM_SPEC): Likewise.
14250 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
14251 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
14252 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14253 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
14254 * config/sparc/linux.h (ASM_SPEC): Likewise.
14255 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14256 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14257 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
14258
e435f098
SE
142592011-01-26 Steve Ellcey <sje@cup.hp.com>
14260
14261 PR target/46997
14262 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
14263 (*mux2): Ditto.
14264 (vec_extract_evenodd_help): Ditto.
14265 (vec_extract_evenv4hi): Ditto.
14266 (vec_extract_oddv4hi): Ditto.
14267 (vec_interleave_lowv2si): Ditto.
14268 (vec_interleave_highv2si): Ditto.
14269 (vec_extract_evenv2si): Ditto.
14270 (vec_extract_oddv2si: Ditto.
14271 (vec_pack_trunc_v2si): Ditto.
14272
34f0eee0
JH
142732011-01-22 Jan Hubicka <jh@suse.cz>
14274
14275 PR target/47237
14276 * cgraph.h (cgraph_local_info): New field can_change_signature.
14277 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
14278 signature can change.
14279 (ipcp_estimate_growth): Call sequence simplify only if calle signature
14280 can change.
14281 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
14282 (cgraph_function_versioning): We can not change signature of functions
14283 that don't allow that.
14284 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
14285 (lto_input_node): Likewise.
38be4072
UB
14286 * ipa-inline.c (compute_inline_parameters): Compute
14287 local.can_change_signature.
34f0eee0 14288 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
14289 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
14290 functions that can not change signature.
34f0eee0 14291 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
14292 init_cumulative_args): Do not use local calling conventions
14293 for functions that can not change signature.
34f0eee0 14294
980ca891
JH
142952011-01-22 Jan Hubicka <jh@suse.cz>
14296
14297 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
14298
768e3c60
RG
142992011-01-26 Richard Guenther <rguenther@suse.de>
14300
14301 PR tree-optimization/47190
61052244
AM
14302 * cgraphunit.c (process_common_attributes): New function.
14303 (process_function_and_variable_attributes): Use it.
768e3c60 14304
21d6a1c7
RG
143052011-01-26 Richard Guenther <rguenther@suse.de>
14306
14307 PR lto/47423
14308 * cgraphbuild.c (record_eh_tables): Record reference to personality
14309 function.
14310
48bb58b1
AO
143112011-01-26 Alexandre Oliva <aoliva@redhat.com>
14312
14313 PR debug/45454
14314 * sel-sched.c (moveup_expr): Don't let debug insns prevent
14315 non-debug insns from moving up.
14316
58c741a6
DK
143172011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
14318
14319 PR target/40125
14320 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
14321 t-dlldir{,-x} fragment for build and add it to tmake_file.
14322 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
14323 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
14324 * config/i386/t-dlldir: New file.
14325 (SHLIB_DLLDIR): Define.
14326 * config/i386/t-dlldir-x: New file.
14327 (SHLIB_DLLDIR): Define.
14328 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
14329 (SHLIB_INSTALL): Use it.
14330
bff99262
CLT
143312011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
14332
14333 PR target/47246
14334 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
14335 lower bound of the allowed Thumb-2 coprocessor load/store
14336 index range to -256. Add explaining comment.
14337
82c03907
ILT
143382011-01-25 Ian Lance Taylor <iant@google.com>
14339
14340 * godump.c (go_define): Improve lexing of macro expansion to only
14341 accept expressions which match Go spec.
14342
47ea1edf
DK
143432011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
14344
d4dba752 14345 PR c++/43601
47ea1edf
DK
14346 * tree.c (handle_dll_attribute): Handle it.
14347 * doc/extend.texi (@item dllexport): Mention it.
14348 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
14349
744f0946
ILT
143502011-01-25 Ian Lance Taylor <iant@google.com>
14351
14352 PR tree-optimization/26854
14353 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
14354 (decl_jump_unsafe): Move higher in file, with no other change.
14355 (bind): Set has_jump_unsafe_decl if appropriate.
14356 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
14357 (check_earlier_gotos): Likewise.
14358 (c_check_switch_jump_warnings): Likewise.
14359
5734f2b3
JW
143602011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
14361
14362 * doc/invoke.texi (Warning Options): Add missing hyphen.
14363 (-fprofile-dir): Minor grammatical fixes.
14364 (-fbranch-probabilities): Likewise.
14365
9bdbdcef
AO
143662011-01-25 Alexandre Oliva <aoliva@redhat.com>
14367
14368 PR debug/45136
14369 PR debug/45130
14370 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
14371 debug insns.
14372 (no_real_insns_p, schedule_block, set_priorities): Drop special
14373 treatment of boundary debug insns.
38be4072 14374 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
14375 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
14376 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
14377 (BOUNDARY_DEBUG_INSN_P): Likewise.
14378 (SCHEDULE_DEBUG_INSN_P): Likewise.
14379 * sched-rgn.c (init_ready_list): Drop special treatment of
14380 boundary debug insns.
14381 * final.c (rest_of_clean-state): Clear notes' BB.
14382
b305e3da
SP
143832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14384
14385 * Makefile.in (LAMBDA_H): Removed.
14386 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
14387 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
14388 lambda-trans.o, and tree-loop-linear.o.
14389 (lto-symtab.o): Remove dependence on LAMBDA_H.
14390 (tree-loop-linear.o): Remove rule.
14391 (lambda-mat.o): Same.
14392 (lambda-trans.o): Same.
14393 (lambda-code.o): Same.
14394 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
14395 (tree-vect-slp.o): Same.
14396 * hwint.h (gcd): Moved here.
14397 (least_common_multiple): Same.
14398 * lambda-code.c: Removed.
14399 * lambda-mat.c: Removed.
14400 * lambda-trans.c: Removed.
14401 * lambda.h: Removed.
14402 * tree-loop-linear.c: Removed.
14403 * lto-symtab.c: Do not include lambda.h.
14404 * omega.c (gcd): Removed.
14405 * passes.c (init_optimization_passes): Remove pass_linear_transform.
14406 * tree-data-ref.c (print_lambda_vector): Moved here.
14407 (lambda_vector_copy): Same.
14408 (lambda_matrix_copy): Same.
14409 (lambda_matrix_id): Same.
14410 (lambda_vector_first_nz): Same.
14411 (lambda_matrix_row_add): Same.
14412 (lambda_matrix_row_exchange): Same.
14413 (lambda_vector_mult_const): Same.
14414 (lambda_vector_negate): Same.
14415 (lambda_matrix_row_negate): Same.
14416 (lambda_vector_equal): Same.
14417 (lambda_matrix_right_hermite): Same.
14418 * tree-data-ref.h: Do not include lambda.h.
14419 (lambda_vector): Moved here.
14420 (lambda_matrix): Same.
14421 (dependence_level): Same.
14422 (lambda_transform_legal_p): Removed declaration.
14423 (lambda_collect_parameters): Same.
14424 (lambda_compute_access_matrices): Same.
14425 (lambda_vector_gcd): Same.
14426 (lambda_vector_new): Same.
14427 (lambda_vector_clear): Same.
14428 (lambda_vector_lexico_pos): Same.
14429 (lambda_vector_zerop): Same.
14430 (lambda_matrix_new): Same.
14431 * tree-flow.h (least_common_multiple): Removed declaration.
14432 * tree-parloops.c (lambda_trans_matrix): Moved here.
14433 (LTM_MATRIX): Same.
14434 (LTM_ROWSIZE): Same.
14435 (LTM_COLSIZE): Same.
14436 (LTM_DENOMINATOR): Same.
14437 (lambda_trans_matrix_new): Same.
14438 (lambda_matrix_vector_mult): Same.
14439 (lambda_transform_legal_p): Same.
14440 * tree-pass.h (pass_linear_transform): Removed declaration.
14441 * tree-ssa-loop.c (tree_linear_transform): Removed.
14442 (gate_tree_linear_transform): Removed.
14443 (pass_linear_transform): Removed.
14444 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
14445 flag_loop_interchange.
14446
6bdfdb96
JJ
144472011-01-25 Jakub Jelinek <jakub@redhat.com>
14448
14449 PR tree-optimization/47265
14450 PR tree-optimization/47443
14451 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
14452 if name still has some uses.
14453
e4cba915
MJ
144542011-01-25 Martin Jambor <mjambor@suse.cz>
14455
14456 PR tree-optimization/47382
14457 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
14458 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
14459
509d65dd 144602011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
14461
14462 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
14463 sjlj_except_unwind_info.
14464
194313e2
RG
144652011-01-25 Richard Guenther <rguenther@suse.de>
14466
14467 PR tree-optimization/47426
14468 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
14469 visible functions results escape.
14470
147a0bcf
JJ
144712011-01-25 Jakub Jelinek <jakub@redhat.com>
14472
14473 PR target/45701
14474 * config/arm/arm.c (any_sibcall_uses_r3): New function.
14475 (arm_get_frame_offsets): Use it.
14476
db963b52
SP
144772011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14478 Jakub Jelinek <jakub@redhat.com>
14479
14480 PR tree-optimization/47271
14481 * tree-if-conv.c (bb_postdominates_preds): New.
14482 (if_convertible_bb_p): Call bb_postdominates_preds.
14483 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
14484 (predicate_scalar_phi): Call bb_postdominates_preds.
14485
bcddd3b9
NC
144862011-01-25 Nick Clifton <nickc@redhat.com>
14487
14488 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
14489 * config/rx/rx.c (rx_function_value): Likewise.
14490 (rx_promote_function_mode): Likewise.
14491 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
14492 in order to make it legitimate.
38be4072
UB
14493 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
14494 make sure that the first operand is the same as the result register.
bcddd3b9
NC
14495 (addsi3_unspec): Delete.
14496 (subdi3): Do not accept immediate operands.
14497 (subdi3_internal): Likewise.
14498
7e6cb022
JL
144992011-01-25 Jeff Law <law@redhat.com>
14500
14501 PR rtl-optimization/37273
14502 * ira-costs.c (scan_one_insn): Detect constants living in memory and
14503 handle them like argument loads from stack slots. Do not double
14504 count memory for memory constants and argument loads from stack slots.
14505
9ffa621e
JJ
145062011-01-25 Jakub Jelinek <jakub@redhat.com>
14507
14508 PR tree-optimization/47427
14509 PR tree-optimization/47428
14510 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
14511 coalesce if the new root var would be TREE_READONLY.
14512
5bd6e652
RG
145132011-01-25 Richard Guenther <rguenther@suse.de>
14514
14515 PR middle-end/47414
14516 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
14517 correct type for TBAA.
14518
7c48ea69
SP
145192011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14520
14521 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
14522 (close_phi_written_to_memory): Call for_each_index with
14523 dr_indices_valid_in_loop.
14524
38013f25
SP
145252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14526
14527 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
14528 when it is initialized.
14529
5c640e29
SP
145302011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14531
14532 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
14533 call to graphite_find_data_references_in_stmt.
14534 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
14535 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
14536 call to graphite_find_data_references_in_stmt.
14537 (analyze_drs_in_stmts): Same.
14538 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
14539 in which the scalar analysis of indices is performed.
14540 (create_data_ref): Same. Update call to dr_analyze_indices.
14541 (find_data_references_in_stmt): Update call to create_data_ref.
14542 (graphite_find_data_references_in_stmt): Same.
14543 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
14544 declaration.
14545 (create_data_ref): Same.
14546 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
14547 call to create_data_ref.
14548
ac53c069
SP
145492011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14550
14551 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 14552 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 14553
3d17df15
SP
145542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14555
14556 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
14557 VAR_DECL, PARM_DECL, and RESULT_DECL.
14558
c513da01
SP
145592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14560
14561 * graphite-dependences.c (reduction_dr_1): Allow several reductions
14562 in a reduction PBB.
14563 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
14564 that have already been marked as PBB_IS_REDUCTION.
14565
3a292d59
SP
145662011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14567
14568 * graphite-scop-detection.c (same_close_phi_node): New.
14569 (remove_duplicate_close_phi): New.
14570 (make_close_phi_nodes_unique): New.
14571 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
14572
ba858447
SP
145732011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14574
14575 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
14576 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
14577 of both data references to be the same.
14578
8d865c56
SP
145792011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14580
38be4072
UB
14581 * graphite-dependences.c (build_lexicographical_constraint): Remove
14582 the gdim parameter.
14583 (build_lexicographical_constraint): Adjust call to
14584 ppl_powerset_is_empty.
8d865c56
SP
14585 (dependence_polyhedron): Same.
14586 (graphite_legal_transform_dr): Same.
14587 (graphite_carried_dependence_level_k): Same.
38be4072
UB
14588 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
14589 parameter.
8d865c56
SP
14590 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
14591
50034a36
SP
145922011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14593
14594 * graphite-sese-to-poly.c
14595 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
14596 (close_phi_written_to_memory): New.
14597 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
14598 and unshare_expr.
14599
0deada9e
SP
146002011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14601
14602 * doc/install.texi: Update the expected version number of PPL to 0.11.
14603 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
14604 #if PPL_VERSION_MINOR < 11.
14605
d7d3d6af
SP
146062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14607
14608 * graphite-dependences.c: Include graphite-cloog-util.h.
14609 (new_poly_ddr): Inlined into dependence_polyhedron.
14610 (free_poly_ddr): Moved close by new_poly_ddr.
14611 (dependence_polyhedron_1): Renamed dependence_polyhedron.
14612 Early return NULL when ppl_powerset_is_empty returns true.
14613 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
14614 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
14615 (graphite_legal_transform_dr): Call new_poly_ddr.
14616 (graphite_carried_dependence_level_k): Same.
14617 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
14618 (dot_transformed_deps_stmt_1): Removed.
14619 (dot_deps_stmt_1): Call dot_deps_stmt_2.
14620 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
14621 (dot_deps_1): Call dot_deps_2.
14622 * Makefile.in (graphite-dependences.o): Add missing dependence on
14623 graphite-cloog-util.h.
14624
28c5db57
SP
146252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14626
14627 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
14628 (build_lexicographical_constraint): Same.
14629 (dependence_polyhedron_1): Same.
14630 (graphite_legal_transform_dr): Same.
14631 (graphite_carried_dependence_level_k): Same.
14632 * graphite-ppl.c (ppl_powerset_is_empty): New.
14633 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
14634 * tree-data-ref.c (dump_data_reference): Print the basic block index.
14635
5168d98f
SP
146362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14637
14638 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
14639 the "a followed by b" relation and document it.
14640
4a40293a
SP
146412011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14642
14643 * graphite-dependences.c (build_lexicographical_constraint): Stop the
14644 iteration when the bag of constraints is empty.
14645
271fb6fa
SP
146462011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14647
14648 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
14649
92d23680
SP
146502011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14651
14652 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
14653 nest and two loop depths as parameters.
14654 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
14655 lst_perfect_nestify.
14656
2f51deff
SP
146572011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14658
14659 * graphite-dependences.c (print_pddr): Call
14660 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
14661
07f3593c
SP
146622011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14663
14664 * graphite-ppl.c (debug_gmp_value): New.
14665 * graphite-ppl.h (debug_gmp_value): Declared.
14666
3fae6099
TG
146672011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
14668
14669 * doc/install.texi: Document availability of cloog-0.16.
14670
1c3ba85b
SP
146712011-01-25 Vladimir Kargov <kargov@gmail.com>
14672
14673 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
14674 invalid postdominance info.
14675
e8ba94fc
JH
146762011-01-24 Jan Hubicka <jh@suse.cz>
14677
14678 PR c/21659
14679 * doc/extend.texi (weak pragma): Drop claim that it must
14680 appear before definition.
14681 * varasm.c (merge_weak, declare_weak): Only sanity check
14682 that DECL is not output at a time it is declared weak.
14683
2b6e2d13
KZ
146842011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
14685
14686 * machmode.def: Fixed comments.
1c3ba85b 14687
9841210f
KT
146882011-01-24 Kai Tietz <kai.tietz@onevision.com>
14689
14690 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
14691
146922011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
14693
14694 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 14695 WORDS_BIG_ENDIAN.
e046112d 14696
a6c5070a
L
146972011-01-24 H.J. Lu <hongjiu.lu@intel.com>
14698
14699 PR target/46519
14700 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
14701 (block_info): Add scanned and prev.
14702 (move_or_delete_vzeroupper_2): Return if the basic block
14703 has been scanned and the upper 128bit state is unchanged
14704 from the last scan.
14705 (move_or_delete_vzeroupper_1): Return true if the exit
14706 state is changed.
14707 (move_or_delete_vzeroupper): Visit basic blocks using the
14708 work-list based algorithm based on vt_find_locations in
14709 var-tracking.c.
14710
14711 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
14712
a40d79d7
NC
147132011-01-24 Nick Clifton <nickc@redhat.com>
14714
14715 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
14716 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
14717 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
14718 then define __v850e1__.
14719 * doc/invoke.texi: Document -mv850es.
14720
440eb8de
RH
147212011-01-24 Richard Henderson <rth@redhat.com>
14722
14723 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
14724 compound unordered comparisons.
14725 * config/rx/rx.c (rx_split_fp_compare): Remove.
14726 * config/rx/rx-protos.h: Update.
14727 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
14728 (cbranchsf4): Don't call rx_split_fp_compare.
14729 (*cbranchsf4): Use rx_split_cbranch.
14730 (*cmpsf): Don't accept "i" constraint.
14731 (*conditional_branch): Only valid after reload.
14732 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
14733
3ff79f99
MM
147342011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
14735
14736 PR target/47385
14737 * config/rs6000/altivec.md (vector constant splitters): Add
14738 support for creating vector single precision constants if -mvsx is
14739 used and we would create the constant using Altivec primitives.
14740
ff3d9d08
BS
147412011-01-23 Bernd Schmidt <bernds@codesourcery.com>
14742 Richard Sandiford <rdsandiford@googlemail.com>
14743
14744 PR rtl-optimization/47166
14745 * reload1.c (emit_reload_insns): Disable the spill_reg_store
14746 mechanism for PRE_MODIFY and POST_MODIFY.
14747 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
14748 reloadreg.
14749
7fcaf152
AS
147502011-01-23 Andreas Schwab <schwab@linux-m68k.org>
14751
8788adb6 14752 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 14753
d09b58c4
JH
147542011-01-22 Jan Hubicka <jh@suse.cz>
14755
14756 PR lto/47333
14757 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
14758
e8ff8c5a
JH
147592011-01-22 Jan Hubicka <jh@suse.cz>
14760
14761 PR tree-optimization/43884
14762 PR lto/44334
8788adb6 14763 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
14764 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
14765
ccaed3ba
AS
147662011-01-22 Anatoly Sokolov <aesok@post.ru>
14767
14768 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
14769 * config/s390/s390.c (s390_register_move_cost,
14770 s390_memory_move_cost): New.
14771 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
14772
0cecee06
UW
147732011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14774
14775 PR middle-end/47401
14776 * except.c (sjlj_assign_call_site_values): Move setting the
14777 crtl->uses_eh_lsda flag to ...
14778 (sjlj_mark_call_sites): ... here.
14779 (sjlj_emit_function_enter): Support NULL dispatch label.
14780 (sjlj_build_landing_pads): In a function with no landing pads
14781 that still has must-not-throw regions, generate code to register
14782 a personality function with empty LSDA.
14783
e692f276
RH
147842011-01-21 Richard Henderson <rth@redhat.com>
14785
1b7ae0b7
RH
14786 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
14787
3843787f
RH
14788 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
14789
e692f276
RH
14790 * compare-elim.c: New file.
14791 * Makefile.in (OBJS-common): Add it.
14792 (compare-elim.o): New.
14793 * common.opt (fcompare-elim): New.
14794 * opts.c (default_options_table): Add OPT_fcompare_elim.
14795 * tree-pass.h (pass_compare_elim_after_reload): New.
14796 * passes.c (init_optimization_passes): Add it.
14797 * recog.h: Protect against re-inclusion.
14798 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
14799 * doc/invoke.texi (-fcompare-elim): Document it.
14800 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
14801 * doc/tm.texi: Rebuild.
14802
9a7c2050
NC
148032011-01-22 Nick Clifton <nickc@redhat.com>
14804
14805 * config/rx/rx.md (cstoresf4): Pass comparison operator to
14806 rx_split_fp_compare.
14807
15ba5696
NC
148082011-01-22 Nick Clifton <nickc@redhat.com>
14809
14810 * config/rx/rx.md (UNSPEC_CONST): New.
14811 (deallocate_and_return): Wrap the amount popped off the stack in
14812 an UNSPEC_CONST in order to stop it being rejected by
14813 -mmax-constant-size.
14814 (pop_and_return): Add a "(return)" rtx.
14815 (call): Drop the immediate operand.
14816 (call_internal): Likewise.
14817 (call_value): Likewise.
14818 (call_value_internal): Likewise.
14819 (sibcall_internal): Likewise.
14820 (sibcall_value_internal): Likewise.
14821 (sibcall): Likewise. Generate an explicit call using
14822 sibcall_internal.
14823 (sibcall_value): Likewise.
14824 (mov<>): FAIL if a constant operand is not legitimate.
14825 (addsi3_unpsec): New pattern.
9a7c2050 14826
38be4072 14827 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
14828 (ok_for_max_constant): New function.
14829 (gen_safe_add): New function.
14830 (rx_expand_prologue): Use gen_safe_add.
14831 (rx_expand_epilogue): Likewise.
14832 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
14833 UNSPEC CONSTs.
14834
caaf13d3
JL
148352011-01-21 Jeff Law <law@redhat.com>
14836
14837 PR tree-optimization/47053
14838 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
14839 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
14840 statements are deleted.
14841 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
14842 is nonempty, then purge dead edges and cleanup the CFG.
14843
12c30f2f
AO
148442011-01-21 Alexandre Oliva <aoliva@redhat.com>
14845
14846 PR debug/47402
14847 Temporarily revert:
14848 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
14849 PR debug/47106
14850 * tree-dfa.c (create_var_ann): Mark variable as used.
14851
7360d2ac
JJ
148522011-01-21 Jakub Jelinek <jakub@redhat.com>
14853
aaa52a96
JJ
14854 PR middle-end/45566
14855 * except.c (convert_to_eh_region_ranges): Emit queued no-region
14856 notes from other section in hot/cold partitioning even if
14857 last_action is -3. Increment call_site_base.
14858
7360d2ac
JJ
14859 PR rtl-optimization/47366
14860 * fwprop.c (forward_propagate_into): Return bool. If
14861 any changes are made, -fnon-call-exceptions is used and
14862 REG_EH_REGION note is present, call purge_dead_edges
14863 and return true if it purged anything.
14864 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
14865 any EH edges were purged.
14866
e90b336f
JL
148672011-01-21 Jeff Law <law@redhat.com>
14868
14869 PR rtl-optimization/41619
14870 * caller-save.c (setup_save_areas): Break out code to determine
14871 which hard regs are live across calls by examining the reload chains
14872 so that it is always used.
14873 Eliminate code which checked REG_N_CALLS_CROSSED.
14874
3ffe07e1
JJ
148752011-01-21 Jakub Jelinek <jakub@redhat.com>
14876
14877 PR tree-optimization/47355
14878 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
14879 NOP has non-debug uses beyond PHIs in new_bb.
14880
1c7d0b34
AO
148812011-01-21 Alexandre Oliva <aoliva@redhat.com>
14882
14883 PR debug/47106
14884 * cfgexpand.c (account_used_vars_for_block): Only account vars
14885 that are annotated as used.
14886 (estimated_stack_frame_size): Don't set TREE_USED.
14887 * tree-dfa.c (create_var_ann): Mark variable as used.
14888
f99cc488
RG
148892011-01-21 Richard Guenther <rguenther@suse.de>
14890
14891 PR middle-end/47395
14892 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
14893
3bc27de7
RG
148942011-01-21 Richard Guenther <rguenther@suse.de>
14895
14896 PR tree-optimization/47365
14897 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
14898 (vn_reference_lookup_pieces): Adjust.
14899 (vn_reference_lookup): Likewise.
14900 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
14901 (vn_reference_lookup_3): Only look through kills if in
14902 VN_WALKREWRITE mode.
14903 (vn_reference_lookup_pieces): Adjust.
14904 (vn_reference_lookup): Likewise.
14905 (visit_reference_op_load): Likewise.
14906 (visit_reference_op_store): Likewise.
14907 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
14908 (compute_avail): Likewise.
14909 (eliminate): Likewise.
14910
d8debb1d
JJ
149112011-01-21 Jakub Jelinek <jakub@redhat.com>
14912
14913 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
14914 DECL_IGNORED_P non-reg vars if they are used.
14915
3a2df831
JJ
14916 PR tree-optimization/47391
14917 * varpool.c (const_value_known_p): Return false if
14918 decl is volatile.
14919
1dd584a2
KT
149202011-01-21 Kai Tietz <kai.tietz@onevision.com>
14921
14922 PR bootstrap/47215
14923 * config/i386/i386.c (ix86_local_alignment): Handle
14924 case for va_list_type_node is nil.
14925 (ix86_canonical_va_list_type): Likewise.
14926
7f9f095e
AM
149272011-01-21 Alan Modra <amodra@gmail.com>
14928
14929 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
14930 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
14931
837b01f6
RR
149322011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14933
14934 * config/arm/arm.md (define_attr type): Rename f_load
14935 and f_store to f_fpa_load and f_fpa_store. Update.
14936 (write_conflict): Deal with rename fallout.
14937 (*push_fp_multi): Likewise.
14938 * config/arm/fpa.md (f_load): Use f_fpa_load.
14939 (f_store): Use f_fpa_store.
14940 (*movsf_fpa): Likewise.
14941 (*movdf_fpa): Likewise.
14942 (*movxf_fpa): Likewise.
14943 (*thumb2_movsf_fpa): Likewise.
14944 (*thumb2_movdf_fpa): Likewise.
14945 (*thumb2_movxf_fpa): Likewise.
14946 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
14947 f_loadd and f_stored.
14948 (*thumb2_movdi_vfp): Likewise.
14949 (*thumb2_movsf_vfp): Fix attribute to f_loads.
14950 (*thumb2_movsi_vfp): Likewise.
14951 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
14952 Use f_loads instead of f_load.
14953 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
14954
a1a79768
AS
149552011-01-20 Anatoly Sokolov <aesok@post.ru>
14956
14957 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
14958 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
14959 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
14960 (xtensa_mode_dependent_address_p): New function.
14961 (constantpool_address_p): Make static. Change return type to bool.
14962 Change argument type to const_rtx. Use CONST_INT_P predicate.
14963
427f6cec
AO
149642011-01-20 Alexandre Oliva <aoliva@redhat.com>
14965
14966 PR debug/46583
14967 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
14968
583ac69c
JJ
149692011-01-20 Jakub Jelinek <jakub@redhat.com>
14970
14971 PR debug/47283
14972 * cfgexpand.c (expand_debug_expr): Instead of generating
14973 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
14974 etc. handling.
14975
93e452ed
RG
149762011-01-20 Richard Guenther <rguenther@suse.de>
14977
14978 PR middle-end/47370
14979 * tree-inline.c (remap_gimple_op_r): Recurse manually for
14980 the pointer operand of MEM_REFs.
14981
28fc44f3
JJ
149822011-01-20 Jakub Jelinek <jakub@redhat.com>
14983
14984 PR tree-optimization/46130
14985 * ipa-split.c (consider_split): If return_bb contains non-virtual
14986 PHIs other than for retval or if split_function would not adjust it,
14987 refuse to split.
14988
ddd268f2
RG
149892011-01-20 Richard Guenther <rguenther@suse.de>
14990
14991 PR tree-optimization/47167
14992 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
14993 Revert previous change, only avoid enumeral type changes.
14994
882020aa
MS
149952011-01-19 Mike Stump <mikestump@comcast.net>
14996
14997 * doc/tm.texi.in (BRANCH_COST): Englishify.
14998 * doc/tm.texi (BRANCH_COST): Likewise.
14999
7edb6247
DS
150002011-01-19 Dodji Seketeli <dodji@redhat.com>
15001
15002 PR c++/47291
15003 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
15004 (gen_scheduled_generic_parms_dies): New functions.
15005 (gen_struct_or_union_type_die): Schedule template parameters DIEs
15006 generation for the end of CU compilation.
15007 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 15008
23d5ed5d
AO
150092011-01-19 Alexandre Oliva <aoliva@redhat.com>
15010
15011 PR debug/46240
15012 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
15013 debug bind stmt on merge edges.
15014
37d6a488
AO
150152011-01-19 Alexandre Oliva <aoliva@redhat.com>
15016
15017 PR debug/47079
15018 PR debug/46724
15019 * function.c (instantiate_expr): Instantiate incoming rtl of
15020 implicit arguments, and recurse on VALUE_EXPRs.
15021 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
15022 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
15023
689f2c82
AO
150242011-01-19 Alexandre Oliva <aoliva@redhat.com>
15025
15026 * c-parser.c (c_parser_for_statement): Initialize
15027 collection_expression.
15028
03029de4
JM
150292011-01-19 Joseph Myers <joseph@codesourcery.com>
15030
15031 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
15032
3e03217e
JM
150332011-01-19 Joseph Myers <joseph@codesourcery.com>
15034
15035 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
15036 (LINK_SHLIB_SPEC): Don't use %(link_path).
15037 (SUBTARGET_EXTRA_SPECS): Remove link_path.
15038
5bbe9b3f
JM
150392011-01-19 Joseph Myers <joseph@codesourcery.com>
15040
15041 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
15042 (NO_SHARED_LIB_SUPPORT): Remove.
15043 (LINK_SHLIB_SPEC): Remove one conditional definition.
15044
368e0b39
JM
150452011-01-19 Joseph Myers <joseph@codesourcery.com>
15046
15047 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
15048 %{call_shared}.
15049 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
15050 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
15051 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
15052 %{call_shared} and conditionals on these options not being passed.
15053 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
15054 %{call_shared}.
15055
ed7656f6
JJ
150562011-01-19 Jakub Jelinek <jakub@redhat.com>
15057
68457901
JJ
15058 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
15059 simplify.
15060
ed7656f6
JJ
15061 * ipa-split.c: Spelling fixes.
15062
e0d1958f
RH
150632011-01-19 Richard Henderson <rth@redhat.com>
15064
15065 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
15066 (*mulsi3): Likewise.
15067
27098b6b
RH
15068 * longlong.h [__mn10300__] (count_leading_zeros): New.
15069 [__mn10300__] (umul_ppmm, smul_ppmm): New.
15070 [__mn10300__] (add_ssaaaa, subddmmss): New.
15071 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
15072 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
15073
d6be7c36
UW
150742011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15075
15076 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
15077
b1efde2a
RH
150782011-01-19 Richard Henderson <rth@redhat.com>
15079
44217823
RH
15080 * config/mn10300/mn10300.md (addsi3_flags): New.
15081 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
15082 (subsi3_flags, subc_internal, subdi3): New.
15083 (subdi3_internal, *subdi3_degenerate): New.
15084 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
15085
37a185d7
RH
15086 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
15087 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
15088 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
15089 * config/mn10300/mn10300-protos.h: Update.
15090 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
15091 (return_ret): Likewise. Rename from return_internal_regs.
15092 (return_internal): Remove.
15093
040c5757
RH
15094 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
15095 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
15096 (mn10300_legitimate_constant_p): Likewise.
15097 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
15098 (mn10300_frame_size): New.
15099 (mn10300_expand_prologue): Use it.
15100 (mn10300_expand_epilogue): Likewise.
15101 (mn10300_initial_offset): Likewise.
15102 * config/mn10300/mn10300-protos.h: Update.
15103 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
15104 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
15105 (prologue, epilogue, return_internal): Tidy output code.
15106 (mn10300_store_multiple_operation, return): Likewise.
15107 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
15108 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
15109 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
15110 (load_pic, am33_load_pic): New.
15111 (mn10300_load_pic0, mn10300_load_pic1): New.
15112
bad41521
RH
15113 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
15114 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
15115 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
15116 (cc_flags_for_mode, cc_flags_for_code): New.
15117 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
15118 overflow flag is not valid. Validate that the flags we need
15119 for the comparison are valid.
15120 (mn10300_output_cmp): Remove.
15121 (mn10300_output_add): New.
15122 (mn10300_select_cc_mode): Use cc_flags_for_code.
15123 (mn10300_split_cbranch): New.
15124 (mn10300_match_ccmode): New.
15125 (mn10300_split_and_operand_count): New.
15126 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
15127 to the function.
15128 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
15129 (addsi3): ... here. Use mn10300_output_add.
15130 (*addsi3_flags): New.
15131 (*am33_subsi3, *mn10300_subsi3): Merge...
15132 (subsi3): ... here. Use attribute isa.
15133 (*subsi3_flags): New.
15134 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
15135 when possible.
15136 (*am33_andsi3, *mn10300_andsi3): Merge...
15137 (andsi3): ... here.
15138 (*andsi3_flags): New.
15139 (andsi3 splitters): New.
15140 (*am33_iorsi3, *mn10300_iorsi3): Merge...
15141 (iorsi3): ... here.
15142 (*iorsi3_flags): New.
15143 (*am33_xorsi3, *mn10300_xorsi3): Merge...
15144 (xorsi3): ... here.
15145 (*xorsi3_flags): New.
15146 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
15147 (one_cmplsi2): ... here.
15148 (*one_cmplsi2_flags): New.
15149 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
15150 instead of "dax" in constraints. Use mn10300_split_cbranch.
15151 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
15152 use matching constraints to eliminate a self-comparison.
15153 (*integer_conditional_branch): Rename from integer_conditional_branch.
15154 Use int_mode_flags to match CC_REG.
15155 (*cbranchsi4_btst, *btstsi): New.
15156 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
15157 mn10300_split_cbranch.
15158 (*am33_cmpsf): Rename from am33_cmpsf.
15159 (*float_conditional_branch): Rename from float_conditional_branch.
15160 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
15161 (zero_extendqisi2): ... here.
15162 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
15163 (zero_extendhisi2): ... here.
15164 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
15165 (extendqisi2): ... here.
15166 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
15167 (extendhisi2): ... here.
15168 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
15169 (ashlsi3): ... here.
15170 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
15171 (lshrsi3): ... here.
15172 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
15173 (ashrsi3): ... here.
15174 (consecutive add peephole): Remove.
15175 * config/mn10300/predicates.md (label_ref_operand): New.
15176 (int_mode_flags): New.
15177 (CCZN_comparison_operator): New.
15178
9efb4993
RH
15179 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
15180 (throughput_42_latency_43): New reservation.
15181 (mulsidi3, umulsidi3): New expanders.
15182 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
15183 the MDR register to allocation; separately allocate the low and
15184 high parts of the DImode result.
15185 (umulsidi3_internal): Similarly.
15186 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
15187 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
15188 (udivsi3, umodsi3): Remove.
15189 (udivmodsi4, divmodsi4): New expanders.
15190 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
15191 (*divmodsi4): Simiarly.
15192 (ext_internal): New.
15193
c25a21f5
RH
15194 * config/mn10300/constraints.md ("z"): New constraint.
15195 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
15196 (FIXED_REGISTERS): Don't fix MDR.
15197 (CALL_USED_REGSITERS): Reformat nicely.
15198 (REG_ALLOC_ORDER): Add MDR.
15199 (enum regclass): Add MDR_REGS.
15200 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
15201 (IRA_COVER_CLASSES): Add MDR_REGS.
15202 (REGNO_REG_CLASS): Handle MDR_REG.
15203 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
15204 (mn10300_register_move_cost): Likewise.
15205 * config/mn10300/mn10300.md (MDR_REG): New.
15206 (*movsi_internal): Handle moves to/from MDR_REGS.
15207
36846b26
RH
15208 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
15209 POST_MODIFY.
15210 (mn10300_secondary_reload): Tidy combination reload classes.
15211 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
15212 addresses for AM33. Allow symbolic offsets for reg+imm.
15213 (mn10300_regno_in_class_p): New.
15214 (mn10300_legitimize_reload_address): New.
15215 * config/mn10300/mn10300.h (enum reg_class): Remove
15216 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
15217 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
15218 SP_OR_GENERAL_REGS.
15219 (REG_CLASS_NAMES): Update to match.
15220 (REG_CLASS_CONTENTS): Likewise.
15221 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
15222 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
15223 (REGNO_IN_RANGE_P): Remove.
15224 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
15225 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
15226 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
15227 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
15228 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
15229 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
15230 (REGNO_GENERAL_P): New.
15231 (HAVE_POST_MODIFY_DISP): New.
15232 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
15233 (LEGITIMIZE_RELOAD_ADDRESS): New.
15234 * config/mn10300/mn10300-protos.h: Update.
15235
8b119bb6
RH
15236 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
15237 DATA_REGS for AM33 stack-pointer destination.
15238 (mn10300_preferred_output_reload_class): Likewise.
15239 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
15240 into a form appropriate for ...
15241 (TARGET_SECONDARY_RELOAD): New.
15242 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
15243 * config/mn10300/mn10300-protos.h: Update.
15244 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
15245 reload_insi; use the "A" constraint for the scratch; handle AM33
15246 moves of sp to non-address registers.
15247
b1efde2a
RH
15248 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
15249 (*movqi_internal): ... here.
15250 (*am33_movhi, *mn10300_movhi): Merge into...
15251 (*movhi_internal): ... here.
15252 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
15253 as the source/destination of moves from/to SP.
15254 (movsf): Only allow for AM33-2.
1c3ba85b 15255 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
15256 any integer constant constraint. Only allow for AM33-2. Tidy
15257 all of the alternative outputs.
15258 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
15259 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
15260 for MN103.
15261 (udivsi3, umodsi3): New patterns for MN103 only.
15262
b899fd78
JR
152632011-01-19 Joern Rennecke <amylaar@spamcop.net>
15264
15265 * doc/tm.texi.in: Spell out that a lack of register class unions
15266 can lead to ICEs.
15267 * doc/tm.texi: Regenerate.
15268
afaaa67d
JJ
152692011-01-19 Jakub Jelinek <jakub@redhat.com>
15270
2e0642cd
JJ
15271 PR rtl-optimization/47337
15272 * dce.c (check_argument_store): New function.
15273 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
15274
afaaa67d
JJ
15275 PR tree-optimization/47290
15276 * tree-eh.c (infinite_empty_loop_p): New function.
15277 (cleanup_empty_eh): Use it.
15278
d2cd871f
SE
152792011-01-18 Steve Ellcey <sje@cup.hp.com>
15280
15281 PR target/46997
15282 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
15283 (a64_expand_widen_sum): Ditto.
15284 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
15285 (vec_extract_evenodd_help): Ditto.
15286 (vec_extract_evenv4hi): Ditto.
15287 (vec_extract_oddv4hi): Ditto.
15288 (vec_extract_evenv2si): Ditto.
15289 (vec_extract_oddv2si): Ditto.
15290 (vec_extract_evenv2sf): Ditto.
15291 (vec_extract_oddv2sf): Ditto.
15292 (vec_pack_trunc_v4hi: Ditto.
15293 (vec_pack_trunc_v2si): Ditto.
15294 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
15295 (vec_interleave_highv8qi): Ditto.
15296 (mix1_r): Ditto.
15297 (vec_extract_oddv8qi): Ditto.
15298 (vec_interleave_lowv4hi): Ditto.
15299 (vec_interleave_highv4hi): Ditto.
15300 (vec_interleave_lowv2si): Ditto.
15301 (vec_interleave_highv2si): Ditto.
15302
41a1208a
JDA
153032011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15304
15305 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
15306 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
15307 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
15308 (pa_c_mode_for_suffix): New.
15309 (TARGET_EXPAND_BUILTIN): Define.
15310 (TARGET_C_MODE_FOR_SUFFIX): Define.
15311 (pa_builtins): Define.
15312 (pa_init_builtins): Register __float128 type and init new support
15313 builtins.
15314 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
15315 * config/pa/quadlib.c (_U_Qfcopysign): New.
15316
1ecad98e
EB
153172011-01-18 Eric Botcazou <ebotcazou@adacore.com>
15318
15319 PR middle-end/46894
15320 * explow.c (allocate_dynamic_stack_space): Do not assume more than
15321 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
15322 are defined.
15323
d4f2460a
UW
153242011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15325
15326 PR tree-optimization/47179
15327 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
15328 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
15329
4994da65
RG
153302011-01-18 Richard Guenther <rguenther@suse.de>
15331
15332 PR rtl-optimization/47216
15333 * emit-rtl.c: Include tree-flow.h.
15334 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
15335 of replicating it with different semantics.
15336 * Makefile.in (emit-rtl.o): Adjust.
15337
1eb458d1
RR
153382011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15339
38be4072 15340 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 15341 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 15342
e7ef91dc
JJ
153432011-01-18 Jakub Jelinek <jakub@redhat.com>
15344
15345 PR rtl-optimization/47299
15346 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 15347 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
15348 * expmed.c (expand_widening_mult): Don't try to optimize constant
15349 multiplication if op0 has VOIDmode. Convert op1 constant to mode
15350 before using it.
15351
535b7874
RW
153522011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15353
15354 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
15355 spacing after 'e.g.', typos, comma, hyphenation.
15356
27bf36f3
RH
153572011-01-17 Richard Henderson <rth@redhat.com>
15358
8a5b5449
RH
15359 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
15360 (rx_restricted_mem_operand): New.
15361 (rx_shift_operand): Use register_operand.
15362 (rx_source_operand, rx_compare_operand): Likewise.
15363 * config/rx/rx.md (addsi3_flags): New expander.
15364 (adddi3): Rewrite as expander.
15365 (adc_internal, *adc_flags, adddi3_internal): New patterns.
15366 (subsi3_flags): New expander.
15367 (subdi3): Rewrite as expander.
15368 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
15369
784f69be
RH
15370 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
15371 (rx_init_builtins): Remove sat builtin.
15372 (rx_expand_builtin): Likewise.
15373 * config/rx/rx.md (ssaddsi3): New.
15374 (*sat): Rename from sat. Represent the CC_REG input.
15375
f033541c
RH
15376 * config/rx/predicates.md (rshift_operator): New.
15377 * config/rx/rx.c (rx_expand_insv): Remove.
15378 * config/rx/rx-protos.h: Update.
15379 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
15380 operand to the canonical position.
15381 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
15382 (*bitclr, *bitclr_in_memory): Similarly.
15383 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
15384 (insv): Retain the zero_extract in the expansion.
15385
34fee389
RH
15386 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
15387 (bswaphi2, bitinvert, revw): Likewise.
15388
265c835f
RH
15389 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
15390 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
15391 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
15392 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
15393 (bitset, bitset_in_memory): Likewise.
15394 (bitinvert, bitinvert_in_memory): Likewise.
15395 (bitclr, bitclr_in_memory): Likewise.
15396 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
15397 (rx_strend, rx_cmpstrn): Likewise.
15398 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
15399 (bitop peep2 patterns): Remove.
15400
b4d83be3
RH
15401 * config/rx/rx.c (rx_match_ccmode): New.
15402 * config/rx/rx-protos.h: Update.
15403 * config/rx/rx.md (abssi2): Clobber, don't set flags.
15404 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
15405 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
15406 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
15407 (fix_truncsfsi2, floatsisf2): Likewise.
15408 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
15409 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
15410 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
15411 (*subsi3_flags, *xorsi3_flags): New.
15412
d0acb939
RH
15413 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
15414
c06fc3d9
RH
15415 * config/rx/rx.c (rx_print_operand): Remove workaround for
15416 unsplit comparison operations.
15417
2882702b
RH
15418 * config/rx/rx.md (movsicc): Split after reload.
15419 (*movsicc): Merge *movsieq and *movsine via match_operator.
15420 (*stcc): New pattern.
15421
6f7310f2
RH
15422 * config/rx/rx.c (rx_float_compare_mode): Remove.
15423 * config/rx/rx.h (rx_float_compare_mode): Remove.
15424 * config/rx/rx.md (cstoresi4): Split after reload.
15425 (*sccc): New pattern.
15426
e963cb1a
RH
15427 * config/rx/predicates.md (label_ref_operand): New.
15428 (rx_z_comparison_operator): New.
15429 (rx_zs_comparison_operator): New.
15430 (rx_fp_comparison_operator): New.
15431 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
15432 Validate that the flags are set properly for the comparison.
15433 (rx_gen_cond_branch_template): Remove.
15434 (rx_cc_modes_compatible): Remove.
15435 (mode_from_flags): New.
15436 (flags_from_code): Rename from flags_needed_for_conditional.
15437 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
15438 (rx_select_cc_mode): Likewise.
15439 (rx_split_fp_compare): New.
15440 (rx_split_cbranch): New.
15441 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
15442 (*cbranchsi4): Use match_operator and rx_split_cbranch.
15443 (*cbranchsf4): Similarly.
15444 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
15445 match_operator and rx_split_cbranch.
15446 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
15447 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
15448 (*cmpsi): Rename from cmpsi.
15449 (*tstsi): Rename from tstsi.
15450 (*cmpsf): Rename from cmpsf; use CC_Fmode.
15451 (*conditional_branch): Rename from conditional_branch.
15452 (*reveresed_conditional_branch): Remove.
15453 (b<code>): Remove expander.
15454 * config/rx/rx-protos.h: Update.
15455
af530bb4
RH
15456 * config/rx/rx.c (rx_compare_redundant): Remove.
15457 * config/rx/rx.md (cmpsi): Don't use it.
15458 * config/rx/rx-protos.h: Update.
15459
27bf36f3
RH
15460 * config/rx/rx-modes.def (CC_F): New mode.
15461 * config/rx/rx.c (rx_select_cc_mode): New.
15462 * config/rx/rx.h (SELECT_CC_MODE): Use it.
15463 * config/rx/rx-protos.h: Update.
15464
d7fde127
RH
154652011-01-17 Richard Henderson <rth@redhat.com>
15466
15467 * except.c (dump_eh_tree): Fix stray ; after for statement.
15468
6ff38230
RG
154692011-01-17 Richard Guenther <rguenther@suse.de>
15470
15471 PR tree-optimization/47313
15472 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
15473 handling before copying the body. Properly deal with
15474 by-reference result in SSA form.
15475
114ce554
ILT
154762011-01-17 Ian Lance Taylor <iant@google.com>
15477
bf5cd92b 15478 PR target/47219
114ce554
ILT
15479 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
15480 (struct_value_alias_set): Don't define.
15481 (sparc_option_override): Don't set sparc_sr_alias_set and
15482 struct_value_alias_set.
15483 (save_or_restore_regs): Use gen_frame_mem rather than calling
15484 set_mem_alias_set.
15485 (sparc_struct_value_rtx): Likewise.
15486
98c6d93c
L
154872011-01-17 H.J. Lu <hongjiu.lu@intel.com>
15488
15489 PR target/47318
7a81008b 15490 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
15491 (_mm_maskstore_pd): Likewise.
15492 (_mm_maskload_ps): Likewise.
15493 (_mm_maskstore_ps): Likewise.
15494 (_mm256_maskload_pd): Change mask to __m256i.
15495 (_mm256_maskstore_pd): Likewise.
15496 (_mm256_maskload_ps): Likewise.
15497 (_mm256_maskstore_ps): Likewise.
15498
15499 * config/i386/i386-builtin-types.def: Updated.
15500 (ix86_expand_special_args_builtin): Likewise.
15501
15502 * config/i386/i386.c (bdesc_special_args): Update
15503 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
15504 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
15505 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
15506 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
15507
15508 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
15509 Use <avxpermvecmode> on mask register.
15510 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
15511
b9361af2 155122011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
15513 Michael Haubenwallner <michael.haubenwallner@salomon.at>
15514 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
15515
15516 PR target/46655
15517 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
15518 if <= USHRT_MAX in 32-bit mode.
15519
b7ae9eb5
RW
155202011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15521
15522 * doc/install.texi (Configuration, Specific): Wrap long
15523 lines in examples. Allow line wrapping in long options
15524 and URLs where beneficial for PDF output.
15525
4377fad9
RS
155262011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
15527
15528 * config/mips/mips.c (mips_classify_symbol): Don't return
15529 SYMBOL_PC_RELATIVE for nonlocal labels.
15530
55959ffa 155312011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 15532
55959ffa
EB
15533 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
15534
155352011-01-15 Jan Hubicka <jh@suse.cz>
15536
15537 PR tree-optimization/47276
be46831f
JH
15538 * ipa.c (function_and_variable_visibility): Do not try to mark alias
15539 declarations as needed.
15540
05842ff5
MJ
155412011-01-15 Martin Jambor <mjambor@suse.cz>
15542
15543 * common.opt (fdevirtualize): New flag.
15544 * doc/invoke.texi (Option Summary): Document it.
15545 * opts.c (default_options_table): Add devirtualize flag.
15546 * ipa-prop.c (detect_type_change): Return immediately if
15547 devirtualize flag is not set.
15548 (detect_type_change_ssa): Likewise.
15549 (compute_known_type_jump_func): Likewise.
15550 (ipa_analyze_virtual_call_uses): Likewise.
15551
f65cf2b7
MJ
155522011-01-14 Martin Jambor <mjambor@suse.cz>
15553
15554 PR tree-optimization/45934
15555 PR tree-optimization/46302
15556 * ipa-prop.c (type_change_info): New type.
15557 (stmt_may_be_vtbl_ptr_store): New function.
15558 (check_stmt_for_type_change): Likewise.
15559 (detect_type_change): Likewise.
15560 (detect_type_change_ssa): Likewise.
15561 (compute_complex_assign_jump_func): Check for dynamic type change.
15562 (compute_complex_ancestor_jump_func): Likewise.
15563 (compute_known_type_jump_func): Likewise.
15564 (compute_scalar_jump_functions): Likewise.
15565 (ipa_analyze_virtual_call_uses): Likewise.
15566 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
15567
eb5bb0fd
JM
155682011-01-14 Joseph Myers <joseph@codesourcery.com>
15569
15570 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
15571 * config/i386/i386.opt (msse5): New Alias.
15572
f2060fbe
JM
155732011-01-14 Joseph Myers <joseph@codesourcery.com>
15574
15575 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
15576 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15577 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15578 * config/sparc/sparc.h (CC1_SPEC): Likewise.
15579
3a7b4385
JM
155802011-01-14 Joseph Myers <joseph@codesourcery.com>
15581
15582 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
15583 -mcpu options.
15584 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15585 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15586 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
15587 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
15588 Likewise.
15589 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
15590
a7b778f8
JM
155912011-01-14 Joseph Myers <joseph@codesourcery.com>
15592
38be4072 15593 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 15594
a7edae0a
MS
155952011-01-14 Mike Stump <mikestump@comcast.net>
15596
15597 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
15598 * config/fr30/fr30.md: Likweise
15599 (movsi_push): Likewise.
15600 (movsi_pop): Likewise.
15601 (enter_func): Likewise.
15602 * config/moxie/moxie.md (movsi_push): Likewise.
15603 (movsi_pop): Likewise.
15604
cbabf03f
JM
156052011-01-14 Joseph Myers <joseph@codesourcery.com>
15606
15607 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
15608 %{no_archive} %{exact_version}.
15609 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
15610 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
15611 %{no_archive} %{exact_version}.
15612 * config/mips/openbsd.h (LINK_SPEC): Likewise.
15613 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
15614 * config/mips/vxworks.h: Likewise.
15615
438da41a
JM
156162011-01-14 Joseph Myers <joseph@codesourcery.com>
15617
38be4072 15618 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 15619
da290a42
JM
156202011-01-14 Joseph Myers <joseph@codesourcery.com>
15621
15622 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
15623 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
15624
8989d00e
JM
156252011-01-14 Joseph Myers <joseph@codesourcery.com>
15626
15627 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
15628 -nodefaultlib.
15629
a3010a69
JM
156302011-01-14 Joseph Myers <joseph@codesourcery.com>
15631
15632 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
15633 for mcpu not cpu.
15634 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
15635 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
15636 not cpu.
15637 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
15638 Don't handle -shlib.
15639
e7f2f537
JM
156402011-01-14 Joseph Myers <joseph@codesourcery.com>
15641
15642 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
15643 (CC1_SPEC): Don't handle -profile.
15644
34830bfd
JM
156452011-01-14 Joseph Myers <joseph@codesourcery.com>
15646
15647 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
15648 * config/mips/mips.h (CC1_SPEC): Likewise.
15649
b2d36e74
JM
156502011-01-14 Joseph Myers <joseph@codesourcery.com>
15651
15652 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
15653 * config/mips/mips.h (CC1_SPEC): Likewise.
15654
dabadc52
JM
156552011-01-14 Joseph Myers <joseph@codesourcery.com>
15656
15657 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
15658 * config/m32r/linux.h (LINK_SPEC): Likewise.
15659 * config/mips/linux.h (LINK_SPEC): Likewise.
15660 * config/mips/linux64.h (LINK_SPEC): Likewise.
15661 * config/sparc/linux.h (LINK_SPEC): Likewise.
15662 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
15663 LINK_SPEC): Likewise.
15664 * config/xtensa/linux.h (LINK_SPEC): Likewise.
15665
43ee6785
JM
156662011-01-14 Joseph Myers <joseph@codesourcery.com>
15667
15668 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
15669 %{version:-v}.
15670 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
15671
45e79dfd
JM
156722011-01-14 Joseph Myers <joseph@codesourcery.com>
15673
15674 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
15675 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
15676
37e9e71d
JM
156772011-01-14 Joseph Myers <joseph@codesourcery.com>
15678
15679 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
15680
bb127cd8
RO
156812011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15682
15683 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
15684 supports -Bstatic/-Bdynamic.
15685 * configure: Regenerate.
15686
89a012ea 156872011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 15688 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
15689
15690 PR target/46037
15691 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
15692 when checking debug_info_level. Test write_symbols instead of
15693 debug_hooks->var_location when setting flag_var_tracking_uninit.
15694
7352c013
RG
156952011-01-14 Richard Guenther <rguenther@suse.de>
15696
15697 PR tree-optimization/47179
15698 * target.def (ref_may_alias_errno): New target hook.
15699 * targhooks.h (default_ref_may_alias_errno): Declare.
15700 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
15701 (default_ref_may_alias_errno): New function.
15702 * target.h (struct ao_ref_s): Declare.
15703 * tree-ssa-alias.c: Include target.h.
15704 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
15705 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
15706 (targhooks.o): Likewise.
15707 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
15708 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
15709
9a6c9288
RG
157102011-01-14 Richard Guenther <rguenther@suse.de>
15711
15712 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
15713
0fdb0d27
RG
157142011-01-14 Richard Guenther <rguenther@suse.de>
15715
15716 PR tree-optimization/47280
15717 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
15718 return CFG changes.
15719 (tree_ssa_forward_propagate_single_use_vars): Deal with
15720 CFG changes from associate_plusminus.
15721
8f66db3b
RG
157222011-01-14 Richard Guenther <rguenther@suse.de>
15723
15724 PR middle-end/47281
15725 Revert
15726 2011-01-11 Richard Guenther <rguenther@suse.de>
15727
280d9630
EB
15728 PR tree-optimization/46076
15729 * tree-ssa.c (useless_type_conversion_p): Conversions from
15730 unprototyped to empty argument list function types are useless.
8f66db3b 15731
6c0c92e6
RG
157322011-01-14 Richard Guenther <rguenther@suse.de>
15733
15734 PR tree-optimization/47286
280d9630 15735 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 15736
db09f943
MJ
157372011-01-14 Martin Jambor <mjambor@suse.cz>
15738
15739 PR middle-end/46823
15740 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
15741
dde8a3a4
AS
157422011-01-13 Anatoly Sokolov <aesok@post.ru>
15743
15744 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
15745 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
15746 * config/xtensa/xtensa.c (xtensa_libcall_value,
15747 xtensa_function_value_regno_p): New functions.
15748 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
15749
a2b63a20
KT
157502011-01-13 Kai Tietz <kai.tietz@onevision.com>
15751
15752 PR c++/47213
15753 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
15754 PE specific hook.
15755 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
15756 New function prototype.
15757 * config/i386/winnt.c (i386_pe_assemble_visibility):
15758 Warn only if attribute was specified by user.
15759
b41f0b34
MM
157602011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
15761
15762 PR target/47251
15763 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
15764 floating point.
15765 (floatunsdidf2_fcfidu): Ditto.
15766
3f3c098d
AK
157672011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15768
15769 * config/s390/s390.c (print_operand_address): Replace 'error' with
15770 'output_operand_lossage'.
15771 (print_operand): Likewise.
15772
29fa95ed
JL
157732011-01-13 Jeff Law <law@redhat.com>
15774
280d9630 15775 PR rtl-optimization/39077
29fa95ed
JL
15776 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
15777 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
15778 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
15779 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
15780 * gcse.c (prune_insertions_deletions): New function.
15781 (compute_pre_data): Use it.
15782
71d12276
DS
157832011-01-13 Dodji Seketeli <dodji@redhat.com>
15784
15785 PR debug/PR46973
15786 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
15787 static function.
61052244 15788 (prune_unused_types_mark): Use it.
71d12276 15789
9b0f04e7
AB
157902011-01-13 Andrey Belevantsev <abel@ispras.ru>
15791
15792 PR rtl-optimization/45352
1c3ba85b 15793 * sel-sched.c: Update copyright years.
9b0f04e7 15794 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 15795 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 15796
d6a3e264
RH
157972011-01-12 Richard Henderson <rth@redhat.com>
15798
a49b692a
RH
15799 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
15800 (TARGET_MD_ASM_CLOBBERS): New.
15801
126b1483
RH
15802 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
15803 (TARGET_DELEGITIMIZE_ADDRESS): New.
15804
f3d9d2e0
RH
15805 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
15806 (clzsi2, *bsch): New patterns.
15807
d84760c9
RH
15808 * config/mn10300/mn10300.md (INT): New mode iterator.
15809 (*mov<INT>_clr): New pattern, and peep2 to generate it.
15810
ec815d65
RH
15811 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
15812 flag_split_wide_types.
15813
d6a3e264
RH
15814 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
15815 (mn10300_trampoline_init): Rewrite without a template, an immediate
15816 load and a direct branch.
15817 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
15818
0f8ab434
AS
158192011-01-12 Anatoly Sokolov <aesok@post.ru>
15820
15821 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
15822 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
15823 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
15824 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
15825
d8a24b65
KT
158262011-01-12 Kai Tietz <kai.tietz@onevision.com>
15827
15828 PR debug/47209
15829 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
15830 of type.
15831
56e22cab
JH
158322011-01-12 Jan Hubicka <jh@suse.cz>
15833
15834 PR driver/47244
15835 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
15836 (PLUGIN_COND_CLOSE): New macro.
15837 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
15838
4b18b3c2
RG
158392011-01-12 Richard Guenther <rguenther@suse.de>
15840
15841 PR lto/47259
15842 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
15843 register variables in a MEM_REF.
15844
8e38461c
JM
158452011-01-12 Joseph Myers <joseph@codesourcery.com>
15846
15847 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
15848 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
15849 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
15850 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
15851 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
15852 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
15853 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
15854 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
15855 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
15856 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
15857 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
15858 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
15859 * config/gnu-user.h: New. Copied from linux.h.
15860 (LINUX_TARGET_STARTFILE_SPEC): Rename to
15861 GNU_USER_TARGET_STARTFILE_SPEC.
15862 (LINUX_TARGET_ENDFILE_SPEC): Rename to
15863 GNU_USER_TARGET_ENDFILE_SPEC.
15864 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
15865 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
15866 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
15867 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
15868 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
15869 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
15870 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
15871 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
15872 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
15873 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
15874 * config/arm/linux-eabi.h (CC1_SPEC): Use
15875 GNU_USER_TARGET_CC1_SPEC.
15876 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
15877 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
15878 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
15879 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
15880 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
15881 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
15882 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
15883 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
15884
a570fc16
RG
158852011-01-12 Richard Guenther <rguenther@suse.de>
15886
15887 PR other/46946
15888 * doc/invoke.texi (ffast-math): Document it is turned on
15889 with -Ofast.
15890
b0223c3e
JH
158912011-01-12 Jan Hubicka <jh@suse.cz>
15892
15893 PR tree-optimization/47233
ca1e00b3
EB
15894 * opts.c (common_handle_option): Disable ipa-reference with profile
15895 feedback.
b0223c3e 15896
1c3ba85b 158972011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
15898
15899 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
15900 error message.
15901
d853ee42
NP
159022011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
15903
15904 * c-parser.c (c_lex_one_token): Updated and reindented some
15905 comments. No changes in code.
15906
4053a5a0
ILT
159072011-01-11 Ian Lance Taylor <iant@google.com>
15908
15909 * godump.c (go_output_var): Don't output the variable if there is
15910 already a type with the same name.
15911
fa3e04d2
ILT
159122011-01-11 Ian Lance Taylor <iant@google.com>
15913
15914 * godump.c (go_format_type): Don't generate float80.
15915
885fe07c
RH
159162011-01-11 Richard Henderson <rth@redhat.com>
15917
72d6e3c5
RH
15918 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
15919 declaration. Rewrite for both speed and size.
15920 (mn10300_address_cost_1): Remove.
15921 (mn10300_register_move_cost): New.
15922 (mn10300_memory_move_cost): New.
15923 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
15924 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
15925 extensions, shifts, BSWAP, CLZ.
15926 (mn10300_wide_const_load_uses_clr): Remove.
15927 (TARGET_REGISTER_MOVE_COST): New.
15928 (TARGET_MEMORY_MOVE_COST): New.
15929 * config/mn10300/mn10300-protos.h: Update.
15930 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
15931
df37c023
RH
15932 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
15933 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
15934 * config/mn10300/mn10300-protos.h: Update.
15935 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
15936 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
15937 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
15938 (*test_int_bitfield, *test_byte_bitfield): Remove.
15939 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 15940 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 15941
85a337b5
RH
15942 * config/mn10300/constraints.md ("c"): Rename from "A".
15943 ("A", "D"): New constraint letters.
15944 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
15945 (fmssf4, fnmasf4, fnmssf4): Likewise.
15946
a5c727e3
RH
15947 * config/mn10300/mn10300.md (isa): New attribute.
15948 (enabled): New attribute.
15949
0d9e23f4
RH
15950 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
15951 (abssf2, negsf2): Define only for hardware fp.
15952 (sqrtsf2): Reformat.
15953 (addsf3, subsf3, mulsf3): Merge expander and insn.
15954
c157b3f0
RH
15955 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
15956 (DEBUGGER_AUTO_OFFSET): Remove.
15957 (DEBUGGER_ARG_OFFSET): Remove.
15958
cc909bba
RH
15959 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
15960 Emit register stores with the same offsets as the hardware.
15961 (mn10300_store_multiple_operation): Don't check that the register
15962 save offsets are monotonic.
15963 * config/mn10300/mn10300-protos.h: Update.
15964
e3b5c2f3
RH
15965 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
15966
885fe07c
RH
15967 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
15968 in terms of the value on the stack, not the MDR register.
15969
6e701822
JH
159702011-01-11 Jan Hubicka <jh@suse.cz>
15971
15972 PR lto/45721
15973 PR lto/45375
15974 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
15975 (symbol_alias_set_destroy, symbol_alias_set_contains,
15976 propagate_aliases_backward): Declare.
15977 * lto-streamer-out.c (struct sets): New sturcture.
15978 (trivally_defined_alias): New function.
15979 (output_alias_pair_p): Rewrite.
15980 (output_unreferenced_globals): Fix output of alias pairs.
15981 (produce_symtab): Likewise.
15982 * ipa.c (function_and_variable_visibility): Set weak alias destination
15983 as needed in lto.
15984 * varasm.c (symbol_alias_set_t): Remove.
15985 (symbol_alias_set_destroy): Export.
15986 (propagate_aliases_forward, propagate_aliases_backward): New functions
15987 based on ...
15988 (compute_visible_aliases): ... this one; remove.
15989 (trivially_visible_alias): New
15990 (trivially_defined_alias): New.
15991 (remove_unreachable_alias_pairs): Rewrite.
15992 (finish_aliases_1): Reorganize code checking if alias is defined.
15993 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
15994 in LTO mode.
15995
1b248907
RG
159962011-01-11 Richard Guenther <rguenther@suse.de>
15997
15998 PR tree-optimization/46076
15999 * tree-ssa.c (useless_type_conversion_p): Conversions from
16000 unprototyped to empty argument list function types are useless.
16001
b1923f0a
RG
160022011-01-11 Richard Guenther <rguenther@suse.de>
16003
16004 PR middle-end/45235
16005 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
16006 volatile MEMs as MEM_READONLY_P.
16007
e98965af
RG
160082011-01-11 Richard Guenther <rguenther@suse.de>
16009
16010 PR tree-optimization/47239
16011 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
16012
9f9ca914
JL
160132011-01-11 Jeff Law <law@redhat.com>
16014
1ee3ea05 16015 PR tree-optimization/47086
9f9ca914
JL
16016 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
16017 IVs from statements that might throw.
16018
345fdcb7
JH
160192011-01-10 Jan Hubicka <jh@suse.cz>
16020
16021 PR lto/45375
16022 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
16023
c459c97b
JH
160242011-01-10 Jan Hubicka <jh@suse.cz>
16025
16026 PR lto/45375
16027 * profile.c (read_profile_edge_counts): Ignore profile inconistency
16028 when correcting profile.
16029
06c9eb51
JH
160302011-01-10 Jan Hubicka <jh@suse.cz>
16031
16032 PR lto/46083
16033 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
16034 DECL_FINI_PRIORITY.
16035 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
16036 Restore DECL_FINI_PRIORITY.
16037
ae9fd815
RW
160382011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16039
16040 * doc/gimple.texi: Fix quoting of multi-word return values in
16041 @deftypefn statements. Ensure presence of return value. Wrap
16042 overlong @deftypefn lines.
16043 (is_gimple_operand, is_gimple_min_invariant_address): Remove
16044 descriptions of removed functions.
16045 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
16046 of multi-word return value in @deftypefn statement.
16047
0ecb4a7c
RW
160482011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16049
16050 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
16051 (Conditional Expressions, Logical Operators)
16052 (Statement and operand traversals): Do not indent smallexample
16053 code. Fix duplicate function argument in example.
16054
2e5e346d
JL
160552011-01-10 Jeff Law <law@redhat.com>
16056
1ee3ea05 16057 PR tree-optimization/47141
2e5e346d
JL
16058 * ipa-split.c (split_function): Handle case where we are
16059 returning a value and the return block has a virtual operand phi.
16060
cf9712cc
JH
160612011-01-10 Jan Hubicka <jh@suse.cz>
16062
1c3ba85b 16063 PR tree-optimization/47234
cf9712cc
JH
16064 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
16065 (pass_feedback_split_functions): Declare.
16066 * passes.c (init_optimization_passes): Add ipa-split as subpass of
16067 tree-profile.
16068 * ipa-split.c (gate_split_functions): Update comments; disable
16069 split-functions for profile_arc_flag and branch_probabilities.
16070 (gate_feedback_split_functions): New function.
16071 (execute_feedback_split_functions): New function.
16072 (pass_feedback_split_functions): New global var.
16073
94cd932c
L
160742011-01-10 H.J. Lu <hongjiu.lu@intel.com>
16075
16076 PR lto/46760
16077 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
16078 calling gimple_call_set_cannot_inline.
16079
fbbfcaf1
IS
160802011-01-10 Iain Sandoe <iains@gcc.gnu.org>
16081
16082 * config/darwin-sections.def: Remove unused section.
16083
d06865bf
DK
160842011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
16085
16086 PR c++/47218
16087 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
16088
96bbfbac
NP
160892011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
16090
16091 PR objc/47232
16092 * c-parser.c (c_parser_declaration_or_fndef): Improved
16093 error message.
16094
1ba6516f
KT
160952011-01-09 Kai Tietz <kai.tietz@onevision.com>
16096
16097 * config/i386/winnt.c (i386_pe_start_function): Make sure
16098 to switch back to function's section.
16099
0c5d770e
IS
161002011-01-09 Iain Sandoe <iains@gcc.gnu.org>
16101
16102 PR gcc/46902
16103 PR testsuite/46912
16104 * plugin.c: Move include of dlfcn.h from here...
16105 * system.h: ... to here.
16106
161072011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
16108
16109 * doc/cpp.texi (C++ Named Operators): Fix markup for header
16110 file name.
16111 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
16112 two extra empty pages in PDF output.
16113
046608a3
NP
161142011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
16115
16116 PR objc/47078
16117 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
16118 for error recovery purposes behave as if it was not specified so
16119 that the default type is usd.
16120
8cb114b9
JH
161212011-01-07 Jan Hubicka <jh@suse.cz>
16122
16123 PR tree-optmization/46469
16124 * ipa.c (function_and_variable_visibility): Clear needed flags on
16125 nodes with external decls; handle weakrefs merging correctly.
16126
b294a75e
JM
161272011-01-07 Joseph Myers <joseph@codesourcery.com>
16128
16129 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
16130 not false.
16131
96bdf9b4
JH
161322011-01-07 Jan Hubicka <jh@suse.cz>
16133
f60c2554 16134 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
16135 and no longer claim that gold is required for linker plugin.
16136 * configure: Regenerate.
16137 * gcc.c (PLUGIN_COND): New macro.
16138 (LINK_COMMAND_SPEC): Use it.
16139 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
16140 * config.in (HAVE_LTO_PLUGIN): New.
16141 * configure.ac (--with-lto-plugin): New parameter; autodetect
16142 HAVE_LTO_PLUGIN.
16143
17afc0fe
JH
161442011-01-07 Jan Hubicka <jh@suse.cz>
16145
16146 PR tree-optimization/46367
16147 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
16148 when we can update original.
16149 (cgraph_mark_inline_edge): Sanity check.
16150 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
16151
d4c48c0f
UW
161522011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16153
16154 * config/spu/spu.h (ASM_COMMENT_START): Define.
16155
96f5b137
L
161562011-01-07 H.J. Lu <hongjiu.lu@intel.com>
16157
16158 PR driver/42445
16159 * gcc.c (%>S): New.
16160 (SWITCH_KEEP_FOR_GCC): Likewise.
16161 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
16162 (do_spec_1): Handle "%>".
16163
16164 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
16165
c6a8f6de
JJ
161662011-01-07 Jakub Jelinek <jakub@redhat.com>
16167
c21bbd7a
JJ
16168 PR target/47201
16169 * config/i386/i386.c (ix86_delegitimize_address): If
16170 simplify_gen_subreg fails, return orig_x.
16171
c6a8f6de
JJ
16172 PR bootstrap/47187
16173 * value-prof.c (gimple_stringop_fixed_value): Handle
16174 lhs of the call properly.
16175
fe95fbf9
JH
161762011-01-07 Jan Hubicka <jh@suse.cz>
16177
16178 PR lto/45375
16179 * lto-opt.c (lto_reissue_options): Set flag_shlib.
16180
14d11d40
IS
161812011-01-07 Iain Sandoe <iains@gcc.gnu.org>
16182
72e961c8
EB
16183 * target.def (function_switched_text_sections): New hook.
16184 * doc/tm.texi: Regenerated.
16185 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 16186 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
16187 (final_scan_insn): Call function_switched_text_sections when a
16188 mid-function section change occurs.
14d11d40 16189 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
16190 * config/darwin-protos.h (darwin_function_switched_text_sections):
16191 Likewise.
14d11d40 16192 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 16193 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 16194
0b764288
IS
161952011-01-07 Iain Sandoe <iains@gcc.gnu.org>
16196
16197 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
16198 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
16199 the secondary code fragment when outputting for DWARF == 2.
16200
2ac6bb04
AS
162012011-01-07 Anatoly Sokolov <aesok@post.ru>
16202
16203 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
16204 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
16205 Remove.
16206 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
16207 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
16208
9f82de11
EB
162092011-01-06 Eric Botcazou <ebotcazou@adacore.com>
16210
16211 PR debug/46704
280d9630
EB
16212 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
16213 when it is not empty.
9f82de11
EB
16214
162152011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 16216
1ed72abf 16217 Bobcat Enablement
14b52538 16218 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 16219 (case ${target}): Add btver1.
14b52538 16220 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 16221 -march=native recognize btver1 processors.
14b52538 16222 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 16223 btver1 def_and_undef
14b52538 16224 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
16225 btver1 cost table.
16226 (m_BTVER1): New definition.
16227 (m_AMD_MULTIPLE): Includes m_BTVER1.
16228 (initial_ix86_tune_features): Add btver1 tune.
16229 (processor_target_table): Add btver1 entry.
16230 (static const char *const cpu_names): Add btver1 entry.
16231 (software_prefetching_beneficial_p): Add btver1.
16232 (ix86_option_override_internal): Add btver1 instruction sets.
16233 (ix86_issue_rate): Add btver1.
16234 (ix86_adjust_cost): Add btver1.
14b52538 16235 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
16236 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
16237 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
16238 * config/i386/i386.md (define_attr "cpu"): Add btver1.
16239
e1a973d8
RO
162402011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16241
16242 PR target/43309
16243 * config/i386/i386.c (legitimize_tls_address)
16244 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
16245 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
16246 (tls_initial_exec_64_sun): New pattern.
16247
c73f67c5
GP
162482011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
16249
16250 * doc/invoke.texi (Overall Options): Improve wording and markup
16251 of the description of -wrapper.
16252
bc4c6f9c
JM
162532011-01-06 Joseph Myers <joseph@codesourcery.com>
16254
16255 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
16256 rdynamic, threads): New Driver options.
16257
adb75db0
RO
162582011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16259
16260 PR target/38118
16261 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
16262 if coming from .tdata.
16263 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
16264
402c1cb4
JH
162652011-01-06 Jan Hubicka <jh@suse.cz>
16266
16267 PR lto/47188
16268 * collect2.c (main): Do not enable LTOmode when plugin is active.
16269
a4da6485
RO
162702011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16271
16272 PR other/45915
16273 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
16274 --version output if supported.
16275 * configure: Regenerate.
16276
028dbdf4
JM
162772011-01-06 Joseph Myers <joseph@codesourcery.com>
16278
16279 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
16280 Driver options.
16281
dfe776dd
JJ
162822011-01-06 Jakub Jelinek <jakub@redhat.com>
16283
16284 PR c/47150
16285 * c-convert.c (convert): When converting a complex expression
16286 other than COMPLEX_EXPR to a different complex type, ensure
16287 c_save_expr is called instead of save_expr, unless in_late_binary_op.
16288 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
16289 when converting COMPLEX_TYPE.
16290
210dedfe
IR
162912011-01-06 Ira Rosen <irar@il.ibm.com>
16292
16293 PR tree-optimization/47139
16294 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
16295 only the last reduction value is used outside the loop. Update
16296 documentation.
16297
cd33a412
JM
162982011-01-05 Joseph Myers <joseph@codesourcery.com>
16299
16300 * config/rtems.opt: New.
16301 * config.gcc (*-*-rtems*): Use rtems.opt.
16302
819edd94
CF
163032011-01-05 Changpeng Fang <changpeng.fang@amd.com>
16304
16305 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
16306 processors do not support 3DNow instructions.
16307
dc242c4a
UW
163082011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16309
16310 * config/spu/spu.c (spu_option_override): Set parameter
16311 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
16312
be286227
JH
163132011-01-05 Jan Hubicka <jh@suse.cz>
16314
16315 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
16316 at the command line.
16317
644e637f
MJ
163182011-01-05 Martin Jambor <mjambor@suse.cz>
16319
16320 PR lto/47162
16321 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
16322 deltas on streamed outgoing edges.
16323 (output_node_opt_summary): Output info for outgoing edges only when
16324 the node is in new parameter set.
16325 (output_cgraph_opt_summary): New parameter set, passed to the two
16326 aforementioned functions. Update its forward declaration and its
16327 callee too.
16328
7bd11157
TT
163292011-01-05 Tom Tromey <tromey@redhat.com>
16330
16331 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
16332 operator to c_finish_omp_atomic.
16333 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
16334 (build_unary_op): Update.
16335 (build_modify_expr): Update.
16336 (build_asm_expr): Update.
16337
f626b979
UW
163382011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16339
16340 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
16341 newly inserted insns.
16342 (pad_bb): Likewise.
16343 (spu_emit_branch_hint): Likewise.
16344 (insert_hbrp_for_ilb_runout): Likewise.
16345 (spu_machine_dependent_reorg): Call df_finish_pass after
16346 schedule_insns returns.
16347
4c825c02
UW
163482011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16349
16350 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
16351
5e9fba51
EB
163522011-01-05 Eric Botcazou <ebotcazou@adacore.com>
16353
16354 PR tree-optimization/47005
16355 * tree-sra.c (struct access): Add 'non_addressable' bit.
16356 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
16357 (decide_one_param_reduction): Return 0 if the parameter is passed by
16358 reference and one of the accesses in the group is non_addressable.
16359
3ebb5ca6
EB
163602011-01-04 Eric Botcazou <ebotcazou@adacore.com>
16361
16362 PR tree-optimization/47056
16363 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
16364 (mark_load): Likewise. Handle FUNCTION_DECL specially.
16365 (mark_store): Likewise. Pass STMT to ipa_record_reference.
16366
d5d4d14e
EB
163672011-01-04 Eric Botcazou <ebotcazou@adacore.com>
16368
16369 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
16370 initializer. Skip view conversions from aggregate types.
16371
d996ef70
KT
163722011-01-04 Kai Tietz <kai.tietz@onevision.com>
16373
16374 PR bootstrap/47055
16375 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
16376
509d65dd 163772011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
16378
16379 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
16380 obvious typo.
16381
55c623b5
UW
163822011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16383
16384 * function.c (thread_prologue_and_epilogue_insns): Do not crash
16385 on empty epilogue sequences.
16386
b98d6b35
JM
163872011-01-04 Joseph Myers <joseph@codesourcery.com>
16388
16389 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
16390 non-static): New Driver options.
16391
a0d43bac
JZ
163922011-01-04 Jie Zhang <jie@codesourcery.com>
16393
16394 PR driver/47137
16395 * gcc.c (default_compilers[]): Set combinable field to 0
16396 for all assembly languages.
16397
2b18eb32
MX
163982011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
16399
16400 * config/mips/loongson3a.md: New file.
16401 * config/mips/mips.md: Include loongson3a.md.
16402 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
16403 TUNE_LOONGSON_3A.
16404
42a48c4f
EB
164052011-01-03 Eric Botcazou <ebotcazou@adacore.com>
16406
16407 PR middle-end/47017
16408 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
16409 instead of convert_memory_address_addr_space on the base expression.
16410
9c1732c4
UW
164112011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16412
16413 * config/spu/spu.c (spu_option_override): Update error text
16414 for bad -march= / -mtune= values.
16415
aa474365
UW
164162011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16417
16418 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
16419 if branch-hint optimization will be performed.
16420
9766135b
JJ
164212011-01-03 Jakub Jelinek <jakub@redhat.com>
16422
371556ee
JJ
16423 PR tree-optimization/47148
16424 * ipa-split.c (split_function): Convert arguments to
16425 DECL_ARG_TYPE if possible.
16426
1ac12fa2
JJ
16427 PR tree-optimization/47155
16428 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
16429 when computing uns.
16430
9766135b
JJ
16431 PR rtl-optimization/47157
16432 * combine.c (try_combine): If undobuf.other_insn becomes
16433 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
16434 and set *new_direct_jump_p too.
16435
f4a2e571
SP
164362011-01-03 Sebastian Pop <sebastian.pop@amd.com>
16437
16438 PR tree-optimization/47021
16439 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
16440
9f8e43c0
JJ
164412011-01-03 Jakub Jelinek <jakub@redhat.com>
16442
16443 * gcc.c (process_command): Update copyright notice dates.
16444 * gcov.c (print_version): Likewise.
16445 * gcov-dump.c (print_version): Likewise.
16446 * mips-tfile.c (main): Likewise.
16447 * mips-tdump.c (main): Likewise.
16448
1a2e38f3
MJ
164492011-01-03 Martin Jambor <mjambor@suse.cz>
16450
16451 PR tree-optimization/46801
16452 * tree-sra.c (type_internals_preclude_sra_p): Check whether
16453 aggregate fields start at byte boundary instead of the bit-field flag.
16454
56b721c5
L
164552011-01-03 H.J. Lu <hongjiu.lu@intel.com>
16456
16457 PR driver/47137
16458 * gcc.c (main): Revert revision 168407.
16459
839d549b
MJ
164602011-01-03 Martin Jambor <mjambor@suse.cz>
16461
16462 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
16463
4ce99a20 164642011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
16465
16466 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
16467 vector optab to expand vector/scalar shift, update gimple to vector.
16468
76df0ae6
MJ
164692011-01-03 Martin Jambor <mjambor@suse.cz>
16470
16471 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
16472 a thunk.
16473
ce47fda3
MJ
164742011-01-03 Martin Jambor <mjambor@suse.cz>
16475
16476 PR tree-optimization/46984
16477 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
16478 HOST_WIDE_INT.
16479 (cgraph_create_indirect_edge): Fixed line length.
16480 (cgraph_indirect_call_info): Declare.
16481 (cgraph_make_edge_direct) Update declaration.
16482 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
16483 (cgraph_create_indirect_edge): Use it.
16484 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
16485 callees.
16486 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
16487 the new thunk_delta representation.
16488 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
16489 HOST_WIDE_INT.
16490 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
16491 (ipa_read_indirect_edge_info): Likewise.
16492 * lto-cgraph.c (output_edge_opt_summary): New function.
16493 (output_node_opt_summary): Call it on all outgoing edges.
16494 (input_edge_opt_summary): New function.
16495 (input_node_opt_summary): Call it on all outgoing edges.
16496
1e67fa1f
L
164972011-01-02 H.J. Lu <hongjiu.lu@intel.com>
16498
16499 PR driver/47137
16500 * gcc.c (main): Don't check have_o when settting combine_inputs.
16501
6656b2ac
EB
165022011-01-02 Eric Botcazou <ebotcazou@adacore.com>
16503
16504 * regrename.c: Add general comment describing the pass.
16505 (struct du_head): Remove 'length' field.
16506 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
16507 (regrename_optimize): Do not sort chains. Rework comments, add others.
16508 Force renaming to the preferred class (if any) in the first pass and do
16509 not consider registers that belong to it in the second pass.
16510 (create_new_chain): Do not set 'length' field.
16511 (scan_rtx_reg): Likewise.
16512
bc470c24
JJ
165132011-01-02 Jakub Jelinek <jakub@redhat.com>
16514
4e996296
JJ
16515 PR tree-optimization/47140
16516 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
16517 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
16518 to bit_value_binop.
16519
bc470c24 16520 PR rtl-optimization/47028
6656b2ac
EB
16521 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
16522 parm_birth_insn instead of at the beginning of first bb.
bc470c24 16523
5af62fcd 165242011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
16525
16526 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
16527 Remove the word "see" before "@pxref".
16528 * doc/rtl.texi: Remove the word "see" before "@pxref".
16529
0e20c89f
JH
165302011-01-01 Jan Hubicka <jh@suse.cz>
16531
6656b2ac
EB
16532 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
16533 memory.
0e20c89f 16534
220e83ca
KT
165352011-01-01 Kai Tietz <kai.tietz@onevision.com>
16536
16537 PR target/38662
6656b2ac 16538 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 16539
ad41bd84 16540\f
797103eb 16541Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
16542
16543Copying and distribution of this file, with or without modification,
16544are permitted in any medium without royalty provided the copyright
16545notice and this notice are preserved.