]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
In libobjc/: 2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a700b5f0
KK
12011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
2
3 PR target/49163
4 * config/sh/predicates.md (general_movsrc_operand): Return 0
5 for memory and memory subreg of which address is an invalid
6 indexed address for QI and HImode.
7 (general_movdst_operand): Likewise.
8
76015c34
EB
92011-06-02 Eric Botcazou <ebotcazou@adacore.com>
10
11 * cse.c (cse_find_path): Refine change to exclude EDGE_ABNORMAL_CALL
12 edges only, when there is a non-local label in the function.
13 * postreload-gcse.c (bb_has_well_behaved_predecessors): Likewise.
14
4e76acd2
UB
152011-06-02 Uros Bizjak <ubizjak@gmail.com>
16
17 * config/i386/constraints.md (Y3): New register constraint.
18 * config/i386/sse.md (*vec_interleave_highv2df): Merge with
19 *sse3_interleave_highv2df and *sse2_interleave_highv2df.
20 (*vec_interleave_lowv2df): Merge with *sse3_interleave_lowv2df and
21 *sse2_interleave_lowv2df.
22
288f605f
JB
232011-06-02 Julian Brown <julian@codesourcery.com>
24
25 * config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
26 * config/arm/arm.c (arm_cortex_a5_branch_cost): New.
27 (arm_cortex_a5_tune): New.
28
7ec70105
JB
292011-06-02 Julian Brown <julian@codesourcery.com>
30
153668ec
JB
31 * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
32 * config/arm/arm.c (arm_default_branch_cost): New.
33 (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
34 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a9_tune)
35 (arm_fa726_tune): Set branch_cost field using
36 arm_default_branch_cost.
37 * config/arm/arm.h (BRANCH_COST): Use branch_cost hook from
38 current_tune structure.
39 * dojump.c (tm_p.h): Include file.
40
412011-06-02 Julian Brown <julian@codesourcery.com>
42
43 * config/arm/arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2
44 tuning.
7ec70105
JB
45 (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
46 (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
47 * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
48 field.
49 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
50 (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
51 (arm_fa726te_tune): Add prefer_constant_pool setting.
52 (arm_v6t2_tune, arm_cortex_tune): New.
53 * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
54 prefer_constant_pool setting.
55
aad61732
UB
562011-06-02 Uros Bizjak <ubizjak@gmail.com>
57
4e76acd2
UB
58 * config/i386/i386.c (standard_sse_constant_p) <case 1>: Simplify
59 switch statement.
aad61732
UB
60 * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>: Ditto.
61 (*movdf_internal) <case 6,7,8>: Ditto.
62
4e76acd2 63 * config/i386/constraints.md (Y4): New register constraint.
aad61732
UB
64 * config/i386/sse.md (vec_set<mode>_0): Merge with
65 *vec_set<mode>_0_sse4_1 and *vec_set<mode>_0_sse2.
66 (*vec_extractv2di_1): Merge from *vec_extractv2di_1_sse2 and
67 *vec_extractv2di_1_sse.
68 (*vec_concatv2di_rex64): Merge from *vec_concatv2di_rex64_sse4_1
69 and *vec_concatv2di_rex64_sse.
70
6e588138
SH
712011-06-02 Stuart Henderson <shenders@gcc.gnu.org>
72
73 PR target/48807
74 * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Check return value
75 of cgraph_local_info for null before attempting to use it.
76
bc6d3f91
EB
772011-06-02 Eric Botcazou <ebotcazou@adacore.com>
78
79 * function.h (struct stack_usage): Remove dynamic_alloc_count field.
80 (current_function_dynamic_alloc_count): Delete.
81 * builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
82 (expand_builtin_nonlocal_goto): Remove obsolete comment.
83 (expand_builtin_update_setjmp_buf): Remove dead code.
84 * cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
85 * explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
86 support.
87 * function.c (instantiate_virtual_regs): Likewise.
88 * postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
89 for a block with a single abnormal incoming edge.
90 * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
a21ede65 91 (SETJMP_VIA_SAVE_AREA): Delete.
bc6d3f91
EB
92 * config/sparc/sparc-protos.h (load_got_register): Declare.
93 * config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
94 (load_got_register): Make global.
95 (sparc_frame_pointer_required): Add 'static'.
96 (sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
97 (sparc_builtin_setjmp_frame_value): New function.
98 * config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
99 (save_stack_nonlocal): New expander.
100 (restore_stack_nonlocal): Likewise.
101 (nonlocal_goto): Remove modes, adjust predicates and reimplement.
102 (nonlocal_goto_internal): New insn.
103 (goto_handler_and_restore): Delete.
104 (builtin_setjmp_setup): Likewise.
105 (do_builtin_setjmp_setup): Likewise.
106 (setjmp): Likewise.
107 (builtin_setjmp_receiver): New expander.
108
69282fee
DL
1092011-06-01 David Li <davidxl@google.com>
110
111 PR middle-end/49261
112 * tree-pretty-print.c (dump_function_header): Format cleanup.
113
e95873dd
KK
1142011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
115
116 PR target/49238
117 * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
118 needed when original operands are used for msw_skip comparison.
119
88c15821
JJ
1202011-06-01 Jakub Jelinek <jakub@redhat.com>
121
122 PR debug/49250
123 * var-tracking.c (add_uses, add_stores): Don't call
124 cselib_subst_to_values on ENTRY_VALUE.
125
07233947
DN
1262011-06-01 Diego Novillo <dnovillo@google.com>
127
128 * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
129 output_record_start with LTO_null instead of output_zero.
130 (lto_output_ts_binfo_tree_pointers): Likewise.
131 (lto_output_tree): Likewise.
132 (output_eh_try_list): Likewise.
133 (output_eh_region): Likewise.
134 (output_eh_lp): Likewise.
135 (output_eh_regions): Likewise.
136 (output_bb): Likewise.
137 (output_function): Likewise.
138 (output_unreferenced_globals): Likewise.
139 * lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
140 instead of NUM_TREE_CODES.
141 (lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
142 (lto_output_int_in_range): Change << to >> when shifting VAL.
143
4ee3537a
DN
1442011-06-01 Diego Novillo <dnovillo@google.com>
145
146 * lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
147 Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
148
02972eaf
RS
1492011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
150
151 PR target/45074
152 * optabs.h (valid_multiword_target_p): Declare.
153 * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
154 doing multi-word operations.
155 * optabs.c (expand_binop): Likewise.
156 (expand_doubleword_bswap): Likewise.
157 (expand_absneg_bit): Likewise.
158 (expand_unop): Likewise.
159 (expand_copysign_bit): Likewise.
160 (multiword_target_p): New function.
161
4d41c2d1
RS
1622011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
163
164 PR rtl-optimization/48830
165 PR rtl-optimization/48808
166 PR rtl-optimization/48792
167 * reload.c (push_reload): Check contains_reg_of_mode.
168 * reload1.c (strip_paradoxical_subreg): New function.
169 (gen_reload_chain_without_interm_reg_p): Use it to handle
170 paradoxical subregs.
171 (emit_output_reload_insns, gen_reload): Likewise.
172
5f57dccb
DL
1732011-06-01 David Li <davidxl@google.com>
174
175 * predict.c : Change pass name
176 * ipa.c: Ditto.
177 * dce.c: Ditto.
178 * tree-profile.c: Ditto.
179 * except.c: Ditto.
180
ea6cf778
DL
1812011-06-01 David Li <davidxl@google.com>
182
183 * tree-pretty-print.c (dump_function_header): New function.
184 * final.c (rest_of_clean_state): Use header dumper.
185 * tree-cfg.c (gimple_dump_cfg): Use header dumper.
186 * passes.c (pass_init_dump_file): Use header dumper.
187
ebdc0d4b
JJ
1882011-06-01 Jakub Jelinek <jakub@redhat.com>
189
eeeb9b49
JJ
190 * dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
191 ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
192 popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
193 New functions.
194 (mem_loc_descriptor): Use them.
195
ebdc0d4b
JJ
196 * var-tracking.c (create_entry_value): New function.
197 (vt_add_function_parameter): Use it.
198
0699e415
RO
1992011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
200
201 * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
202 Include <signal.h>, <ucontext.h>.
203 (sigill_caught): Define.
204 (sigill_hdlr): New function.
205 (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
206 insns can be executed.
aad61732 207 * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
0699e415
RO
208 * config/sparc/sol2.h (ENDFILE_SPEC): Remove.
209
ca24c5ad
RO
2102011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
211
212 * config/t-slibgcc-darwin: Move to ...
aad61732 213 * config/t-slibgcc-dummy: ... this. Clarify comments.
ca24c5ad
RO
214 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
215 powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
216 (i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
aad61732 217 (i[34567]86-*-rtems*): Remove extra_parts. Use i386/t-rtems.
ca24c5ad
RO
218 Remove i386/t-crtstuff from tmake_file.
219 (i[34567]86-*-solaris2*): Remove t-svr4,
220 t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
221 t-slibgcc-dummy.
222 (sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
223 (sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
224 sparc/t-crtfm from tmake_file.
225 (sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
226 t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
227 Remove extra_parts.
228 * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
229 * config/i386/t-nwld (SHLIB_LINK): Remove.
230 * config/i386/t-rtems-i386: Rename to ...
231 * config/i386/t-rtems: ... this.
232 ($(T)crti.o, $(T)crtn.o): Remove.
233 (FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
234 (dp-bit.c, fp-bit.c, xp-bit.c): Remove.
235 (EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
236 * config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
237 EXTRA_MULTILIB_PARTS): Remove.
238 * config/sparc/t-sol2-64: Likewise.
239 * config/sparc/t-sol2: Remove.
240 * config/sparc/t-crtin: Remove.
241 * config/sparc/gmon-sol2.c: Move to ../libgcc/config.
242 * config/i386/gmon-sol2.c: Remove.
243 * config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
244 * config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
245 * config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
246 * config/i386/sol2-gc1.asm: Remove.
247 * config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
248 * config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
249 * config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
250 * config/t-slibgcc-sld: Remove.
251
a78d13c3
JJ
2522011-06-01 Jakub Jelinek <jakub@redhat.com>
253
254 * dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
255 base_type_for_mode with op_mode instead of mode.
256
572070ef
PB
2572011-06-01 Paul Brook <paul@cpodesourcery.com>
258
259 * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
260 Cortex-A15.
261 * config/arm/arm-tune.md: Regenerate.
262 * config/arm/arm-tables.opt: Regenerate.
263 * config/arm/arm.c (FL_DIV): Rename...
264 (FL_THUMB_DIV): ... to this.
265 (FL_ARM_DIV): Define.
266 (FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
267 (arm_arch_hwdiv): Remove.
268 (arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
269 (arm_issue_rate): Add cortexr5.
270 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
271 __ARM_ARCH_EXT_IDIV__.
272 (TARGET_IDIV): Define.
273 (arm_arch_hwdiv): Remove.
274 (arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
275 * config/arm/arm.md (tune_cortexr4): Add cortexr5.
276 (divsi3, udivsi3): New patterns.
277 * config/arm/thumb2.md (divsi3, udivsi3): Remove.
278 * doc/invoke.texi: Document ARM -mcpu=cortex-r5
279
11026b51
MJ
2802011-06-01 Martin Jambor <mjambor@suse.cz>
281
282 * ipa-utils.c (ipa_dfs_info): New field scc_no.
283 * ipa-utils.c (searchc): Set scc_no.
284
b6156cf2
MJ
2852011-06-01 Martin Jambor <mjambor@suse.cz>
286
287 * ipa-utils.c (searchc_env): New field allow_overwritable.
288 (searchc): do not ignore edges to overwritable nodes if indicated
289 by env->allow_overwritable.
290 (ipa_reduced_postorder): Set env.allow_overwritable.
291
6807da97
RG
2922011-06-01 Richard Guenther <rguenther@suse.de>
293
294 * tree.c (free_lang_data): Do not reset boolean_type_node nor
295 char_type_node.
296 * lto-streamer.c (lto_record_common_node): Take node pointer,
297 do not register types.
298 (lto_preload_common_nodes): Explicitly skip preloading nodes
299 that differ between frontends.
300
66bd20e7 3012011-05-31 Pat Haugen <pthaugen@us.ibm.com>
ddaf42bc
PH
302
303 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
304 NON_FLOAT_REGS.
305
66bd20e7 3062011-05-31 Pat Haugen <pthaugen@us.ibm.com>
abdd692e
PH
307
308 * config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
309 parameter value for dump. Dump cost on outermost call only.
310 (rs6000_memory_move_cost): Dump cost on outermost call only.
311
7351d8da
JJ
3122011-05-31 Jakub Jelinek <jakub@redhat.com>
313
ead7c399
JJ
314 * dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
315 DW_OP_GNU_convert ops.
316
509f4495
JJ
317 * cselib.c (promote_debug_loc): Allow l->next non-NULL for
318 cselib_preserve_constants.
319 (cselib_lookup_1): If cselib_preserve_constants,
320 a new VALUE is being created for REG and there is a VALUE for the
321 same register in wider mode, add another loc with lowpart SUBREG of
322 the wider VALUE.
323 (cselib_subst_to_values): Handle ENTRY_VALUE.
324 * var-tracking.c (replace_expr_with_values): Return NULL for
325 ENTRY_VALUE too.
326 * dwarf2out.c (convert_descriptor_to_signed): New function.
327 (mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
328 instead of two shifts.
329 (mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
330 the right mode if needed.
331 (mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
332 (mem_loc_descriptor) <case UNSIGNED_FIX>: Use
333 convert_descriptor_to_signed.
334 (mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
335 BSWAP, ROTATE, ROTATERT>: Handle these rtls.
336
7351d8da
JJ
337 PR target/48688
338 * config/i386/i386.md (*lea_general_4): New define_insn_and_split.
339
5cc93ee0
UB
3402011-05-31 Uros Bizjak <ubizjak@gmail.com>
341
342 * config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
343 of X87MODEI12 and SWI48x instead of SSEMODEI24.
344 (SWI248x): New mode iterator, rename from X87MODEI.
345 (X87MODEI): Remove mode iterator.
346 (X87MODEI12): Ditto.
347 (SSEMODEI24): Ditto.
348
f0686e78
AO
3492011-05-31 Alexandre Oliva <aoliva@redhat.com>
350
351 * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
352 * doc/invoke.texi: Document max-vartrack-expr-depth.
353 * var-tracking.c (EXPR_DEPTH): New.
354 (reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
355
f3308413
AO
3562011-05-31 Alexandre Oliva <aoliva@redhat.com>
357
358 * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
359 * config/i386/sse.md: Add n to negated FMA pattern names.
360
28c14a04
AO
3612011-05-31 Alexandre Oliva <aoliva@redhat.com>
362
363 * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
364
70efc82d
AO
3652011-05-31 Alexandre Oliva <aoliva@redhat.com>
366
5cc93ee0 367 * gengtype-state.c (read_state_params_structs): Initialize previous.
70efc82d 368
6ba5d856
UB
3692011-05-31 Uros Bizjak <ubizjak@gmail.com>
370
371 * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
372 (FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
373
3742011-05-31 Uros Bizjak <ubizjak@gmail.com>
375
376 * config/i386/i386.md (*movtf_internal): Avoid allocating general
377 registers. Penalize F*r->o alternative to prevent partial memory
378 stalls. Slightly penalize *roF->*r alternative. Generate SSE
379 CONST_DOUBLE immediates when optimizing function for size. Do not move
380 CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
381 (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
382 (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
383 (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
384 alternatives.
385 (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
386
387 (fp_register_operand splitters): Use fp_register_operand
388 constraint. Do not use FP_REG_P in insn condition.
389 (any_fp_register_operand splitters): Use any_fp_register_operand
390 constraint. Do not use ANY_FP_REG_P in insn condition.
391
533c07c5
JH
3922011-05-31 Jan Hubicka <jh@suse.cz>
393
394 * cgraph.h (cgraph_inline_failed_t): Give enum a name
395 * lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
396 (LTO_cgraph_tags): Add LTO_cgraph_last_tag.
397 (lto_output_edge): Use output_enum and var_len_unsigned.
398 (lto_output_varpool_node): Likewise.
399 (input_overwrite_node): Do not take resolution parameter;
400 extract it from a bitpack.
401 (input_node): Do not read resolution; use input_enum and
402 var_len_unsigned.
403 (input_varpool_node): Likewise.
404 (input_edge): Likewise.
405 (input_cgraph_1): Likewise.
406
2611db71
RG
4072011-05-31 Richard Guenther <rguenther@suse.de>
408
409 * gimple.c (gimple_register_canonical_type): Do not register
410 any types via gimple_register_type.
411
b9e57365
JH
4122011-05-31 Jan Hubicka <jh@suse.cz>
413
414 * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
415 of thunks.
416
35979cc2
JJ
4172011-05-31 Jakub Jelinek <jakub@redhat.com>
418
419 PR rtl-optimization/49235
420 * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
421 (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
422
8f7de592
IR
4232011-05-31 Ira Rosen <ira.rosen@linaro.org>
424
425 PR tree-optimization/49093
426 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
427 data references.
428
8d8a3bda
DS
4292011-05-31 Dodji Seketeli <dodji@redhat.com>
430
431 PR debug/49047
432 * dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
6ba5d856 433 for concrete functions containing the code of cloned functions.
8d8a3bda 434
2e87621c
RG
4352011-05-31 Richard Guenther <rguenther@suse.de>
436
437 * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
438 to ...
439 (forward_propagate_into_comparison_1): ... this.
440 (forward_propagate_comparison): Rename to ...
441 (forward_propagate_into_comparison): ... this. Split out
442 real forward propagation code to ...
443 (forward_propagate_comparison): ... this.
444 (forward_propagate_into_gimple_cond): Remove looping.
445 (forward_propagate_into_cond): Likewise.
446 (simplify_not_neg_expr): Return whether we have done something.
447 (simplify_gimple_switch): Likewise.
448 (tree_ssa_forward_propagate_single_use_vars): Rename to ...
449 (ssa_forward_propagate_and_combine): ... this. Re-structure
450 to do a forward forward-propagation walk on BBs and a backward
6ba5d856 451 stmt combining walk on BBs. Consistently re-scan changed statements.
2e87621c
RG
452 (pass_forwprop): Adjust.
453
5a880d5d
ILT
4542011-05-30 Ian Lance Taylor <iant@google.com>
455
456 * godump.c (go_format_type): Correct length of name added to
457 obstack for anonymous field.
458
5f133038
KK
4592011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
460
461 PR target/49186
462 * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
463 part of the second operand is 0.
464
b17d5426
UB
4652011-05-30 Uros Bizjak <ubizjak@gmail.com>
466
467 * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
468 to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
469 to memory for !TARGET_MEMORY_MISMATCH_STALL.
470 (*movdf_internal_rex64): Do not penalize F->r alternative.
6ba5d856 471 (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
b17d5426
UB
472 memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
473 when optimizing function for size. Do not move CONST_DOUBLEs
474 directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
6ba5d856
UB
475 (FP move splitters): Merge {TF,XF,DF}mode splitters. Do not handle
476 SUBREGs. Do not check for MEM_P operands in the insn condition,
b17d5426
UB
477 check for ANY_FP_REGNO_P instead.
478 * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
479 TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
480 function for speed.
481 * config/i386/i386.c (ix86_option_override_internal): Do not
482 set TARGET_INTEGER_DFMODE_MOVES here.
483
a0cd843f
L
4842011-05-30 H.J. Lu <hongjiu.lu@intel.com>
485
486 PR target/49168
aad61732 487 * config/i386/i386.md (*movtf_internal): Handle misaligned load/store.
a0cd843f 488
006a5f38
JJ
4892011-05-30 Jakub Jelinek <jakub@redhat.com>
490
491 * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
492 DW_TAG_rvalue_reference_type even for
493 -gdwarf-4 -fno-debug-types-section.
494
6e96f98a
BS
4952011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
496
497 PR tree-optimization/46728
498 * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
499 (build_and_insert_binop): New.
500 (gimple_expand_builtin_pow): Reorder args for
501 build_and_insert_call; use build_and_insert_binop; add more
502 optimizations for fractional exponents.
b17d5426 503
4f60111f
NF
5042011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
505
506 PR bootstrap/49190
507
508 Revert:
509 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
510
511 * tree.h (struct tree_identifier): Inherit from tree_typed, not
512 tree_common.
513 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
514 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
515 TS_BASE instead of TS_COMMON.
516 * varasm.c (assemble_name): Remove assert.
517
3fd7879d
RS
5182011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
519
520 * config.gcc: Keep obselete list sorted.
521
80060f7a
JJ
5222011-05-30 Jakub Jelinek <jakub@redhat.com>
523 Eric Botcazou <ebotcazou@adacore.com>
524
525 * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
526 crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
527 there is a DRAP register and arg_pointer_rtx is the CFA pointer.
528 (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
529 (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
530
17e99cdb
RG
5312011-05-30 Richard Guenther <rguenther@suse.de>
532
533 * gimple.c (gimple_types_compatible_p_1): Compare record
534 and union type members properly.
535
42b05b6e
RG
5362011-05-30 Richard Guenther <rguenther@suse.de>
537
538 PR tree-optimization/49210
6ba5d856
UB
539 * ipa-split.c (split_function): Care for the case where the call
540 result is not trivially convertible to the result holding variable.
42b05b6e 541
f3321158
RG
5422011-05-30 Richard Guenther <rguenther@suse.de>
543
544 PR tree-optimization/49218
545 * tree-vrp.c (adjust_range_with_scev): Properly check whether
546 overflow occured.
547
d12d8efe
RG
5482011-05-30 Richard Guenther <rguenther@suse.de>
549
550 * tree-ssa-forwprop.c (forward_propagate_into_comparison):
551 New function split out from ...
552 (forward_propagate_into_gimple_cond): ... here. Adjust.
553 (forward_propagate_into_cond): Likewise.
554 (forward_propagate_comparison): Also propagate into
555 comparisons on assignment RHS. Change return value to
556 behave similar to forward_propagate_into_cond.
557 (tree_ssa_forward_propagate_single_use_vars): Handle
558 strict-overflow warnings properly for forward_propagate_comparison.
559
df33b41f
RO
5602011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
561
562 * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
563 from plugin linker.
564 * configure: Regenerate.
565
69940d4d
IR
5662011-05-30 Ira Rosen <ira.rosen@linaro.org>
567
568 PR tree-optimization/49199
569 * tree-vect-loop.c (vect_is_slp_reduction): Check that the
b17d5426 570 non-reduction operands are either defined in the loop or by induction.
69940d4d 571
226c52aa
XDL
5722011-05-29 Xinliang David Li <davidxl@google.com>
573
574 * opts-global.c (handle_common_deferred_options): Handle new options.
575 * passes.c (register_one_dump_file): Call register_pass_name.
576 (execute_one_pass): Check explicit enable/disable flag.
577 (passr_hash): New function.
578 (passr_eq): Ditto.
579 (register_pass_name): Ditto.
580 (get_pass_by_name): Ditto.
581 (pass_hash): Ditto.
582 (pass_eq): Ditto.
583 (enable_pass): Ditto.
584 (disable_pass): Ditto.
585 (is_pass_explicitly_enabled_or_disabled): Ditto.
586
491d8eed
UB
5872011-05-29 Uros Bizjak <ubizjak@gmail.com>
588
589 * config/i386/i386.md (*movoi_internal_avx): Use
590 standard_sse_constant_opcode for alternative 0.
591 (*movti_internal_sse): Ditto.
592 (*movti_internal_rex64): Use standard_sse_constant_opcode for
593 alternative 2.
594 (*movdi_internal_rex64): Use standard_sse_constant_opcode for
595 sselog1 type moves.
596 (*movsi_internal): Ditto.
597 (*movdi_internal): Ditto. Add ssecvt type moves.
598
eb93b31f
EB
5992011-05-29 Eric Botcazou <ebotcazou@adacore.com>
600
601 PR target/48830
602 * rtlanal.c (simplify_subreg_regno): Adjust comment.
603
3f831b7d
JJ
6042011-05-29 Jakub Jelinek <jakub@redhat.com>
605
606 PR rtl-optimization/49095
607 * config/i386/predicates.md (plusminuslogic_operator): New predicate.
608 * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
609
ee3ee488
RS
6102011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
611
612 PR target/43995
613 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
614 recurse_p argument. Only follow register copies if it is set,
615 and prevent mips_find_pic_call_symbol from recursing.
616 (mips_find_pic_call_symbol): Add a recurse_p argument.
617 Pass it to mips_pic_call_symbol_from_set.
618 (mips_annotate_pic_calls): Update accordingly.
619
65f3dedb
RS
6202011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
621
622 * emit-rtl.c (try_split): Use a loop to search for
623 NOTE_INSN_CALL_ARG_LOCATIONs.
624
61e374ab
RG
6252011-05-29 Richard Guenther <rguenther@suse.de>
626
627 PR tree-optimization/49217
628 * ipa-pure-const.c (propagate_pure_const): Fix typos.
629
fac009a8
JH
6302011-05-28 Jan Hubicka <jh@suse.cz>
631
632 * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
633 length.
634 (string_slot_free): Remove
635 (create_output_block): Initialize obstack.
636 (destroy_output_block): Free obstack.
637 (lto_string_index): Add PERSISTENT parameter; do not duplicate
638 the string unless it needs to be added into the hash.
639 (lto_output_string_with_length): Add persistent attribute;
640 handle NULL strings.
641 (lto_output_string): Add PERSISTENT parameter.
642 (output_string_cst, output_identifier): Simplify.
643 (lto_output_location_bitpack): Update.
644 (lto_output_builtin_tree): Update.
645 * lto-streamer.h (struct output_block): Add obstack.
491d8eed
UB
646 (lto_output_string, lto_output_string_with_length): Remove
647 declarations; functions are static now.
fac009a8 648
fa766006
JH
6492011-05-28 Jan Hubicka <jh@suse.cz>
650
651 * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
652 pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
653 pack_ts_function_decl_value_fields, lto_output_builtin_tree,
654 output_cfg, output_gimple_stmt): Use enum and variable length i/o.
655 * lto-streamer-in.c (input_cfg, input_gimple_stmt,
656 unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
657 unpack_ts_decl_with_vis_value_fields,
658 unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
659 lto_get_builtin_tree): Use enum and variable length i/o.
660 * basic-block.h (profile_status_d): Add PROFILE_LAST.
661 * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
662 New functions.
663 (bp_pack_enum, bp_unpack_enum): New macros.
664
e092158b
RS
6652011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
666
667 * genrecog.c: Remove redundant forward declarations.
668
7ca2afa0
RS
6692011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
670
671 * config.gcc: Deprecate mips*-*-openbsd*.
672
a601a53a
RS
6732011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
674
675 PR bootstrap/49195
676 * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
677 for match_op_dup.
678
fc64b448
AP
6792011-05-27 Andrew Pinski <pinskia@gmail.com>
680
681 PR middle-end/48981
682 * gengtype.c (vec_prefix_type): New function.
683 (note_def_vec): Use vec_prefix_type and change the length
684 attribute to be based on the prefix.
685 * vec.c: Include coretypes.h before vec.h.
686 (struct vec_prefix): Remove.
687 (vec_gc_p_reserve): Change the offsetof to sizeof.
688 (vec_gc_p_reserve_exact): Likewise.
689 (vec_heap_p_reserve): Likewise.
690 (vec_heap_p_reserve_exact): Likewise.
691 (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
692 (vec_stack_p_reserve): Change the offsetof to sizeof.
693 (vec_stack_p_reserve_exact): Likewise.
694 * vec.h (struct vec_prefix): New struct definition.
695 (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
696 (VEC_T_GTY(T,B)): Likewise.
697 (DEF_VEC_FUNC_P(T)): Use prefix field.
698 (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
699 (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
700
ba869341
BS
7012011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
702
703 PR tree-optimization/46728
704 * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
705 (powi_as_mults): Add gimple_set_location.
706 (build_and_insert_call): New.
707 (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
708 0.5, 0.25, 0.75, 1./3., or 1./6.
491d8eed 709
d296760d
AM
7102011-05-27 Alexander Monakov <amonakov@ispras.ru>
711
712 * doc/contrib.texi: Update copyright years.
713 (Contributors): Add Zdenek Sojka.
714
38e01f9e
NF
7152011-05-27 Nathan Froyd <froydnj@codesourcery.com>
716
717 * c-decl.c (c_push_function_context): Copy the current statement
718 list stack.
719 (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
720 (finish_struct): Call building_stmt_list_p instead of checking
721 cur_stmt_list.
722 * c-parser.c (c_parser_postfix_expression): Likewise.
723 * c-typeck.c (c_end_compound_stmt): Likewise.
724 * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
725 * tree-iterator.c (stmt_list_cache): Change to a VEC.
726 (alloc_stmt_list): Adjust for stmt_list_cache's new type.
727 (free_stmt_list): Likewise.
728 * tree.h (struct tree_statement_list): Include typed_tree instead
729 of tree_common.
730 * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
731 as TS_TYPED instead of TS_COMMON.
732
8950516e 7332011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
66bd20e7 734 Uros Bizjak <ubizjak@gmail.com>
8950516e
RO
735
736 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
737 (HAVE_AS_IX86_TLSGDPTL): Define.
738 (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
739 (HAVE_AS_IX86_TLSLDMPLT): Define.
740 * configure: Regenerate.
741 * config.in: Regenerate.
742 * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
743 * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
744 TARGET_SUN_TLS, use @tlsgdplt or @plt.
745 (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
746 (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
747 @tlsldmplt or @plt.
748 (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
749
b0bd15f7
BS
7502011-05-27 Bernd Schmidt <bernds@codesourcery.com>
751
752 * sched-int.h (struct _haifa_deps_insn_data): New members cond
753 and reverse_cond.
754 (INSN_COND, INSN_REVERSE_COND): New macros.
755 * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
756 once.
757 (sched_get_condition_with_rev): Cache the results, and look them up
758 if possible.
759 (sched_analyze_insn): Destroy INSN_COND of previous insns if they
760 are clobbered by the current insn.
761 * target.def (exposed_pipline): New sched data hook.
762 * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
763 * doc/tm.texi: Regenerate.
764
fa65a9cf
BS
7652011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
766
767 PR tree-optimization/49170
768 * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
769 sincos or cexp.
b0bd15f7 770
c2299dfe
RG
7712011-05-27 Richard Guenther <rguenther@suse.de>
772
773 PR middle-end/49189
774 * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
775 of comparisons.
776
a95b23b4
BS
7772011-05-27 Bernd Schmidt <bernds@codesourcery.com>
778
779 * haifa-sched.c (sched_scan_info): Remove.
780 (schedule_block): Call sched_extend_luids rather than sched_init_luids
781 with NULL args.
782 (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
783 Remove functions.
784 (sched_scan): Remove.
785 (sched_extend_luids): Renamed from luids_extend_insn and no longer
786 static. All callers changed.
787 (sched_init_insn_luid): Renamed from luids_init_insn and no longer
788 static. All callers changed.
789 (sched_init_luids): Remove all arguments except the first. All
790 callers changed. Don't use sched_scan.
791 (haifa_init_h_i_d): Likewise.
792 (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
793 manually rather than using sched_init_luids. Likewise with
794 extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
795 * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
796 rather than sched_init_luids with NULL args.
797 * sel-sched-ir.c (new_insns): Remove variable.
798 (sched_scan): New static function, previously in haifa-sched.c. Remove
799 all arguments but the first two; all callers changed.
800 (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
801 rather than sched_init_luids.
802 (sel_init_bbs): Remove second argument. All callers changed.
803 (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
804 with NULL arguments.
805 (create_insn_rtx_from_pattern): Likewise.
806 * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
807 * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
808 (sched_init_insn_luid, sched_extend_luids): Declare.
809 (sched_scan_info_def, sched_scan_info, sched_scan): Remove
810 declarations.
811
f8f972fc
RB
8122011-05-27 Richard Guenther <rguenther@suse.de>
813
814 PR middle-end/49177
815 * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
816 A CMP B ? (T) true : (T) false for non-integral types T again.
817
51a9ed47
JH
8182011-05-27 Jan Hubicka <jh@suse.cz>
819
820 * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
821 so 0 means NULL string.
822 (lto_output_string_with_length): ... here.
f8f972fc
RB
823 (lto_output_string, output_string_cst, output_identifier): Update
824 handling of NULL strings.
51a9ed47
JH
825 (lto_output_location_bitpack): New function.
826 (lto_output_location): Use it.
827 (lto_output_tree_ref): Use output_record_start.
f8f972fc
RB
828 (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
829 len values.
830 * lto-streamer-in.c (string_for_index): Break out from ...; offset
831 values by 1.
491d8eed 832 (input_string_internal): ... here;
f8f972fc
RB
833 (input_string_cst, input_identifier, lto_input_string): Update handling
834 of NULL strings.
51a9ed47
JH
835 (lto_input_location_bitpack): New function
836 (lto_input_location): Use it.
f8f972fc
RB
837 (unpack_ts_type_common_value_fields): Pack align & alias in var len
838 values.
51a9ed47
JH
839 * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
840 bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
841 (bp_pack_value): Sanity check the value range.
842 * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
843 New functions.
844 * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
845 New functions.
846
66bd20e7 8472011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
dc38fc2e
HS
848
849 * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
850 call_arg_location instructions down the floor.
851
574e418a
VM
8522011-05-26 Vladimir Makarov <vmakarov@redhat.com>
853
854 PR rtl-optimization/49154
855 * ira.c (setup_pressure_classes): Process class without sublcasses
856 as a candidate for pressure classes.
857
6a1a787e
RS
8582011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
859
860 PR rtl-optimization/48575
861 * genrecog.c (position_type): New enum.
862 (position): New structure.
863 (decision): Use position structure instead of a string.
864 (root_pos, peep2_insn_pos_list): New variables.
865 (next_position, compare_positions): New functions.
866 (new_decision): Use position structures instead of strings.
867 (maybe_both_true): Likewise.
868 (change_state): Likewise.
869 (write_tree): Likewise.
870 (make_insn_sequence): Likewise.
871
92e948a8
NF
8722011-05-26 Nathan Froyd <froydnj@codesourcery.com>
873
874 * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
875 TS_BASE instead of TS_COMMON.
876 (find_decls_types_r): Check for TS_TYPED structure before looking at
877 TREE_TYPE.
878 * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
879 Add chain field.
880 (BLOCK_CHAIN): Use new chain field.
881
66bd20e7 8822011-05-26 Pat Haugen <pthaugen@us.ibm.com>
c61e40d3
PH
883
884 * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
885 moves expensive on Power7 also.
886
1f498652
RG
8872011-05-26 Richard Guenther <rguenther@suse.de>
888
889 * fold-const.c (fold_unary_loc): Remove bogus code.
890
a2fc3e63
NF
8912011-05-26 Nathan Froyd <froydnj@codesourcery.com>
892
893 * tree.h (struct tree_identifier): Inherit from tree_typed, not
894 tree_common.
895 (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
896 * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
897 TS_BASE instead of TS_COMMON.
898 * varasm.c (assemble_name): Remove assert.
899
d11bf18f
BS
9002011-05-26 Bernd Schmidt <bernds@codesourcery.com>
901
902 * Makefile.in (srcdirify): Change order so that libgcc_objdir is
903 substituted first.
904 * libgcc-std.ver: Delete file.
905
ac8e1875
RG
9062011-05-26 Richard Guenther <rguenther@suse.de>
907
908 PR tree-optimization/48702
909 * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
910 only when we know the base address is within bounds.
911 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
912 assume the base address of TARGET_MEM_REFs is in bounds.
913
7e32e652
RO
9142011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
915
916 PR target/49099
917 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
918 declaration in TARGET_SOLARIS.
919
66bd20e7 9202011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
43660e0b
HS
921
922 * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
491d8eed 923 The instruction is then expanded explicitly.
43660e0b
HS
924 (supported_compare): Callable instruction.
925 (compare): Likewise.
926
1537737f
JJ
9272011-05-26 Jakub Jelinek <jakub@redhat.com>
928
929 PR c++/49165
930 * gimplify.c (shortcut_cond_r): Don't special case
931 COND_EXPRs if they have void type on one of their arms.
932
7b1ac803
BS
9332011-05-26 Bernd Schmidt <bernds@codesourcery.com>
934
935 * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
936 to reduce duplication, and to achieve a slightly more logical order
937 of operations.
938
1aa9438f
JJ
9392011-05-26 Jakub Jelinek <jakub@redhat.com>
940
941 PR tree-optimization/49161
942 * tree-vrp.c (struct case_info): New type.
943 (compare_case_labels): Sort case_info structs instead of
944 trees, and not primarily by CASE_LABEL uids but by
945 label_for_block indexes.
946 (find_switch_asserts): Put case labels into struct case_info
947 array instead of TREE_VEC, adjust sorting, compare label_for_block
948 values instead of CASE_LABELs.
949
50fed7bf
RR
9502011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
951
952 * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
953 ("orndi3_neon"): Likewise.
954 ("bic<mode>3_neon"): Likewise.
955
48df3fa6
IR
9562011-05-26 Ira Rosen <ira.rosen@linaro.org>
957
958 PR tree-optimization/49038
959 * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
960 Ensure at least one epilogue iteration if required by data
961 accesses with gaps.
962 * tree-vectorizer.h (struct _loop_vec_info): Add new field
963 to mark loops that require peeling for gaps.
964 * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
965 (vect_get_known_peeling_cost): Take peeling for gaps into
966 account.
967 (vect_transform_loop): Generate epilogue if required by data
968 access with gaps.
969 * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
970 loop as requiring an epilogue if there are gaps in the end of
971 the strided group.
972
53febcba
ILT
9732011-05-25 Ian Lance Taylor <iant@google.com>
974
975 * godump.c (go_format_type): Output the first field with a usable
976 Go type, if any.
977
dbbc4d4c
ILT
9782011-05-25 Ian Lance Taylor <iant@google.com>
979
980 * godump.c (go_format_type): Check for invalid type names, pointer
981 target types, and struct field types.
982
f03a5402
JM
9832011-05-25 Jason Merrill <jason@redhat.com>
984
985 * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
986
c497c412
UB
9872011-05-25 Uros Bizjak <ubizjak@gmail.com>
988
989 * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
990
e470affe
L
9912011-05-25 H.J. Lu <hongjiu.lu@intel.com>
992
993 * config/i386/i386.md (*movqi_extv_1)): Put back
994 "register_operand" check in "type" calculation.
995 (*movqi_extzv_2): Likewise.
996
6c81b2bc
L
9972011-05-25 H.J. Lu <hongjiu.lu@intel.com>
998
c497c412 999 * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
6c81b2bc 1000
0c007eb2
BS
10012011-05-25 Bernd Schmidt <bernds@codesourcery.com>
1002
1003 PR bootstrap/49160
1004 * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
1005 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
1006 __divxc3, __divtc3): Wrap definitions in #ifndef.
1007
521ca78e
L
10082011-05-25 H.J. Lu <hongjiu.lu@intel.com>
1009
1010 PR target/49142
1011 * config/i386/i386.md (*movqi_extv_1_rex64): Remove
1012 "register_operand" check and replace q_regs_operand with
1013 QIreg_operand in "type" calculation.
1014 (*movqi_extv_1): Likewise.
1015 (*movqi_extzv_2_rex64): Likewise.
1016 (*movqi_extzv_2): Likewise.
1017
1018 * config/i386/predicates.md (QIreg_operand): New.
1019
29f8b844
RG
10202011-05-25 Richard Guenther <rguenther@suse.de>
1021
1022 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
1023 type-based offset disambiguation, streamline MEM_REF and
1024 TARGET_MEM_REF handling.
1025
74838de3
L
10262011-05-25 H.J. Lu <hongjiu.lu@intel.com>
1027
1028 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
1029 (bdesc_special_args): Add pause intrinsic.
1030
1031 * config/i386/i386.md (UNSPEC_PAUSE): New.
1032 (pause): Likewise.
1033 (*pause): Likewise.
1034 * config/i386/ia32intrin.h (__pause): Likewise.
1035
1036 * doc/extend.texi (X86 Built-in Functions): Add documentation for
1037 pause intrinsic.
1038
d24ad7d6
BS
10392011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1040
1041 PR tree-optimization/46728
1042 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
1043 (execute_cse_sincos): Add switch case for BUILT_IN_POW.
c497c412 1044
d9f8303f
NF
10452011-05-25 Nathan Froyd <froydnj@codesourcery.com>
1046
1047 * tree.h (struct tree_exp): Inherit from struct tree_typed.
1048 * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
1049 instead of TS_COMMON.
1050
cdbf4541
BS
10512011-05-25 Bernd Schmidt <bernds@codesourcery.com>
1052
1053 * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
1054 LIBGCC2_GNU_PREFIX is defined.
1055 (__N): New macro.
1056 (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
1057 __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
1058 __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
1059 __clz_tab): Define using __N.
1060 (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
1061 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
1062 * target.def (libfunc_gnu_prefix): New hook.
1063 * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
1064 (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
1065 * doc/tm.texi: Regenerate.
1066 * system.h (LIBGCC2_GNU_PREFIX): Poison.
1067 * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
1068 account.
1069 (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
1070 (init_optabs): Likewise for the bswap libfuncs.
1071 * tree.c (build_common_builtin_nodes): Likewise for complex multiply
1072 and divide.
1073 * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
1074 * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
1075 * libgcc-std.ver: Remove.
1076 * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
1077 * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
1078 libgcc-std.ver.
1079 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1080 * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
1081 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
1082 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
1083 * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
1084 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1085 * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
1086 * config/fixed-bit.h (FIXED_OP): Define differently depending on
1087 LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
1088 (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
1089
f242c0a5
JH
10902011-05-25 Jan Hubicka <jh@suse.cz>
1091
1092 * lto-streamer-out.c (output_record_start): Use lto_output_enum
1093 (lto_output_tree): Use output_record_start.
1094 * lto-streamer-in.c (input_record_start): Use lto_input_enum
1095 (lto_get_pickled_tree): Use input_record_start.
1096 * lto-section-in.c (lto_section_overrun): Turn into fatal error.
1097 (lto_value_range_error): New function.
1098 * lto-streamer.h (lto_value_range_error): Declare.
1099 (lto_output_int_in_range, lto_input_int_in_range): New functions.
1100 (lto_output_enum, lto_input_enum): New macros.
1101
a11e0df4
EB
11022011-05-25 Eric Botcazou <ebotcazou@adacore.com>
1103
1104 * common.opt (flag_stack_usage_info): New variable.
1105 (-Wstack-usage): New option.
1106 * doc/invoke.texi (Warning options): Document -Wstack-usage.
1107 * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
1108 <OPT_fstack_usage>: Likewise.
1109 * toplev.c (output_stack_usage): Handle -Wstack-usage.
1110 * calls.c (expand_call): Test flag_stack_usage_info variable instead
1111 of flag_stack_usage.
1112 (emit_library_call_value_1): Likewise.
1113 * explow.c (allocate_dynamic_stack_space): Likewise.
1114 * function.c (instantiate_virtual_regs ): Likewise.
1115 (prepare_function_start): Likewise.
1116 (rest_of_handle_thread_prologue_and_epilogue): Likewise.
1117 * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
1118 * config/arm/arm.c (arm_expand_prologue): Likewise.
1119 (thumb1_expand_prologue): Likewise.
1120 * config/avr/avr.c (expand_prologue): Likewise.
1121 * config/i386/i386.c (ix86_expand_prologue): Likewise.
1122 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
1123 * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
1124 * config/mips/mips.c (mips_expand_prologue): Likewise.
1125 * config/pa/pa.c (hppa_expand_prologue): Likewise.
1126 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
1127 * config/s390/s390.c (s390_emit_prologue): Likewise.
1128 * config/sh/sh.c (sh_expand_prologue): Likewise.
1129 * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
1130 * config/spu/spu.c (spu_expand_prologue): Likewise.
1131
e7cfe241
RG
11322011-05-25 Richard Guenther <rguenther@suse.de>
1133
1134 * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
1135 (gimple_canonical_types_compatible_p): Likewise.
1136
c5235f4c
JH
11372011-05-25 Jan Hubicka <jh@suse.cz>
1138
1139 PR middle-end/49062
1140 * ipa.c (function_and_variable_visibility): Only add to same
1141 comdat group list if DECL_ONE_ONLY.
1142
8242a0f6
AB
11432011-05-25 Andrey Belevantsev <abel@ispras.ru>
1144
1145 PR rtl-optimization/49014
1146 * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
1147
642a011d
JJ
11482011-05-25 Jakub Jelinek <jakub@redhat.com>
1149
1150 PR target/49128
1151 * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
1152
30a435d8
VM
11532011-05-24 Vladimir Makarov <vmakarov@redhat.com>
1154
1155 PR rtl-optimization/48757
1156 * ira-build.c (loop_with_eh_edge_p): Rename to
1157 loop_with_complex_edge_p, check edges on complexity, make function
1158 conditional.
1159 (mark_loops_for_removal): Make call of loop_with_complex_edge_p
1160 conditional.
1161
24d1bbc7
EB
11622011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1163
1164 * config/sparc/sparc.c (sparc_option_override): If not set by the user,
1165 force flag_ira_share_save_slots to 0.
1166
65773087
EB
11672011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1168
1169 * var-tracking.c (compute_cfa_pointer): Adjust head comment.
1170 (vt_initialize): Set PROLOGUE_BB unconditionally.
1171 Add block comment about CFA_BASE_RTX machinery.
1172 Reset FP_CFA_OFFSET to -1 on all invalid paths.
1173 Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
1174
4e26ba90
NP
11752011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
1176
1177 PR objc/48187
1178 * c-parser.c (c_parser_objc_class_instance_variables): More robust
1179 parsing of syntax error in ObjC instance variable lists. In
1180 particular, avoid an infinite loop if there is a stray ']'.
1181 Updated error message.
1182
936fd13c
ILT
11832011-05-24 Ian Lance Taylor <iant@google.com>
1184
1185 * godump.c (go_define): Don't accept a string immediately after
1186 another operand.
1187
f17333e3
ILT
11882011-05-24 Ian Lance Taylor <iant@google.com>
1189
1190 * godump.c (struct godump_container): Add invalid_hash field.
1191 (go_format_type): Return false if type is found in invalid_hash.
1192 (go_output_typedef): Add invalid type to invalid_hash.
1193 (go_finish): Create and delete invalid_hash.
1194
d24ad7d6 11952011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
c497c412 1196
78be79d5
BS
1197 PR tree-optimization/46728
1198 * tree-ssa-math-opts.c (powi_table): New.
1199 (powi_lookup_cost): New.
1200 (powi_cost): New.
1201 (powi_as_mults_1): New.
1202 (powi_as_mults): New.
1203 (gimple_expand_builtin_powi): New.
1204 (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
1205 (gate_cse_sincos): Remove sincos/cexp restriction.
f17333e3 1206
caee412b
RO
12072011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1208
1209 PR target/3746
1210 * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
1211 mips-tdump native.
1212 * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
1213 * mips-tdump.c: Likewise.
1214
5eed4f27
L
12152011-05-24 H.J. Lu <hongjiu.lu@intel.com>
1216
1217 PR target/49128
1218 * config/i386/driver-i386.c (host_detect_local_cpu): Always
1219 add -mno-XXX. Handle FMA.
1220
8c5fdaae
VM
12212011-05-24 Vladimir Makarov <vmakarov@redhat.com>
1222
1223 PR rtl-optimization/48633
1224 * ira-build.c (loop_with_eh_edge_p): New function.
1225 (mark_loops_for_removal): Use it.
1226
12272011-05-24 Vladimir Makarov <vmakarov@redhat.com>
113a5be6
VM
1228
1229 PR rtl-optimization/48971
1230 * ira.c (setup_pressure_classes): Don't check register move cost
1231 for classes with one registers. Don't add pressure class if there
1232 is a pressure class with the same available hard registers.
1233 Check contains_reg_of_mode. Fix a typo in collecting
1234 temp_hard_regset. Ignore hard registers not belonging to a class.
1235
df1f7315
UB
12362011-05-24 Uros Bizjak <ubizjak@gmail.com>
1237
1238 PR target/49133
1239 * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
1240
ee0cb37c
EB
12412011-05-24 Eric Botcazou <ebotcazou@adacore.com>
1242 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1243
1244 PR gcov-profile/48845
1245 * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
1246
6a20ce76
RG
12472011-05-24 Richard Guenther <rguenther@suse.de>
1248
1249 * gimple.c (compare_type_names_p): Remove for_completion_p arg.
1250 (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
1251 (gimple_types_compatible_p_1): Adjust.
1252 (iterative_hash_canonical_type): Do not bother about complete vs.
1253 incomplete types.
1254 (gimple_canonical_types_compatible_p): Likewise.
1255
2fcb858c
RO
12562011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1257
1258 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
1259
96d91dcf
RG
12602011-05-24 Richard Guenther <rguenther@suse.de>
1261
1262 PR bootstrap/49078
1263 * gimple.c (gimple_register_canonical_type): Revert
1264 previous change.
1265 * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
1266 does not for a tree for the case where it matters. Cache
1267 pointer-type alias-sets.
1268
1ed1641d
JM
12692011-05-24 Joseph Myers <joseph@codesourcery.com>
1270
1271 * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
1272 (OBJS): Remove options.o, opts-common.o and prefix.o.
1273 (OBJS-libcommon-target): New.
1274 (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
1275 (BACKEND): Include libcommon-target.a.
1276 (MOSTLYCLEANFILES): Include libcommon-target.a.
1277 (libcommon-target.a): New.
1278 (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
1279 prefix.o.
1280
57dfdff0
JM
12812011-05-23 Joseph Myers <joseph@codesourcery.com>
1282
1283 * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
1284 parts of output shared with the driver.
1285 * optc-gen.awk: Don't generate parts of output not shared with the
1286 driver.
1287 * opth-gen.awk: Remove GCC_DRIVER conditionals.
1288 * doc/options.texi (SourcerInclude): Mention options-save.c.
1289 * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
1290 (OBJS): Add options-save.o.
1291 (options-save.c, options-save.o): New.
1292 (options.o): Update dependencies.
1293 (gcc-options.o): Remove.
1294 (mostlyclean): Remove options-save.c.
1295
0e0d82a7
JJ
12962011-05-23 Jakub Jelinek <jakub@redhat.com>
1297
9166988f
JJ
1298 PR debug/49032
1299 * dbxout.c: Include cgraph.h.
1300 (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
1301 and without value expr, return NULL if no varpool node exists for
1302 it or if it is not needed.
1303 * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
1304
0e0d82a7
JJ
1305 PR c/49120
1306 * c-decl.c (start_decl): Convert expr to void_type_node.
1307
65712d5c
RS
13082011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
1309
1310 PR rtl-optimization/48826
1311 * emit-rtl.c (try_split): When splitting a call that is followed
1312 by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
1313
9025085e
JJ
13142011-05-23 Jakub Jelinek <jakub@redhat.com>
1315
1316 * cfgexpand.c (expand_debug_expr): For unused non-addressable
1317 parameters passed in memory prefer using DECL_INCOMING_RTL over
1318 the pseudos it will be copied into.
1319
34a061be
L
13202011-05-23 H.J. Lu <hongjiu.lu@intel.com>
1321
1322 PR target/47315
1323 * config/i386/i386.c (ix86_option_override_internal): Save the
1324 initial options after checking vzeroupper.
1325
c375a3a4
DL
13262011-05-23 David Li <davidxl@google.com>
1327
1328 PR tree-optimization/48988
1329 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
1330 Initialize has_valid_pred for each pred chain.
1331
e1caba18
RG
13322011-05-23 Richard Guenther <rguenther@suse.de>
1333
1334 * gimple.c (gimple_types_compatible_p_1): Always compare type names.
1335 (iterative_hash_gimple_type): Always hash type names.
1336
dde05067
NF
13372011-05-23 Nathan Froyd <froydnj@codesourcery.com>
1338
1339 * c-typeck.c (build_function_call_vec): Tweak call to
1340 check_function_arguments.
1341
094f6ab3
RG
13422011-05-23 Richard Guenther <rguenther@suse.de>
1343
1344 PR tree-optimization/49115
1345 * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
1346 is not necessarily carried out, do not claim it kills the ref.
1347 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1348
9a9822e1
RG
13492011-05-23 Richard Guenther <rguenther@suse.de>
1350
1351 PR middle-end/15419
1352 * builtins.c (fold_builtin_memory_op): Be less restrictive about
1353 what pointer types we accept for folding.
1354
c8028650
RO
13552011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1356
1357 * gthr-gnat.c: Remove.
1358 * gthr-gnat.h: Remove.
1359 * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
1360 * config/t-freebsd (LIB2ADDEH): Likewise.
1361 * config/t-linux (LIB2ADDEH): Likewise.
1362 * config/t-sol2 (LIB2ADDEH): Likewise.
1363 * config/ia64/t-vms (LIB2ADDEH): Likewise.
1364 * configure.ac (target_thread_file): Remove gnat handling.
1365 * configure: Regenerate.
1366 * doc/install.texi (Configuration, --enable-threads): Remove gnat.
1367
15882fe9
TG
13682011-05-23 Tristan Gingold <gingold@adacore.com>
1369 Eric Botcazou <ebotcazou@adacore.com>
1370
1371 * gcov.c (create_file_names): If no object directory is specified,
1372 keep the directory of the file.
1373
da90c957
RO
13742011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1375
1376 * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
1377 * configure: Regenerate.
1378
7bba408b
JJ
13792011-05-23 Jakub Jelinek <jakub@redhat.com>
1380
1381 PR middle-end/48973
1382 * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
1383 failed and the comparison has a single bit signed type, use
1384 constm1_rtx instead of const1_rtx for true value.
1385 (do_store_flag): If ops->type is single bit signed type, disable
1386 signel bit test optimization and pass -1 instead of 1 as last
1387 parameter to emit_store_flag_force.
1388
bc69f7ff
TV
13892011-05-23 Tom de Vries <tom@codesourcery.com>
1390
1391 PR target/45098
1392 * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
1393 function.
1394 (infer_loop_bounds_from_undefined): Use new function.
1395
29cedf8e
RS
13962011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
1397
1398 * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
1399 (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
1400 -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
1401 and -O0 otherwise.
1402 (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
1403
afe8b6ec
EB
14042011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1405
1406 * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
1407 (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
1408 returns true.
1409
872dab53
RS
14102011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
1411
1412 * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
1413
145f6c5b
EB
14142011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1415
1416 * config/sparc/sparc.c (sparc_delegitimize_address): Handle
1417 UNSPEC_MOVE_PIC pattern.
1418
8ac79835
EB
14192011-05-22 Eric Botcazou <ebotcazou@adacore.com>
1420
1421 * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
1422 (sparc-*-rtems*): Likewise.
1423 (sparc64-*-elf*): Likewise.
1424 (sparc64-*-rtems*): Likewise.
1425 (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
1426 * config/sparc/t-crtin: New file.
1427 * config/sparc/t-sol2 (crti.o): Delete rule.
1428 (crtn.o): Likewise.
1429 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
1430 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
1431 * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
1432 (ENDFILE_SPEC): Add crtn.o.
1433
5fb43dd8
TV
14342011-05-22 Tom de Vries <tom@codesourcery.com>
1435
1436 PR middle-end/48689
1437 * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
1438 CODE_CONTAINS_STRUCT (TS_COMMON).
1439
ccb1b17b
JJ
14402011-05-22 Jakub Jelinek <jakub@redhat.com>
1441
1442 PR middle-end/49029
1443 * expmed.c (extract_fixed_bit_field): Test whether target can be used
1444 only after deciding which mode to use.
1445
50ad7db2
TV
14462011-05-22 Tom de Vries <tom@codesourcery.com>
1447
1448 PR target/45098
dc0a3366 1449 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
50ad7db2
TV
1450 for call to get_shiftadd_cost.
1451
ef230b38
UB
14522011-05-22 Uros Bizjak <ubizjak@gmail.com>
1453
1454 PR target/49104
1455 * config/i386/cpuid.h (bit_MMXEXT): New define.
1456
15f072f9
NC
14572011-05-22 Nick Clifton <nickc@redhat.com>
1458
1459 * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
1460 initialisation of non-existant args[2] element. Use args[] array
1461 not arg[] array to pass arguments to build_function_type_list.
1462
e38fdc94
IR
14632011-05-22 Ira Rosen <ira.rosen@linaro.org>
1464
1465 PR tree-optimization/49087
ef230b38 1466 * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
e38fdc94 1467
5b018c65
JM
14682011-05-21 Jason Merrill <jason@redhat.com>
1469
1470 PR c++/49092
1471 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
1472 static storage duration.
1473
abd9a770
EB
14742011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1475
1476 * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
1477 frame pointer.
1478
bd9a3248
EB
14792011-05-21 Eric Botcazou <ebotcazou@adacore.com>
1480
1481 * config/sparc/sparc.c (eligible_for_return_delay): Do not return
1482 false if there are call-saved registers here...
1483 (sparc_can_use_return_insn_p): ...but here instead.
1484 (save_or_restore_regs): Fix thinko.
1485 (sparc_expand_prologue): Use current_function_is_leaf.
1486 (sparc_frame_pointer_required): Likewise.
1487
a5dfec9a
NC
14882011-05-21 Nick Clifton <nickc@redhat.com>
1489
1490 PR target/49098
1491 * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
1492
555c3771
NP
14932011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
1494
1495 * gengtype.c (walk_type): Implemented "atomic" GTY option.
1496 * doc/gty.texi (GTY Options): Document "atomic" GTY option.
1497
86fa5de4
JM
14982011-05-21 Joseph Myers <joseph@codesourcery.com>
1499
1500 * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
1501 * optc-gen.awk: Move common code to opt-read.awk.
1502 * opth-gen.awk: Likewise.
ef230b38 1503 * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
86fa5de4 1504
bce33ab2
NF
15052011-05-20 Nathan Froyd <froydnj@codesourcery.com>
1506
1507 * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
1508
e6450c11
TV
15092011-05-20 Tom de Vries <tom@codesourcery.com>
1510
1511 PR target/45098
1512 * tree-ssa-loop-ivopts.c: Include expmed.h.
1513 (get_shiftadd_cost): New function.
1514 (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
1515
0e8b84ec
JJ
15162011-05-20 Jakub Jelinek <jakub@redhat.com>
1517
1518 PR bootstrap/49086
1519 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
1520 for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
1521
946bdf67
JM
15222011-05-20 Joseph Myers <joseph@codesourcery.com>
1523
1524 * Makefile.in: Update comment referring to $(OBJS-common).
1525
c53aafdf
ILT
15262011-05-20 Ian Lance Taylor <iant@google.com>
1527
1528 * godump.c (go_output_typedef): Put enum constants in the macro
1529 hash table to avoid duplicate Go const definitions.
1530
2691e6d7
JM
15312011-05-20 Joseph Myers <joseph@codesourcery.com>
1532
1533 * Makefile.in (LIBDEPS): Add libcommon.a.
1534 (LIBS): Likewise.
1535 (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
1536 (OBJS-common): Remove diagnostic.o, input.o, intl.o,
1537 pretty-print.o and version.o.
1538 (OBJS-libcommon): New.
1539 (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
1540 (BACKEND): Add libcommon.a.
1541 (MOSTLYCLEANFILES): Likewise.
1542 (libcommon.a): New.
1543 (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
1544 (cpp$(exeext)): Likewise.
1545 (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
1546 pretty-print.o and input.o.
1547 (lto-wrapper$(exeext)): Don't explicitly use intl.o.
1548 (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
1549 (errors.o): Remove.
1550 (mips-tfile): Don't explicitly use version.o.
1551 (mips-tdump): Likewise.
1552 (gcov.o): Depend on $(DIAGNOSTIC_H).
1553 (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
1554 (GCOV_OBJS): Remove intl.o, version.o and errors.o.
1555 (GCOV_DUMP_OBJS): Remove version.o and errors.o.
1556 * gcov-dump.c: Include intl.h and diagnostic.h.
1557 (main): Initialize diagnostics.
1558 * gcov.c: Include diagnostic.h.
1559 (fnotice): Remove.
1560 (main): Initialize diagnostics.
1561 * lto-wrapper.c: Include diagnostic.h.
1562 (main): Initialize diagnostics.
1563
252b3e8c
MM
15642011-05-20 Michael Matz <matz@suse.de>
1565
1566 * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
1567
2ee36ba6
MM
15682011-05-20 Michael Matz <matz@suse.de>
1569 Richard Guenther <rguenther@suse.de>
1570
1571 * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
1572 use lto_streamer_cache_append directly instead of returning a VEC.
1573 (preload_common_node): Remove.
1574 (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
1575 track seen nodes.
1576 (lto_streamer_cache_create): Call lto_preload_common_nodes.
1577
90ff582f
RG
15782011-05-20 Richard Guenther <rguenther@suse.de>
1579
1580 PR tree-optimization/49079
1581 * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
1582 MEM_REFs correctly for the trailing array access detection.
1583 Special case constants the same way as decls for overall size
1584 constraining.
1585
3cda91d8
UB
15862011-05-20 Uros Bizjak <ubizjak@gmail.com>
1587
1588 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
1589 argument expansion.
1590
6c66f733
JJ
15912011-05-20 Jakub Jelinek <jakub@redhat.com>
1592
1593 PR tree-optimization/49073
3cda91d8
UB
1594 * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
1595 PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
6c66f733
JJ
1596 * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
1597
0ea80a16
RG
15982011-05-20 Richard Guenther <rguenther@suse.de>
1599
1600 PR middle-end/48849
1601 * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
1602 of pointer types the same way the middle-end does.
1603
fb291a1e
RG
16042011-05-20 Richard Guenther <rguenther@suse.de>
1605
3cda91d8
UB
1606 * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
1607 or pointer-to chains. Delay all fixup to uniquify_nodes.
fb291a1e 1608
37cb25ed
QN
16092011-05-19 Quentin Neill <quentin.neill@amd.com>
1610
1611 * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
1612 (fma4_fmaddsub): Likewise
1613
a30726a4
JH
16142011-05-19 Jan Hubicka <jh@suse.cz>
1615
1616 * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
1617 (GIMPLE_TYPE_PAIR_SIZE): New macro.
1618 (type_pair_cache): New static var.
1619 (lookup_type_pair): Use fixed sized custom hash; make inline.
1620 (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
1621 calls of lookup_type_pair.
1622 (print_gimple_types_stats): Remove cache stats.
1623 (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
1624 and gtc_ob.
1625
0955cf61
UB
16262011-05-19 Uros Bizjak <ubizjak@gmail.com>
1627
1628 * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
1629 when TARGET_RDRND is active.
1630 (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
1631 Generate dummy SImode target register when target is NULL.
1632
12d844c8
JM
16332011-05-19 Joseph Myers <joseph@codesourcery.com>
1634
1635 * config/arm/arm-fpus.def: New.
1636 * config/arm/genopt.sh: Generate Enum and EnumValue entries from
1637 arm-fpus.def.
1638 * config/arm/arm-tables.opt: Regenerate.
1639 * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
1640 (arm_option_override): Don't decode FPU name to string here.
1641 * config/arm/arm.opt (mfpu=): Use Enum.
1642 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
1643 Update dependencies.
1644
9e350e99
JM
16452011-05-19 Joseph Myers <joseph@codesourcery.com>
1646
1647 * collect2.c: Include diagnostic.h.
1648 (fatal_perror, fatal, error, fancy_abort): Remove.
1649 (main): Set progname. Call xmalloc_set_program_name and
1650 diagnostic_initialize.
1651 (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
1652 scan_libraries, resolve_lib_name): Call fatal_error instead of
1653 fatal and fatal_perror.
1654 * collect2.h (error, fatal, fatal_perror): Don't declare.
1655 * tlink.c: Include diagnostic-core.h.
1656 (recompile_files): Call fatal_error instead of fatal_perror.
1657 * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
1658 pretty-print.o and input.o.
1659 (collect2.o, tlink.o): Update dependencies.
1660
86ff4081
RO
16612011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1662
1663 * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
1664
2ca48caa
RO
16652011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1666
1667 PR target/40483
1668 * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
1669 COMDAT group syntax, both SPARC and x86 variants.
1670 (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
1671 * configure: Regenerate.
1672 * config/sol2.h (TARGET_SOLARIS): Define.
1673 (PUSHSECTION_FORMAT): Remove.
1674 (SECTION_NAME_FORMAT): Define.
1675 * config/sol2.c: Include hashtab.h.
1676 (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
1677 expansion, using SECTION_NAME_FORMAT.
1678 (solaris_comdat_htab): New variable.
1679 (struct comdat_entry): Define.
1680 (comdat_hash): New function.
1681 (comdat_eq): New function.
1682 (solaris_elf_asm_comdat_section): New function.
1683 (solaris_define_comdat_signature): New function.
1684 (solaris_code_end): New function.
1685 * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
1686 (solaris_code_end): Declare.
1687 * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
1688 * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
1689 solaris_code_end.
1690 (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
1691 Remove ATTRIBUTE_UNUSED.
1692 [!USE_GAS]: Call solaris_elf_asm_comdat_section for
1693 SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
0955cf61 1694 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
2ca48caa
RO
1695 * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
1696 * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
1697 * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
1698 (PUSHSECTION_FORMAT): Remove.
1699 (SECTION_NAME_FORMAT): Redefine.
1700
da5fb469
KT
17012011-05-19 Kai Tietz <ktietz@redhat.com>
1702
1703 * tree-cfg.c (verify_gimple_assign_binary): Barf on
1704 TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
1705 (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
1706
1651e703 17072011-05-19 Anatoly Sokolov <aesok@post.ru>
0967b228
AS
1708 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1709
1710 * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
1711
e497b9bd
RG
17122011-05-19 Richard Guenther <rguenther@suse.de>
1713
1714 PR middle-end/48985
1715 * tree-object-size.c (addr_object_size): If the pointed-to
1716 variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
1717
31b3ca64
RG
17182011-05-19 Richard Guenther <rguenther@suse.de>
1719
1720 * gimple.c (gimple_types_compatible_p_1): Compare names of
1721 the types themselves.
1722 (iterative_hash_gimple_type): And hash them that way.
1723 (gimple_register_type_1): If we register a main variant properly
1724 initialize the leader to ourselves.
1725
bb8d292d
TV
17262011-05-19 Tom de Vries <tom@codesourcery.com>
1727
1728 PR target/45098
1729 * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
1730 get_loop_invariant_expr_id.
1731 (get_loop_invariant_expr_id): Use get_expr_id.
1732 (parm_decl_cost): New function.
1733 (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
1734 Improve bound cost estimation. Use different inv_expr_id for elim and
1735 express cases.
1736
a53c5024
TV
17372011-05-19 Tom de Vries <tom@codesourcery.com>
1738
1739 PR target/45098
1740 * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
1741 cost_base.cost == 0.
1742
31f9eb59
L
17432011-05-18 H.J. Lu <hongjiu.lu@intel.com>
1744
1745 PR target/49002
66bd20e7
EB
1746 * config/i386/sse.md
1747 (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>): Properly handle
1748 load cast.
31f9eb59 1749
681056ae
JJ
17502011-05-18 Jakub Jelinek <jakub@redhat.com>
1751
1752 PR tree-optimization/49039
1753 * tree-vrp.c (extract_range_from_binary_expr): For
1754 MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
1755 return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
1756
b5ee6752
TV
17572011-05-18 Tom de Vries <tom@codesourcery.com>
1758
1759 PR target/45098
1760 * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
1761
0bda47a3
UB
17622011-05-18 Uros Bizjak <ubizjak@gmail.com>
1763
1764 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
1765 (*tls_global_dynamic_64): Ditto.
1766 (*tls_local_dynamic_base_32_gnu): Ditto.
1767 (*tls_local_dynamic_base_64): Ditto.
1768 (tls_initial_exec_64_sun): Ditto.
1769
033b0805
SH
17702011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
1771
1772 * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
1773 * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
1774 bf592-none.
1775 * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
1776 * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
1777 * config/bfin/bfin.c (bfin_cpus): Add bf592.
1778 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
0bda47a3 1779 __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
033b0805
SH
1780 * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
1781 * config/bfin/elf.h (LIB_SPEC): Add bf592.
1782
ba163417
JM
17832011-05-18 Joseph Myers <joseph@codesourcery.com>
1784
1785 * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
0bda47a3 1786 arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
ba163417
JM
1787 * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
1788 target_thread_pointer, arm_structure_size_boundary, struct
1789 float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
1790 struct abi_name, arm_all_abis): Remove.
0bda47a3
UB
1791 (arm_option_override) Don't process most enumerated option values here.
1792 Don't process target_fpe_name here. Work with integer not string for
1793 structure size boundary; use separate diagnostics for each case.
ba163417
JM
1794 * config/arm/arm.h (enum float_abi_type, enum
1795 arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
1796 to arm-opts.h.
1797 (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
1798 arm_structure_size_boundary): Remove.
1799 * config/arm/arm.opt (mabi=): Use Enum and Init.
1800 (arm_abi_type): New Enum and EnumValue entries.
1801 (mfloat-abi=): Use Enum and Init.
1802 (float_abi_type): New Enum and EnumValue entries.
0bda47a3 1803 (mfp=, mfpe=): Replace by separate Alias entries for each argument.
ba163417
JM
1804 (mfp16-format=): Use Enum and Init.
1805 (arm_fp16_format_type): New Enum and EnumValue entries.
1806 (mstructure-size-boundary=): Use UInteger and Init.
1807 (mtp=): Use Enum and Init.
1808 (arm_tp_type): New Enum and EnumValue entries.
1809
179184e3
RG
18102011-05-18 Richard Guenther <rguenther@suse.de>
1811
1812 PR tree-optimization/49018
1813 * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
1814 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
1815 gimple_has_side_effects.
1816
93b2a207
RG
18172011-05-18 Richard Guenther <rguenther@suse.de>
1818
1819 * gimple.c (gimple_register_type_1): New function, split out from ...
1820 (gimple_register_type): ... here. Avoid infinite recursion.
1821
b010117a
IR
18222011-05-18 Ira Rosen <ira.rosen@linaro.org>
1823
1824 PR tree-optimization/41881
1825 * tree-vectorizer.h (struct _loop_vec_info): Add new field
1826 reduction_chains along with a macro for its access.
1827 * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
1828 (destroy_loop_vec_info): Free reduction chains.
1829 (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
1830 (vect_is_slp_reduction): New function.
1831 (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
1832 (vect_create_epilog_for_reduction): Support SLP reduction chains.
1833 * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
1834 definition types for reduction chains.
1835 (vect_supported_load_permutation_p): Don't allow permutations for
1836 reduction chains.
1837 (vect_analyze_slp_instance): Support reduction chains.
1838 (vect_analyze_slp): Try to build SLP instance from reduction chains.
1839 (vect_get_constant_vectors): Handle reduction chains.
1840 (vect_schedule_slp_instance): Mark the first statement of the
1841 reduction chain as reduction.
1842
e14c1050
IR
18432011-05-18 Ira Rosen <ira.rosen@linaro.org>
1844
1845 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
1846 names for group elements access.
1847 * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
1848 reduction chains as well. Remove data reference and interleaving
1849 related words from the fields names.
1850 * tree-vect-loop.c (vect_transform_loop): Use new names for group
1851 elements access.
1852 * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
1853 vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
1854 vect_update_interleaving_chain, vect_same_range_drs,
1855 vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
1856 vect_verify_datarefs_alignment, vector_alignment_reachable_p,
1857 vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
1858 vect_analyze_group_access, vect_analyze_data_ref_access,
1859 vect_create_data_ref_ptr, vect_transform_strided_load,
1860 vect_record_strided_load_vectors): Likewise.
1861 * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
1862 vect_model_load_cost, vectorizable_store, vectorizable_load,
1863 vect_remove_stores, new_stmt_vec_info): Likewise.
1864 * tree-vect-slp.c (vect_build_slp_tree,
1865 vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
1866
51c213f7
RG
18672011-05-18 Richard Guenther <rguenther@suse.de>
1868
1869 PR middle-end/48989
1870 * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
1871 operand verification.
1872 (verify_gimple_assign_binary): Likewise.
1873 * tree-ssa.c (useless_type_conversion_p): Preserve conversions
1874 to non-1-precision BOOLEAN_TYPEs.
1875
8f5e5434
TV
18762011-05-18 Tom de Vries <tom@codesourcery.com>
1877
1878 PR target/45098
1879 * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
1880
116bc3a4
JJ
18812011-05-18 Jakub Jelinek <jakub@redhat.com>
1882
1883 PR tree-optimization/49000
1884 * tree-ssa.c (execute_update_addresses_taken): Call
1885 maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
1886 be rewritten and decl has been marked for renaming, reset
1887 the debug stmt.
1888
26a8964c
JM
18892011-05-17 Joseph Myers <joseph@codesourcery.com>
1890
1891 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
1892 enum_opts_set when testing if attributes have set -mfpmath=.
1893
82bd45d7
RS
18942011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
1895
1896 * config/mips/mips.c (mips_handle_option): Remove unused variable.
1897
267ffce3
UB
18982011-05-17 Uros Bizjak <ubizjak@gmail.com>
1899
1900 * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
1901 info->entry with 0
1902 * tree-inline.c (maybe_inline_call_in_expr): Initialize
1903 id.transform_lang_insert_block with NULL.
1904
19052011-05-17 Uros Bizjak <ubizjak@gmail.com>
d9403b0d
UB
1906
1907 * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
1908 (output_fp_compare): Change args 3 and 4 to bool.
1909 (ix86_expand_call): Change arg 6 to bool.
1910 (ix86_attr_length_immediate_default): Change arg 2 to bool.
1911 (ix86_attr_length_vex_default): Change arg 3 to bool.
1912 * config/i386/i386.md: Update all uses.
1913 * config/i386/i386.c: Ditto.
1914 (ix86_flags_dependent): Change return type to bool.
1915
5beaf664
RG
19162011-05-17 Richard Guenther <rguenther@suse.de>
1917
1918 * gimple.c (type_hash_pair_compare): Fix comparison.
1919
008bad7a
RG
19202011-05-17 Richard Guenther <rguenther@suse.de>
1921
1922 * gimple.c (iterative_hash_gimple_type): Simplify singleton
1923 case some more, fix final hash value of the non-singleton case.
1924
36461340
RG
19252011-05-17 Richard Guenther <rguenther@suse.de>
1926
1927 PR bootstrap/49013
1928 Revert
1929 2011-05-16 Richard Guenther <rguenther@suse.de>
1930
1931 * gimple.c (gimple_types_compatible_p_1): Use names of the
1932 type itself, not its main variant.
1933 (iterative_hash_gimple_type): Likewise.
1934
6b6a59f3
RG
19352011-05-17 Richard Guenther <rguenther@suse.de>
1936
1937 * gimple.c (gimple_register_canonical_type): Use the main-variant
1938 leader for computing the canonical type.
1939
4ffc4134
NC
19402011-05-17 Nick Clifton <nickc@redhat.com>
1941
a1d8754e
NC
1942 * config/rx/rx.c (rx_memory_move_cost): Include cost of register
1943 moves.
1944
4ffc4134
NC
1945 * config/rx/rx.md: Add peephole to remove redundant extensions
1946 after loads.
39960f7a
NC
1947 (bitset_in_memory): Use rx_restricted_mem_operand.
1948 (bitinvert_in_memory): Likewise.
1949 (bitclr_in_memory): Likewise.
4ffc4134 1950
b3db92ac
KI
19512011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
1952 Nick Clifton <nickc@redhat.com>
1953
1954 * config/rx/rx.md: Add peepholes to match a register move followed
1955 by a comparison of the moved register. Replace these with an
1956 addition of zero that does both actions in one instruction.
1957
8637e32a
JJ
19582011-05-17 Jakub Jelinek <jakub@redhat.com>
1959
1960 PR target/48986
1961 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
1962 predicate to allow CONST_INT.
1963 (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
1964
8023568e
JM
19652011-05-16 Joseph Myers <joseph@codesourcery.com>
1966
1967 * opts-common.c (opt_enum_arg_to_value): New.
1968 * opts.h (opt_enum_arg_to_value): Declare.
1969 * config/i386/i386.opt (fpmath): Remove.
1970 (mfpmath=): Use Enum, Init and Save.
1971 (fpmath_unit): New Enum and EnumValue entries.
1972 * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
1973 name for function fpmath state.
1974 * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
1975 * config/i386/i386.c: Include diagnostic.h.
1976 (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
d9403b0d 1977 (ix86_target_string): Take enum fpmath_unit value instead of string.
8023568e 1978 (ix86_debug_options): Update call to ix86_target_string.
d9403b0d 1979 (ix86_option_override_internal): Don't process fpmath strings here.
8023568e
JM
1980 (x86_function_specific_save, ix86_function_specific_restore):
1981 Don't handle fpmath state specially.
1982 (ix86_function_specific_print): Pass fpmath state to
1983 ix86_target_string instead of printing in this function.
1984 (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
1985 Handle enum attributes.
1986 (IX86_ATTR_ENUM, ix86_opt_enum): New.
1987 (ix86_valid_target_attribute_tree): Update option_strings
1988 handling. Handle fpmath as enum option.
1989 (ix86_can_inline_p): Update field names for function fpmath state.
1990 (ix86_expand_builtin): Update call to ix86_target_string.
1991 * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
1992 (ix86_fpmath): Remove.
1993 * config/i386/t-i386 (i386.o): Update dependencies.
1994
9e8d926e
JM
19952011-05-16 Joseph Myers <joseph@codesourcery.com>
1996
1997 PR preprocessor/48677
1998 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
1999 from decoded_options[0], not from itself.
2000
f6449011
UB
20012011-05-16 Uros Bizjak <ubizjak@gmail.com>
2002
2003 * config/i386/constraints.md (z): New constraint.
2004 * config/i386/i386.c (c): New mode attribute.
2005 (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
2006 *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
2007 constraint for operand 0.
2008 (*call_vzeroupper): Ditto.
2009 (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
2010 (*call_rex64_ms_sysv_vzeroupper): Ditto.
2011 (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
2012 Use "lzm" constraint for operand 0.
2013 (*call_pop_vzeroupper): Ditto.
2014 (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
2015 *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
2016 constraint for operand 0.
2017 (*sibcall_vzeroupper): Ditto.
2018 (*sibcall_rex64_ms_sysv): Ditto.
2019 (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
2020 (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
2021 *sibcall_pop_1. Use "Uz" constraint for operand 0.
2022 (*sibcall_pop_vzeroupper): Ditto.
2023 (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
2024 *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
2025 mode iterator. Use "<c>zm" constraint for operand 1.
2026 (*call_value_vzeroupper): Ditto.
2027 (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
d9403b0d 2028 for operand 1.
f6449011
UB
2029 (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
2030 (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
2031 *call_value_pop_1. Use "lzm" constraint for operand 1.
2032 (*call_value_pop_vzeroupper): Ditto.
2033 (*sibcall_value): Merge insn pattern from *sibcall_value_0,
2034 *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
2035 mode iterator. Use "Uz" constraint for operand 1.
2036 (*sibcall_value_vzeroupper): Ditto.
2037 (*sibcall_value_rex64_ms_sysv): Ditto.
2038 (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
2039 (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
2040 constraint for operand 1.
2041 (*sibcall_value_pop_vzeroupper): Ditto.
2042 (*tls_global_dynamic_64): Use constant_call_address_operand predicate
2043 and "z" constraint for operand 2.
2044 (*tls_global_dynamic_32_gnu): Ditto.
2045 (*tls_local_dynamic_base_32_gnu): Ditto.
2046 (*tls_local_dynamic_base_64): Ditto.
2047 (*tls_local_dynamic_32_once): Ditto.
2048 * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
2049 Update all callers.
2050 * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
2051
c11b6902
RG
20522011-05-16 Richard Guenther <rguenther@suse.de>
2053
2054 * gimple.c (gimple_types_compatible_p_1): Use names of the
2055 type itself, not its main variant.
2056 (iterative_hash_gimple_type): Likewise.
2057
1e83b5f1
RG
20582011-05-16 Richard Guenther <rguenther@suse.de>
2059
f6449011
UB
2060 * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
2061 always visit pointer target and function result and argument types.
1e83b5f1 2062
62e36382
JM
20632011-05-16 Jason Merrill <jason@redhat.com>
2064
2065 PR c++/48999
2066 * tree-inline.c (copy_statement_list): Put back recursion.
2067
687027a4
GJL
20682011-05-16 Georg-Johann Lay <avr@gjlay.de>
2069
2070 PR target/27663
2071 PR target/41076
2072 * config/avr/predicates.md (const_8_16_24_operand): New predicate.
2073 * config/avr/avr.md ("*ior<mode>qi.byte0",
2074 "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
2075
f24a5190
GJL
20762011-05-16 Georg-Johann Lay <avr@gjlay.de>
2077
2078 PR target/45099
2079 * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
2080 register is needed for a function argument.
2081
3066f593
RG
20822011-05-16 Richard Guenther <rguenther@suse.de>
2083
2084 * gimple.c (struct type_hash_pair): New type.
2085 (type_hash_pair_compare): New function.
f6449011 2086 (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
3066f593 2087
b2ab2cf4
RE
20882011-05-16 Revital Eres <revital.eres@linaro.org>
2089
f6449011 2090 * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
b2ab2cf4 2091
dfb737fc
UB
20922011-05-15 Uros Bizjak <ubizjak@gmail.com>
2093
2094 * config/i386/i386.md (floating point move splitters): Fix
2095 usage of standard_80387_constant_p.
f6449011 2096 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
dfb737fc 2097
8caa1de0
UB
20982011-05-15 Uros Bizjak <ubizjak@gmail.com>
2099
2100 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
2101
8a519095
EB
21022011-05-14 Eric Botcazou <ebotcazou@adacore.com>
2103
2104 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
2105 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
2106 (tree_ssa_lim_finalize): Likewise.
2107
479fecd3
UB
21082011-05-14 Uros Bizjak <ubizjak@gmail.com>
2109
2110 * config/i386/constraint.md (Yd, Yx): New register constraints.
2111 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
2112 Yd conditional register constraint.
2113 (*movtf_internal): Use standard_sse_constant_opcode.
2114 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
2115 Yx conditional register constraint.
2116 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
2117 Yd conditional register constraint. Use standard_sse_constant_p to
2118 check for valid SSE constants and call standard_sse_constant_opcode to
2119 output SSE insn.
2120 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
2121 constants and call standard_sse_constant_opcode to output SSE insn.
2122 * config/i386/i386.c (ix86_option_ovverride_internal): Set
2123 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
2124 optimize_size is set.
2125 (standard_sse_constant_opcode): Output conditional AVX insn templates.
2126
2d8c9ad5
TB
21272011-05-14 Tobias Burnus <burnus@net-b.de>
2128
2129 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
2130
411a20d6
MJ
21312011-05-13 Martin Jambor <mjambor@suse.cz>
2132
2133 * ipa-prop.c (ipa_cst_from_jfunc): New function.
2134 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
2135 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
2136 (evaluate_conditions_for_ipcp_clone): Removed.
2137 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
2138 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
2139 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
2140
dc764d10
EB
21412011-05-13 Eric Botcazou <ebotcazou@adacore.com>
2142
2143 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
2144 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
2145 lieu of MAY_HAVE_DEBUG_STMTS.
2146 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
2147 debug statements if !MAY_HAVE_DEBUG_STMTS.
2148
9f47a24e
MT
21492011-05-13 Martin Thuresson <martint@google.com>
2150
2151 PR gcov-profile/47793
2152 * libgcov.c (gcov_exit): Support relative profile paths.
2153 * doc/invoke.texi (-fprofile-dir): Update for above change.
2154
b8a71aed
RG
21552011-05-13 Richard Guenther <rguenther@suse.de>
2156
2157 * gimple.c (gimple_canonical_types_compatible_p): Do not use
2158 type-pair caching, do not compare hashes.
2159
eb9f9259
NF
21602011-05-13 Nathan Froyd <froydnj@codesourcery.com>
2161
2162 PR middle-end/48965
2163 * tree-cfg.c (edge_to_cases_cleanup): Return true.
2164 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
2165
3c6cbf7a
KT
21662011-05-13 Kai Tietz <ktietz@redhat.com>
2167
2168 * gimplify.c (gimplify_expr): Make sure operand is boolified.
2169 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
2170 compatible type for TRUTH_NOT_EXPR.
2171
2e7f5dc0
L
21722011-05-13 H.J. Lu <hongjiu.lu@intel.com>
2173
dc764d10 2174 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
2175 (ix86_hard_regno_mode_ok): Change return value to bool. Use
2176 can_create_pseudo_p ().
2177
e834e95c
RG
21782011-05-13 Richard Guenther <rguenther@suse.de>
2179
2180 PR lto/48978
2181 * gimple.c (iterative_hash_gimple_type): Revert change in
2182 pointer target and function result and argument hashing.
2183
34203483
UB
21842011-05-13 Uros Bizjak <ubizjak@gmail.com>
2185
2186 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
2187 (*movxf_internal_nointeger): Ditto.
2188 (*movdf_internal_rex64): Ditto.
2189 (*movdf_internal): Ditto.
2190 (*movdf_internal_nointeger): Ditto.
2191 (*movsf_internal): Ditto.
2192 (sincos splitters): Use can_create_pseudo ().
2193
7eb68c06
JM
21942011-05-13 Joseph Myers <joseph@codesourcery.com>
2195
2196 * config/i386/i386-opts.h: New.
2197 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
2198 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
2199 ix86_section_threshold): Remove.
2200 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
2201 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
2202 OPT_mbranch_cost_.
2203 (ix86_option_override_internal): Don't decode strings for options
2204 other than -march=, -mtune= and -mfpmath=. Don't allow for
2205 __attribute__ uses in remaining diagnostics for options with
34203483 2206 string arguments. Don't check for integer arguments being negative.
7eb68c06 2207 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 2208 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
2209 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
2210 ix86_branch_cost, ix86_section_threshold): Remove.
2211 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
2212 HeaderInclude.
2213 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
2214 but not Var.
2215 (masm=): Use Enum and Init.
2216 (asm_dialect): New Enum and EnumValue entries.
2217 (mbranch-cost=): Use UInteger.
2218 (mlarge-data-threshold=): Use UInteger and Init.
2219 (mcmodel=): Use Enum and Init.
2220 (cmodel): New Enum and EnumValue entries.
2221 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
2222 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
2223 mregparm=): Use UInteger.
2224 (mstringop-strategy=): Use Enum and Init.
2225 (stringop_alg): New Enum and EnumValue entries.
2226 (mtls-dialect=): Use Enum and Init.
2227 (tls_dialect): New Enum and EnumValue entries.
2228 (mabi=): Use Enum and Init.
2229 (calling_abi): New Enum and EnumValue entries.
2230 (mveclibabi=): Use Enum and Init.
2231 (ix86_veclibabi): New Enum and EnumValue entries.
2232
f67e203c
NC
22332011-05-13 Nick Clifton <nickc@redhat.com>
2234
34203483
UB
2235 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
2236 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 2237
221df0b6
KT
22382011-05-13 Kai Tietz <ktietz@redhat.com>
2239
2240 PR middle-end/48984
2241 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
2242 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
2243 (gimple_boolify): Check for cast for boolean_type_node instead for
2244 BOOLEAN_TYPE.
2245
208cb8cb
RG
22462011-05-13 Richard Guenther <rguenther@suse.de>
2247
2248 PR tree-optimization/48172
2249 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
2250 multiplying by number of iterations for equal step.
2251 (vect_create_cond_for_alias_checks): Likewise.
2252
b88ecf55
AS
22532011-05-13 Andreas Schwab <schwab@redhat.com>
2254
2255 * configure.ac: Use AS_HELP_STRING throughout.
2256 * configure: Regenerate.
2257
569b527e
L
22582011-05-12 H.J. Lu <hongjiu.lu@intel.com>
2259
34203483 2260 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
2261 (ix86_emit_restore_regs_using_mov): Likewise.
2262 (ix86_emit_restore_sse_regs_using_mov): Likewise.
2263
8b9a1428
AS
22642011-05-12 Anatoly Sokolov <aesok@post.ru>
2265
2266 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
2267 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
2268 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
2269 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
2270 RTX_OK_FOR_OLO10_P): ...here.
2271 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
2272 SYMBOLIC_CONST.
2273
1d15f620
KT
22742011-05-12 Kai Tietz <ktietz@redhat.com>
2275
2276 * gimplify.c (gimple_boolify): Re-boolify expression
2277 arguments even if expression type is of kind BOOLEAN_TYPE.
2278 (gimplify_boolean_expr): Removed.
2279 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
2280 and XOR. Additional take care that we keep expression's type.
2281 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
2282 of TRUTH_AND|OR|XOR_EXPR.
2283
c2b5fc8d
JJ
22842011-05-12 Jakub Jelinek <jakub@redhat.com>
2285
2286 PR tree-optimization/48975
2287 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
2288 on all bbs here and free and clear ifc_bbs at the end.
2289
61332f77
RG
22902011-05-12 Richard Guenther <rguenther@suse.de>
2291
2292 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
2293 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
2294 until after simple checks.
2295 (gimple_types_compatible_p): Likewise.
2296 (iterative_hash_gimple_type): Always hash pointer targets
2297 and function return and argument types.
2298 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
2299 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
2300 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
2301 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
2302 completely in the simple compare section.
2303 (gimple_register_canonical_type): Query the cache again after
2304 registering.
2305
e2a3a5f1
RG
23062011-05-12 Richard Guenther <rguenther@suse.de>
2307
2308 PR tree-optimization/48172
2309 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
2310 the number of iterations from the segment size calculation.
2311 (vect_create_cond_for_alias_checks): Adjust.
2312
2c703f3a
JJ
23132011-05-12 Jakub Jelinek <jakub@redhat.com>
2314
2315 PR debug/48967
2316 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
2317 if validate_subreg fails.
2318
23192011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
2320
2321 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
2322 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
2323 early.
2324
87e91fca
DD
23252011-05-12 DJ Delorie <dj@redhat.com>
2326
d53903d6 2327 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
2328 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
2329 created builtin into rx_builtins array.
2330 (rx_builtin_decl): New function.
34203483 2331 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 2332
5f2f13fd
DD
23332011-05-12 DJ Delorie <dj@redhat.com>
2334 Nick Clifton <nickc@redhat.com>
2335
2336 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
2337 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
2338 (rx_is_legitimate_address): Add pre-decrement and post-increment
2339 addressing in HImode and QImode. Fix test for out of range
2340 REG+INT addressing.
87e91fca 2341 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 2342 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 2343 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 2344 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 2345
57421f45
JM
23462011-05-11 Jason Merrill <jason@redhat.com>
2347
2348 * tree.c (type_hash_canon): Use struct tree_type_non_common.
2349
898c90c0
EB
23502011-05-11 Eric Botcazou <ebotcazou@adacore.com>
2351
2352 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
2353 reindent the subsequent block.
2354
79bec923
ST
23552011-05-11 Satoru Takabayashi <satorux@google.com>
2356 Paul Pluzhnikov <ppluzhnikov@google.com>
2357
34203483 2358 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
2359 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
2360 * config.in: Add LINKER_HASH_STYLE.
2361 * configure.ac: Add --with-linker-hash-style.
2362 * configure: Regenerate.
79bec923 2363
d0340959
RG
23642011-05-11 Richard Guenther <rguenther@suse.de>
2365
2366 PR middle-end/48964
2367 * gimple.c (iterative_hash_canonical_type): Fix typo.
2368
cb032fee
UB
23692011-05-11 Uros Bizjak <ubizjak@gmail.com>
2370
2371 * config/i386/i386.c (legitimize_tls_address)
479fecd3 2372 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
2373 expanders directly for TARGET_GNU2_TLS. Determine pic and
2374 __tls_get_addr symbol reference here. Update call to
2375 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 2376 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
2377 expanders directly for TARGET_GNU2_TLS. Determine
2378 __tls_get_addr symbol reference here. Update call to
2379 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
2380 unique UNSPEC REG_EQUIV to libcall block.
2381 (ix86_tls_get_addr): Declare static.
2382 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
2383 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
2384 Do not determine pic and __tls_get_addr symbol reference here. Do not
2385 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
2386 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
2387 (tls_global_dynamic_64): Add operand 2. Do not determine
2388 __tls_get_addr symbol reference here. Do not call
2389 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
2390 (tls_local_dynamic_base64): Ditto for operand 1.
2391
6d3cc8f0
EB
23922011-05-11 Eric Botcazou <ebotcazou@adacore.com>
2393
2394 * function.c (expand_function_start): Initialize stack_check_probe_note
2395 only if the generic stack checking mechanism is used.
2396
51e020fc
RG
23972011-05-11 Richard Guenther <rguenther@suse.de>
2398
2399 PR tree-optimization/15256
2400 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
2401 (A & B) | C, combine (A op CST1) op CST2.
2402 (tree_ssa_forward_propagate_single_use_vars): Only bother to
2403 visit assigns that have uses.
2404
51545682
NF
24052011-05-11 Nathan Froyd <froydnj@codesourcery.com>
2406
cb032fee 2407 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
2408 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
2409 (unpack_ts_type_common_value_fields): ...this. Update comment.
2410 (unpack_value_fields): Adjust for renaming.
2411 (lto_input_ts_type_tree_pointers): Split into...
2412 (lto_input_ts_type_common_tree_pointer): ...this and...
2413 (lto_input_ts_type_non_common_tree_pointers): ...this.
2414 (lto_input_tree_pointers): Adjust for above split.
2415 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
2416 (pack_ts_type_common_value_fields): ...this. Update comment.
2417 (lto_output_ts_type_tree_pointers): Split into...
2418 (lto_output_ts_type_common_tree_pointers): ...this and...
2419 (lto_output_ts_type_non_common_tree_pointers): ...this.
2420 (lto_output_tree_pointers): Adjust for above split.
2421 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
2422 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
2423 * stor-layout.c (vector_type_mode): Adjust location of mode field.
2424 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
2425 Define.
2426 (struct tree_type): Split into...
2427 (struct tree_type_common: ...this and...
2428 (struct tree_type_with_lang_specific): ...this and...
2429 (struct tree_type_non_common): ...this. Adjust accessor macros
2430 accordingly.
2431 (TYPE_VALUES_RAW): Define.
2432 (union tree_node): Update for above changes.
2433 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
2434 TS_TYPE_NON_COMMON.
2435 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
2436 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
2437 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
2438 * treestructu.def (TS_TYPE): Remove.
2439 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
2440 Define.
2441
b03c3082
JJ
24422011-05-11 Jakub Jelinek <jakub@redhat.com>
2443
2444 PR debug/48159
2445 * tree-ssa.c (reset_debug_uses): New function.
2446 * tree-flow.h (reset_debug_uses): New prototype.
2447 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
2448 * tree-loop-distribution.c (generate_loops_for_partition): Call
2449 reset_debug_uses on the stmts that will be removed. Keep around
2450 all debug stmts, don't count them as bits in partition bitmap.
2451 (generate_builtin): Don't count debug stmts or labels as bits in
2452 partition bitmap.
2453
b5e04de5
RG
24542011-05-11 Richard Guenther <rguenther@suse.de>
2455
2456 * gimple.c (gimple_type_hash_1): Merge with ...
2457 (gimple_type_hash): ... this.
2458 (gtc_visit): Remove mode parameter and simplify accordingly.
2459 (gimple_types_compatible_p_1): Likewise.
2460 (gimple_types_compatible_p): Likewise.
2461 (iterative_hash_gimple_type): Likewise.
2462 (visit): Likewise.
2463 (gimple_type_eq): Adjust.
2464
fc6970e4
RE
24652011-05-11 Revital Eres <revital.eres@linaro.org>
2466
2467 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
2468 enters the branch create an anti edge in the opposite direction
2469 to prevent the creation of reg-moves.
2470 * modulo-sched.c: Adjust comment to reflect the fact we are
2471 scheduling closing branch.
2472 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
2473 (stage_count): New field in struct partial_schedule.
2474 (calculate_stage_count): New function.
2475 (normalize_sched_times): Rename to reset_sched_times and handle
2476 incrementing the sched time of the nodes by a constant value
2477 passed as parameter.
2478 (duplicate_insns_of_cycles): Skip closing branch.
2479 (sms_schedule_by_order): Schedule closing branch.
2480 (ps_insn_find_column): Handle closing branch.
2481 (sms_schedule): Call reset_sched_times and adjust the code to
2482 support scheduling of the closing branch.
2483 (ps_insert_empty_row): Update calls to normalize_sched_times
2484 and rotate_partial_schedule functions.
2485
41a58a92
RG
24862011-05-11 Richard Guenther <rguenther@suse.de>
2487
2488 PR middle-end/48953
2489 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
2490
e9f8dcf9
JM
24912011-05-11 Joseph Myers <joseph@codesourcery.com>
2492
cb032fee
UB
2493 * opts.c (finish_options): Move warning settings from process_options.
2494 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 2495
10c224a9
RG
24962011-05-11 Richard Guenther <rguenther@suse.de>
2497
2498 PR tree-optimization/18041
2499 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
2500 (simplify_bitwise_binary): ... this. Handle operand conversions
2501 by applying them to the result instead.
2502 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
2503
825b27de
RG
25042011-05-11 Richard Guenther <rguenther@suse.de>
2505
2506 * gimple.c (gimple_canonical_types_compatible_p): Split out
2507 from gimple_types_compatible_p and friends. Do not recurse
2508 to pointed-to types.
2509 (gimple_canonical_type_eq): Use it.
2510 (iterative_hash_canonical_type): Split out from
2511 iterative_hash_gimple_type and friends. Do not recurse
2512 to pointed-to types.
2513 (gimple_canonical_type_hash): Use it, allocate the hash here.
2514
ca756625
RE
25152011-05-11 Revital Eres <revital.eres@linaro.org>
2516
2517 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
2518 recognizing doloop.
2519
b8abece3
RE
25202011-05-11 Revital Eres <revital.eres@linaro.org>
2521
2522 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
2523 instead of PREV_INSN.
2524
ce7b3761
RE
25252011-05-11 Revital Eres <revital.eres@linaro.org>
2526
2527 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
2528 * loop-doloop.c (doloop_condition_get): Likewise.
2529 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
2530 (doloop_end): New.
2531 * config/arm/arm.md (*addsi3_compare0): Remove "*".
2532
a9dc9d37
NF
25332011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2534
2535 * tree.def (CASE_LABEL_EXPR): Add an operand.
2536 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
2537
96703596
JM
25382011-05-10 Joseph Myers <joseph@codesourcery.com>
2539
2540 * c-decl.c (c_override_global_bindings_to_false): Remove.
2541 (global_bindings_p): Don't check
2542 c_override_global_bindings_to_false.
2543 * c-tree.h (c_override_global_bindings_to_false): Remove.
2544 * c-typeck.c (composite_type): Don't set
2545 c_override_global_bindings_to_false.
2546
dbcc9f08
MM
25472011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2548
2549 PR target/48857, 48495
2550 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
2551 (VSX_MODE): Ditto.
2552 (VSX_MOVE_MODE): Ditto.
2553 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
2554 VSX vector types. Add V2DImode.
2555 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
2556 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
2557 (MODES_TIEABLE_P): Ditto.
2558
2559 * config/rs6000/rs6000.c (rs6000_emit_move): Use
2560 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
2561 VSX_VECTOR_MODE.
2562 (init_cumulative_args): Ditto.
2563 (rs6000_function_arg_boundary): Ditto.
2564 (rs6000_function_arg_advance_1): Ditto.
2565 (rs6000_function_arg): Ditto.
2566 (rs6000_function_ok_for_sibcall): Ditto.
2567 (emit_frame_save): Ditto.
2568 (rs6000_function_value): Ditto.
2569 (rs6000_libcall_value): Ditto.
2570
4a68b4ca
JM
25712011-05-10 Joseph Myers <joseph@codesourcery.com>
2572
2573 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
2574 i386/darwin-lib.h to $libgcc_tm_file.
2575 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
2576
bcb521e9
JM
25772011-05-10 Joseph Myers <joseph@codesourcery.com>
2578
2579 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
2580
f10d3ac9
JM
25812011-05-10 Joseph Myers <joseph@codesourcery.com>
2582
cb032fee 2583 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
2584 * config/rs6000/rs6000-tables.opt: New file (generated).
2585 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
2586 rs6000/rs6000-tables.opt to extra_options.
2587 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
2588 * config/rs6000/rs6000.c (rs6000_select): Remove.
2589 (processor_target_table): Move contents to rs6000-cpus.def.
2590 (darwin_rs6000_override_options): Check
2591 global_options_set.x_rs6000_cpu_index instead of
2592 rs6000_select[1].string.
2593 (rs6000_option_override_internal): Likewise.
2594 (rs6000_handle_option): Don't assert that global structures are in
2595 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
2596 (rs6000_default_cpu): New variable.
2597 (rs6000_file_start): Set it instead of local default_cpu. Check
2598 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
2599 global_options_set.x_rs6000_tune_index instead of rs6000_select.
2600 (rs6000_darwin_file_start): Check rs6000_default_cpu and
2601 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
2602 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
2603 rs6000_select): Remove.
2604 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
2605 Remove.
2606 (mcpu=, mtune=): Use Var, Init, Enum and Save.
2607 * config/rs6000/t-rs6000
2608 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
2609 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2610 global_options_set.x_rs6000_cpu_index instead of
2611 rs6000_select[1].string.
2612 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
2613 global_options_set.x_rs6000_cpu_index instead of
2614 rs6000_select[1].string.
2615
80cf2e08
JM
26162011-05-10 Joseph Myers <joseph@codesourcery.com>
2617
2618 * config.gcc (libgcc_tm_file): Define instead of including files
2619 from ../../libgcc/config/ in tm_file.
cb032fee 2620 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
2621 * configure: Regenerate.
2622 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
2623 libgcc_tm.h, cs-libgcc_tm.h): New.
2624 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
2625 (clean): Remove libgcc_tm.h.
2626 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
2627 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
2628 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
2629
fd01a351
GJL
26302011-05-10 Georg-Johann Lay <avr@gjlay.de>
2631
2632 PR target/48896
2633 * config/avr/avr.c (avr_ret_register): Return unsigned int
2634 instead of int.
2635 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
2636 it to avr_libcall_value.
2637 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
2638 expand_expr.
2639 (avr_expand_binop_builtin): Ditto.
2640 (avr_expand_unop_builtin): Ditto.
2641
34cc3c86
DD
26422011-05-10 DJ Delorie <dj@redhat.com>
2643
2644 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
2645 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
2646 * config/rx/rx.c (rx_align_for_label): Add label and
2647 uses_threshold parameters. Do not align when the label is not
2648 used enough.
2649 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
2650
be173289
RG
26512011-05-10 Richard Guenther <rguenther@suse.de>
2652
2653 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
2654 a series of conversions and apply foldings similar to what
2655 fold-const does.
2656 (tree_ssa_forward_propagate_single_use_vars): Call it.
2657
e7f78021
JJ
26582011-05-10 Jakub Jelinek <jakub@redhat.com>
2659
6ae70ea2
JJ
2660 PR tree-optimization/48611
2661 PR tree-optimization/48794
2662 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
2663 referenced from RESX or EH_DISPATCH arguments.
2664
e7f78021
JJ
2665 PR debug/48928
2666 * dfp.c (decimal_to_decnumber): Handle conversion from
2667 dconst{1,2,m1,half}.
2668
fca132b9
UB
26692011-05-09 Uros Bizjak <ubizjak@gmail.com>
2670
2671 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
2672 for !flag_prefer_avx128.
2673 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
2674
e4c03378
EB
26752011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2676
2677 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
2678 (fold_ternary_loc): Use expr_location_or.
2679
805d6a75
L
26802011-05-09 H.J. Lu <hongjiu.lu@intel.com>
2681
2682 PR debug/48853
2683 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
2684 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
2685 Pmode and mem_mode is not VOIDmode.
2686
e4c03378 26872011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 2688
e4c03378
EB
2689 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
2690 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 2691
51e7f377
UB
26922011-05-09 Uros Bizjak <ubizjak@gmail.com>
2693
2694 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
2695 (const_pow2_1_to_8_operand): Ditto.
2696 (const_pow2_1_to_128_operand): Ditto.
2697 (const_pow2_1_to_32768_operand): Ditto.
2698 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
2699 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
2700 in insn constraint to check integer value of operand 3.
2701 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
2702
2703 (PINSR_MODE): New mode iterator.
2704 (sse2p4_1): New mode attribute.
2705 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
2706 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
2707 iterator. Use const_int_operand instead of
2708 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
2709 exact_log2 in insn constraint to check integer value of operand 3.
2710
27112011-05-09 Uros Bizjak <ubizjak@gmail.com>
2712
2713 * config/i386/sse.md (blendbits): Remove mode attribute.
2714 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
2715 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
2716 Check integer value of operand 3 in insn constraint.
2717
0ca8de87
RG
27182011-05-09 Richard Guenther <rguenther@suse.de>
2719
2720 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
2721 for diagnostics.
2722 (lto_symtab_merge): Likewise. Do not register types here.
2723 (lto_symtab_merge_decls_2): Likewise.
2724 (lto_symtab_merge_decls_1): Likewise.
2725 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
2726 * gimple.c (enum gtc_mode): Declare.
2727 (gimple_types_compatible_p): Make static.
2728
a9e6994a
AK
27292011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2730
2731 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
2732 temporary register to match Pmode.
2733
fb55d62e
UB
27342011-05-09 Uros Bizjak <ubizjak@gmail.com>
2735
2736 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
2737 and *vec_concatv4si_1_avx.
2738
eb1485a6
UB
27392011-05-09 Uros Bizjak <ubizjak@gmail.com>
2740
2741 PR rtl-optimization/48927
2742 * ira-conflicts.c (commutative_constraint_p): Use
2743 recog_data.alternative_enabled_p to disable alternatives where
2744 "enabled" attribute is false.
2745 (get_dup_num): Ditto.
2746 * ira-lives.c (single_reg_class): Ditto.
2747 (ira_implicitly_set_insn_hard_regs): Ditto.
2748
c46d001a
EB
27492011-05-09 Eric Botcazou <ebotcazou@adacore.com>
2750
2751 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
2752 (dataflow_set_preserve_mem_locs): Likewise.
2753
27542011-05-09 Philipp Thomas <pth@suse.de>
2755
6d9e7c41
PT
2756 * config/mep/mep.c (mep_validate_vliw): Syntax description
2757 should not be translated.
2758
d371df6f
JM
27592011-05-09 Joseph Myers <joseph@codesourcery.com>
2760
2761 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
2762 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 2763 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
2764 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
2765 MIPS_ARCH_OPTION_NATIVE): Define.
2766 * config/mips/mips.c (mips_cpu_info_table): Move contents to
2767 mips-cpus.def.
2768 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
2769 mips_parse_cpu): Remove.
2770 (mips_cpu_info_from_opt, mips_default_arch): New.
2771 (mips_handle_option): Don't assert that global structures are in
2772 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
2773 (mips_option_override): Use new variables and functions to set
eb1485a6 2774 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
2775 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
2776 definition.
2777 * config/mips/mips.opt (march=): Use ToLower and Enum.
2778 (mips): Use ToLower, Enum and Var.
2779 (mtune=): Use ToLower and Enum.
2780 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
2781
4fc07af9
JH
27822011-05-08 Jan Hubicka <jh@suse.cz>
2783
2784 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
2785 Arrange type pairs to be UID ordered.
2786 (gimple_lookup_type_leader): Make inline.
2787
2cf320a8
NC
27882011-05-09 Nick Clifton <nickc@redhat.com>
2789
61d6def5
NC
2790 PR target/48899
2791 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
2792 PROCESSOR_DEFAULT.
2793
2cf320a8
NC
2794 PR target/48897
2795 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
2796 variable 's'.
2797
4f82319d
CLT
27982011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
2799
2800 * combine.c (simplify_comparison): Abstract out parts into...
2801 (simplify_compare_const): ... new function.
2802 (try_combine): Generalize parallel arithmetic/compare combining
2803 to call simplify_compare_const() and CANONICALIZE_COMPARE().
2804
74605a11
JH
28052011-05-08 Jan Hubicka <jh@suse.cz>
2806
2807 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
2808 (cgraph_create_virtual_clone): Call hooks once virtual clone
2809 is finished.
74605a11 2810 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
2811 * ipa-cp.c (ipcp_estimate_growth): Use
2812 estimate_ipcp_clone_size_and_time.
74605a11
JH
2813 * ipa-inline-transform.c (clone_inlined_nodes): Update.
2814 * lto-cgraph.c (input_node): Update.
2815 * ipa-inline.c (recursive_inlining): Update.
2816 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
2817 (evaluate_conditions_for_known_args): Break out from ...
2818 (evaluate_conditions_for_edge): ... here.
2819 (evaluate_conditions_for_ipcp_clone): New function.
2820 (inline_node_duplication_hook): Update clone summary based
2821 on parameter map.
2822 (estimate_callee_size_and_time): Rename to ...
2823 (estimate_node_size_and_time): take NODE instead of EDGE;
2824 take POSSIBLE_TRUTHS as argument.
2825 (estimate_callee_size_and_time): Update.
2826 (estimate_ipcp_clone_size_and_time): New function.
2827 (do_estimate_edge_time): Update.
2828
5c049507
RG
28292011-05-08 Richard Guenther <rguenther@suse.de>
2830
2831 PR middle-end/48908
2832 PR middle-end/48905
2833 * expmed.c (expand_shift_1): Compute adjusted constant shift
2834 amount manually.
2835
f64c36ba
EB
28362011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2837
2838 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
2839
c461a957
EB
28402011-05-08 Eric Botcazou <ebotcazou@adacore.com>
2841
2842 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
2843
7c74e556
JW
28442011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2845
2846 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
2847
b4c0a884
JH
28482011-05-07 Jan Hubicka <jh@suse.cz>
2849
a9bcb3f0
EB
2850 * ipa-inline-transform.c (inline_call): Account when program size
2851 decreases.
b4c0a884 2852 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
2853 (edge_badness): Reorganize to be power 2 based; fix thinko when
2854 computing badness for negative growth; update comments to match
2855 reality; better dumps.
b4c0a884 2856
c99c0026
EB
28572011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2858
2859 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
2860 type to bool and adjust comment.
2861 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
2862 (fold_mathfn_compare): Remove calls to global_bindings_p.
2863 (fold_inf_compare): Likewise.
2864 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
2865 * c-tree.h (global_bindings_p): Adjust prototype.
2866 * c-decl.c (global_bindings_p): Return bool and simplify.
2867
1400c8e5
ZD
28682011-05-07 Zdenek Dvorak <ook@ucw.cz>
2869
2870 PR tree-optimization/48837
2871 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
2872 when accumulator transformation is performed.
2873
5d0878e7
JH
28742011-05-06 Jan Hubicka <jh@suse.cz>
2875
a9bcb3f0
EB
2876 * i386.h (ix86_tune_indices): Add
2877 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 2878 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
2879 * i386.c (initial_ix86_tune_features): Add
2880 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
2881 (software_prefetching_beneficial_p): Remove predicate.
2882 (ix86_option_override_internal): Use new macro.
2883
58696ce5
JH
28842011-05-06 Jan Hubicka <jh@suse.cz>
2885
2886 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
2887
c47d0034
JH
28882011-05-06 Jan Hubicka <jh@suse.cz>
2889
2890 * cgraph.c (cgraph_add_thunk): Create real function node instead
2891 of alias node; finalize it and mark needed/reachale; arrange visibility
2892 to be right and add it into the corresponding same comdat group list.
2893 (dump_cgraph_node): Dump thunks.
2894 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
2895 cgraph_function_with_gimple_body_p,
2896 cgraph_first_function_with_gimple_body,
c47d0034
JH
2897 cgraph_next_function_with_gimple_body): New functions.
2898 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
2899 New macros.
2900 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
2901 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2902 * cgraphunit.c (cgraph_finalize_function): Only look into possible
2903 devirtualization when optimizing.
2904 (verify_cgraph_node): Verify thunks.
2905 (cgraph_analyze_function): Analyze thunks.
2906 (cgraph_mark_functions_to_output): Output thunks only in combination
2907 with function they are assigned to.
2908 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
2909 alias into normal node.
2910 (assemble_thunks): New functoin.
2911 (cgraph_expand_function): Use it.
2912 * lto-cgraph.c (lto_output_node): Stream thunks.
2913 (input_overwrite_node): Stream in thunks.
2914 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
2915 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
2916 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
2917 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
2918 (inline_analyze_function): Do not care about thunk jump functions.
2919 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
2920 * ipa-prop.c (ipa_prop_write_jump_functions): Use
2921 cgraph_function_with_gimple_body_p.
2922 * passes.c (do_per_function_toporder): Use
2923 cgraph_function_with_gimple_body_p.
c47d0034
JH
2924 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
2925 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
2926 (function_called_by_processed_nodes_p): Likewise.
2927
d8f426ec
JM
29282011-05-06 Joseph Myers <joseph@codesourcery.com>
2929
2930 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
2931 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
2932 entries.
2933 (mabi=): Replace with separate entries for mabi=altivec,
2934 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
2935 mabi=ieeelongdouble and mabi=ibmlongdouble.
2936 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
2937 check for -mabi=spe without SPE ABI support here.
2938 (rs6000_handle_option): Replace OPT_mabi_ handling with
2939 OPT_mabi_altivec and OPT_mabi_spe handling.
2940
80bde45b
CC
29412011-05-06 Cary Coutant <ccoutant@google.com>
2942
2943 * dwarf2out.c (contains_subprogram_definition): New function.
2944 (should_move_die_to_comdat): Call it.
2945
a91926b9
JL
29462011-05-06 Jeff Law <law@redhat.com>
2947
2948 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
2949 remove_ctrl_stmt_and_useless_edges.
2950 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
2951 (fixup_template_block, thread_single_edge): Likewise.
2952 (mark_threaded_blocks): Use THREAD_TARGET.
2953
1fc1b66d
AM
29542011-05-06 Alan Modra <amodra@gmail.com>
2955
2956 PR target/48900
2957 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
2958 const0_rtx as the arg to the dummy __tls_get_addr libcall.
2959
e194de64
UB
29602011-05-06 Uros Bizjak <ubizjak@gmail.com>
2961
2962 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
2963 constraint modifier to "r".
2964
d740dc9e
JM
29652011-05-06 Joseph Myers <joseph@codesourcery.com>
2966
2967 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
2968 fall through for OPT_mcmodel_.
2969
cab78b15
AK
29702011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2971
2972 * config/s390/s390.c (s390_asm_trampoline_template): Comment
2973 instruction sizes.
e194de64 2974 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 2975
ee6824ae
RR
29762011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2977
eb1485a6
UB
2978 PR target/47930
2979 * config/arm/arm.opt (marm): Document it.
2980 (mthumb): Reject negative variant.
ee6824ae 2981
9ef58464
UB
29822011-05-06 Uros Bizjak <ubizjak@gmail.com>
2983
2984 PR target/48898
2985 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
2986 Fix typo in "ccvt" variable name.
2987
155b6176
TG
29882011-05-06 Tristan Gingold <gingold@adacore.com>
2989
2990 PR target/48895
2991 * config/vms/vms-ar.c (main): Remove cwd variable.
2992
3becc47b
JJ
29932011-05-06 Jakub Jelinek <jakub@redhat.com>
2994
2995 PR debug/48902
2996 * var-tracking.c (prepare_call_arguments): Move else before #endif.
2997
3d528853
NF
29982011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2999
3000 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
3001 * gimplify.c (gimplify_switch_expr): Likewise.
3002 * omp-low.c (expand_omp_sections): Likewise.
3003 * tree-eh.c (lower_try_finally_switch): Likewise.
3004 (lower_eh_dispatch): Likewise.
3005 * tree.h (build_case_label): Declare.
3006 * tree.c (build_case_label): Define.
3007
deb5046b
JM
30082011-05-05 Jason Merrill <jason@redhat.com>
3009
3010 PR c++/40975
3011 * tree-inline.c (copy_tree_r): Use copy_statement_list.
3012 (copy_statement_list): Don't recurse.
3013 * stor-layout.c (copy_self_referential_tree_r): Don't allow
3014 STATEMENT_LIST.
3015
013c0411
JM
30162011-05-05 Joseph Myers <joseph@codesourcery.com>
3017
3018 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
3019 through from -mfpu= handling.
3020 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
3021
a0905f8b
BS
30222011-05-05 Bernd Schmidt <bernds@codesourcery.com>
3023
3024 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
3025 POST_MODIFY.
3026
fc4538e4
SE
30272011-05-05 Steve Ellcey <sje@cup.hp.com>
3028
3029 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
3030 for 11.31.
3031 (hppa[12]*-*-hpux11*): Ditto.
3032 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
3033 * config/ia64/hpux-unix2003.h: New.
3034 * config/pa/pa-hpux1131.opt: New.
3035 * config/pa/pa-hpux1131.h: New.
3036 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
3037 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 3038 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 3039
1e30c578
JJ
30402011-05-05 Jakub Jelinek <jakub@redhat.com>
3041
3042 PR debug/48853
3043 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
3044 instead of mode as 3rd argument to recursive call.
3045 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
3046 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
3047 VOIDmode.
3048 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
3049 don't give up if mode is Pmode and mem_mode is not VOIDmode.
3050 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
3051 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
3052
d19eb620
JB
30532011-05-05 Julian Brown <julian@codesourcery.com>
3054
3055 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
3056 parenthesis in D-register case.
3057
c860fe8c
JM
30582011-05-05 Joseph Myers <joseph@codesourcery.com>
3059
3060 * opt-functions.awk (var_type_struct): Handle Enum options.
3061 * optc-gen.awk: Don't check range of variables of character type.
3062 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
3063 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
3064 rs6000_sdata_name, rs6000_explicit_options): Remove.
3065 (rs6000_option_override_internal): Check for -malign-power here.
3066 Use global_options_set instead of rs6000_explicit_options.
3067 (rs6000_parse_fpu_option): Remove.
3068 (rs6000_handle_option): Access variables via opts and opts_set
3069 pointers. Use error_at and warning_at. Add fall-through
3070 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
3071 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
3072 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
3073 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
3074 here. Don't use rs6000_parse_fpu_option.
3075 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
3076 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
3077 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
3078 (mrecip=): Use Var.
3079 (mspe): Use Var and Save.
3080 (mtraceback=): Use Enum and Var.
3081 (rs6000_traceback_type): New Enum and EnumValue entries.
3082 (mfloat-gprs=): Use Enum, Var and Save.
3083 (rs6000_float_gprs): New Enum and EnumValue entries.
3084 (mlong-double-): use Var and Save.
3085 (msched-costly-dep=, minsert-sched-nops=): Use Var.
3086 (malign-): Use Enum and Var.
3087 (rs6000_alignment_flags): New Enum and EnumValue entries.
3088 (mfpu=): Use Enum.
3089 (fpu_type_t): New Enum and EnumValue entries.
3090 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3091 global_options_set instead of rs6000_explicit_options.
3092 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3093 global_options_set instead of rs6000_explicit_options.
3094 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3095 global_options_set instead of rs6000_explicit_options.
3096 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
3097 global_options_set instead of rs6000_explicit_options.
3098 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
3099 global_options_set instead of rs6000_explicit_options.
3100 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3101 global_options_set instead of rs6000_explicit_options.
3102 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
3103 definition.
3104 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3105 global_options_set instead of rs6000_explicit_options.
3106 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
3107 (rs6000_cmodel): New Enum and EnumValue entries.
3108 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
3109 global_options_set instead of rs6000_explicit_options.
3110 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
3111 (mtls-size=): Use Enum and Var.
3112 (rs6000_tls_size): New Enum and EnumValue entries.
3113
0691dde9
MM
31142011-05-05 Michael Matz <matz@suse.de>
3115
3116 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
3117 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
3118 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
3119 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
3120 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
3121 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
3122 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
3123 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
3124 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
3125 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
3126 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
3127 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
3128 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
3129 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
3130 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
3131 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
3132
86529a49
RG
31332011-05-05 Richard Guenther <rguenther@suse.de>
3134
3135 * expmed.c (expand_variable_shift): Rename to ...
3136 (expand_shift_1): ... this. Take an expanded shift amount.
3137 For rotates recurse directly not building trees for the shift amount.
3138 (expand_variable_shift): Wrap around expand_shift_1.
3139 (expand_shift): Adjust.
3140
d0228c2e
JJ
31412011-05-05 Jakub Jelinek <jakub@redhat.com>
3142
3143 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
3144
907a08d9
EB
31452011-05-05 Eric Botcazou <ebotcazou@adacore.com>
3146
3147 * tree.h (get_pending_sizes): Remove prototype.
3148 (put_pending_size): Likewise.
3149 (put_pending_sizes): Likewise.
3150 * stor-layout.c (pending_sizes): Delete.
3151 (get_pending_sizes): Likewise.
3152 (put_pending_size): Likewise.
3153 (put_pending_sizes): Likewise.
3154 (variable_size): Do not call put_pending_size and tidy up.
3155 * function.h (struct function): Remove dont_save_pending_sizes_p.
3156 * lto-streamer-in.c (input_function): Do not stream it.
3157 * lto-streamer-out.c (output_function): Likewise.
3158 * tree-inline.c (initialize_cfun): Do not copy it.
3159 * c-decl.c (store_parm_decls): Do not set it.
3160 * omp-low.c (create_task_copyfn): Likewise.
3161 * tree-optimize.c (tree_rest_of_compilation): Likewise.
3162
386d9c57
UB
31632011-05-05 Uros Bizjak <ubizjak@gmail.com>
3164
3165 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
3166 conditions.
3167 (*movdf_internal): Ditto.
3168 (*movdf_internal_nointeger): Ditto.
3169 (*movsf_internal): Ditto.
3170
a04a722b
JM
31712011-05-05 Joseph Myers <joseph@codesourcery.com>
3172
3173 * c-decl.c (finish_decl): Don't call get_pending_sizes.
3174 (grokparm): Add parameter expr. Pass it to grokdeclarator.
3175 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
3176 (c_variable_size): Remove.
3177 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
3178 call put_pending_sizes.
3179 (get_parm_info): Add parameter expr. Use it to set
3180 arg_info->pending_sizes.
3181 (store_parm_decls): Use arg_info->pending_sizes instead or calling
3182 get_pending_sizes.
3183 * c-parser.c (c_parser_parms_declarator): Update call to
3184 c_parser_parms_list_declarator.
3185 (c_parser_parms_list_declarator): Take parameter expr. Update
3186 call to push_parm_decl. Update recursive call. Don't call
3187 get_pending_sizes. Update calls to get_parm_info.
3188 (c_parser_objc_method_definition): Update calls to
3189 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 3190 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
3191 (c_parser_objc_method_decl): Add parameter expr. Update call to
3192 grokparm.
386d9c57 3193 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
3194 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
3195 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
3196
c92a6f97
MH
31972011-05-05 Michael Hope <michael.hope@linaro.org>
3198
386d9c57
UB
3199 PR pch/45979
3200 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
3201 __ARM_EABI__ hosts.
c92a6f97 3202
07ea0048
UW
32032011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3204
3205 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
3206 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
3207 (spu_output_mi_thunk): New function.
3208
d634bfa1
RO
32092011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3210
3211 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
3212 targetm.asm_out.print_operand.
3213 * config/sol2.c: Include target.h.
3214
40fda55b
JH
32152011-05-04 Jan Hubicka <jh@suse.cz>
3216
3217 * ipa-inline.c (reset_edge_caches): New function.
3218 (update_caller_keys): Add check_inlinablity_for; do not
3219 reset edge caches; remove now unnecesary loop.
386d9c57 3220 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
3221 (update_all_callee_keys): Likewise.
3222 (inline_small_functions): Sanity check cache; update code
3223 recomputing it.
3224
0360f70d
BS
32252011-05-04 Bernd Schmidt <bernds@codesourcery.com>
3226
3227 PR rtl-optimization/47612
3228 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
3229 as the last insn of the sequence to be moved.
3230
7a994646
TB
32312011-05-04 Tobias Burnus <burnus@net-b.de>
3232
3233 PR fortran/48864
3234 * doc/invoke.texi (Ofast): Document that it
3235 enables Fortran's -fno-protect-parens.
3236
7a2f7208
UB
32372011-05-04 Uros Bizjak <ubizjak@gmail.com>
3238
3239 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
3240
a2d42931
EB
32412011-05-04 Eric Botcazou <ebotcazou@adacore.com>
3242
3243 * stor-layout.c (variable_size): Do not issue errors.
3244
f81b1a3d
RG
32452011-05-04 Richard Guenther <rguenther@suse.de>
3246
3247 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
3248 for array-ref indices.
3249 (tree_coverage_counter_addr): Likewise.
3250 (build_fn_info_type): Use size_int for index types.
3251 (build_gcov_info): Likewise.
3252
c62c040f
RG
32532011-05-04 Richard Guenther <rguenther@suse.de>
3254
3255 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
3256 to build_int_cst.
3257 * c-typeck.c (really_start_incremental_init): Use bitsize_int
3258 for constructor indices.
3259 (push_init_level): Likewise.
3260
1e3287d0
RG
32612011-05-04 Richard Guenther <rguenther@suse.de>
3262
3263 * explow.c (promote_mode): Move variable declarations before code.
3264
6c32445b
NF
32652011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3266
3267 * tree.h (build_function_type_array): Declare.
3268 (build_varargs_function_type_array): Declare.
3269 (build_function_type_vec, build_varargs_function_type_vec): Define.
3270 * tree.c (build_function_type_array_1): New function.
3271 (build_function_type_array): New function.
3272 (build_varargs_function_type_array): New function.
3273
fdabf269
RS
32742011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
3275
3276 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
3277 before setting STMT_VINFO_TYPE.
3278
a207915a
UW
32792011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3280
3281 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
3282 instead of spu_pass_by_reference.
3283
5e617be8
AK
32842011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3285
3286 * calls.c (emit_library_call_value_1): Invoke
3287 promote_function_mode hook on libcall arguments.
3288 * explow.c (promote_function_mode, promote_mode): Handle TYPE
3289 argument being NULL.
3290 * targhooks.c (default_promote_function_mode): Lisewise.
3291 * config/s390/s390.c (s390_promote_function_mode): Likewise.
3292 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
3293
3294 * doc/tm.texi: Document that TYPE argument might be NULL.
3295
486d04be
SH
32962011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3297
3298 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
3299
9b19b026
SH
33002011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3301
3302 From Bernd Schmidt
3303 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
3304
502bc3df
RO
33052011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3306
3307 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
3308 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
3309 Move ...
3310 * mips-tfile.c: ... here.
3311 Don't include coretypes.h, tm.h, filenames.h.
3312 (saber_stop): Remove definition and all calls.
3313 [__SABER__]: Remove.
3314 (__LINE__): Remove default.
3315 (Size_t, Ptrdiff_t): Remove definitions.
3316 Replace by size_t, ptrdiff_t.
3317 [!MIPS_DEBUGGING_INFO]: Remove.
3318 (SHASH_SIZE, THASH_SIZE): Remove defaults.
3319 (progname): Add const.
3320 (STATIC): Remove.
3321 Replace all uses by static.
3322 (ALIGN_SYMTABLE_OFFSET): Remove default.
3323 * mips-tdump.c: Don't include coretypes.h, tm.h.
3324 Remove !MIPS_IS_STAB guard.
3325 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
3326 $(TM_H), filenames.h dependencies.
3327 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
3328
991eb6ef
SH
33292011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3330
3331 From Jie Zhang
3332 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
3333 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
3334
420ccc84
SH
33352011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3336
3337 From Bernd Schmidt
3338 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
3339 account and save/restore RETS.
3340 (PROFILE_BEFORE_PROLOGUE): Define.
3341 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
3342 the push insn to use predecrement.
3343
9f8d69ee
SH
33442011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
3345
3346 From Jie Zhang
3347 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
3348
662c03f4
NC
33492011-05-04 Nick Clifton <nickc@redhat.com>
3350
3351 * config/mn10300/mn10300.c: Include cfgloop.h.
3352 (DUMP): New macro.
3353 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
3354 Lcc or a FLcc insn into the instruction stream.
3355 (mn10300_block_contains_call): New function. Returns true if the
3356 given basic block contains a CALL insn.
3357 (mn10300_loop_contains_call_insn): New function. Returns true if
3358 the given loop contains a CALL insn.
3359 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
3360 to use the SETLB and Lcc or FLcc insns.
3361 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
3362 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
3363 * config/mn10300/mn10300.opt (msetlb): New option. Used to
3364 disable the SETLB optimization.
3365 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
3366 __SETLB__ or __NO_SETLB__.
3367 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
3368 (movsf_internal): Handle MDR register.
3369 (cmpsi): Make visible.
3370 (setlb): New pattern.
3371 (Lcc): New pattern.
3372 (FLcc): New pattern.
3373
843b6915
UB
33742011-05-04 Uros Bizjak <ubizjak@gmail.com>
3375
3376 PR target/48860
3377 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
3378 for reg<->xmm moves.
3379 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
3380 (vec_concatv2di_rex64_sse): Ditto.
3381 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
3382 (*vec_extractv2di_1_rex64): Ditto.
3383
3384 Revert:
3385 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
3386
3387 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
3388 reg<->xmm moves.
3389 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
3390
d35936ab
RG
33912011-05-04 Richard Guenther <rguenther@suse.de>
3392
3393 * tree.h (int_const_binop): Remove notrunc argument.
3394 * fold-const.c (int_const_binop): Remove notrunc argument. Always
3395 create integer constants that are properly truncated.
3396 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
3397 (const_binop): Remove zero notrunc argument to int_const_binop.
3398 (size_binop_loc): Likewise.
3399 (fold_div_compare): Likewise.
3400 (maybe_canonicalize_comparison_1): Likewise.
3401 (fold_comparison): Likewise.
3402 (fold_binary_loc): Likewise.
3403 (multiple_of_p): Likewise.
3404 * expr.c (store_constructor): Likewise.
3405 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
3406 (maybe_fold_stmt_addition): Likewise.
3407 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
3408 * stor-layout.c (layout_type): Likewise.
3409 * tree-data-ref.c (tree_fold_divides_p): Likewise.
3410 * tree-sra.c (build_ref_for_offset): Likewise.
3411 (build_user_friendly_ref_for_offset): Likewise.
3412 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
3413 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
3414 * tree-ssa-loop-niter.c (inverse): Likewise.
3415 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
3416 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
3417 * tree-switch-conversion.c (check_range): Likewise.
3418 (build_constructors): Likewise.
3419 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
3420 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
3421 (extract_range_from_assert): Likewise.
3422 (vrp_int_const_binop): Likewise.
3423 (extract_range_from_binary_expr): Likewise.
3424 (extract_range_from_unary_expr): Likewise.
3425 (check_array_ref): Likewise.
3426 (find_case_label_range): Likewise.
3427 (simplify_div_or_mod_using_ranges): Likewise.
3428 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
3429 comparing case labels for merging.
3430
8992c063
MW
34312011-05-03 Mark Wielaard <mjw@redhat.com>
3432
3433 * dwarf2out.c (debug_str_hash_forced): Removed.
3434 (gen_label_for_indirect_string): Removed.
3435 (get_debug_string_label): Removed.
3436 (AT_string_form): Generate label directly.
3437 (output_indirect_string): Test indirect_string_node for
3438 DW_FORM_strp instead of checking label and refcount.
3439 (prune_indirect_string): Removed.
3440 (prune_unused_types): Don't check debug_str_hash_forced or
3441 call prune_indirect_string.
3442
4868e6ea
AO
34432011-05-04 Alexandre Oliva <aoliva@redhat.com>
3444
3445 PR other/48093
3446 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
3447
01a5c0ab
AO
34482011-05-04 Alexandre Oliva <aoliva@redhat.com>
3449
3450 PR debug/47994
3451 PR debug/47919
3452 * combine.c (try_combine): Skip debug insns at m_split tests.
3453
6ac00218
MW
34542011-04-26 Mark Wielaard <mjw@redhat.com>
3455
3456 PR42288
3457 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
3458 when info_section_emitted.
3459
3af42a7b
JM
34602011-05-03 Joseph Myers <joseph@codesourcery.com>
3461
3462 * config/mips/mips-opts.h: New.
3463 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
3464 to mips-opts.h.
3465 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
3466 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
3467 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
3468 via opts pointer.
3469 * config/mips/mips.h (enum mips_code_readable_setting): Move to
3470 mips-opts.h.
3471 (mips_abi, mips_code_readable): Don't declare.
843b6915 3472 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
3473 (mabi=): Use Enum and Var.
3474 (mips_abi): New Enum and EnumValue entries.
3475 (mcode-readable=): Use Enum and Var.
3476 (mips_code_readable_setting): New Enum and EnumValue entries.
3477 (mr10k-cache-barrier=): Use Enum and Var.
3478 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
3479
1cb1a99f
JH
34802011-05-03 Jan Hubicka <jh@suse.cz>
3481
3482 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
3483 replace hash by pointer map.
3484 (cgraph_node_set_element_def, cgraph_node_set_element,
3485 const_cgraph_node_set_element, varpool_node_set_element_def,
3486 varpool_node_set_element, const_varpool_node_set_element): Remove.
3487 (free_cgraph_node_set, free_varpool_node_set): New function.
3488 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
3489 * tree-emutls.c: Free varpool node set.
3490 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
3491 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3492 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
3493 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3494 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
3495 Move here from ipa.c; implement using pointer_map
3496 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
3497 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
3498 debug_cgraph_node_set, varpool_node_set_new,
3499 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
3500 dump_varpool_node_set, debug_varpool_node_set):
3501 Move to ipa-uitls.c.
3502 * passes.c (ipa_write_summaries): Update.
3503
7f31f4db
SH
35042011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3505
7a2f7208
UB
3506 From Mike Frysinger:
3507 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
3508 bf542/bf544/bf547/bf548/bf549.
7f31f4db 3509
b70fce6d
UB
35102011-05-03 Uros Bizjak <ubizjak@gmail.com>
3511
3512 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
3513
265b1d82
SH
35142011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3515
3516 From Bernd Schmidt:
3517 * config/bfin/bfin.md (MOVCC): New mode_macro.
3518 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
3519 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
3520 comments from generated assembly.
3521
f0b568f3
SH
35222011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3523
3524 From Bernd Schmidt
3525 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
3526 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
3527 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
3528 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
3529 * config/bfin/lib1funcs.asm (___muldi3): New function.
3530
2c67cf6e
NF
35312011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3532
3533 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
3534 build_function_type_list instead of build_function_type.
3535 Rearrange initialization of `args' to do so.
3536
f9ac28ad
NF
35372011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3538
3539 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
3540 instead of build_function_type.
3541
22b8798c
NF
35422011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3543
3544 * config/rs6000/rs6000.c (spe_init_builtins): Call
3545 build_function_type_list instead of build_function_type.
3546 (paired_init_builtins, altivec_init_builtins): Likewise.
3547 (builtin_function_type): Likewise.
3548
4cb44528
NF
35492011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3550
3551 * config/sh/sh.c (sh_media_init_builtins): Call
3552 build_function_type_list instead of build_function_type.
3553
4c203a6a
NF
35542011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3555
3556 * config/sparc/sparc.c (sparc_file_end): Call
3557 build_function_type_list instead of build_function_type.
3558
d6a3d62b
NF
35592011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3560
3561 * config/alpha/alpha.c (alpha_init_builtins): Call
3562 build_function_type_list instead of build_function_type.
3563
de530b86
NF
35642011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3565
3566 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
3567 build_function_type_list instead of build_function_type.
3568
baeec5f2
NF
35692011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3570
3571 * config/iq2000/i2000.c (iq2000_init_builtins): Call
3572 build_function_type_list instead of build_function_type.
3573 Delete `endlink' variable.
3574
c19afe52
NF
35752011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3576
3577 * config/avr/avr.c (avr_init_builtins): Call
3578 build_function_type_list instead of build_function_type.
3579
a341df0a
NF
35802011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3581
3582 * config/picochip/picochip.c (picochip_init_builtins): Call
3583 build_function_type_list instead of build_function_type.
3584 Delete `endlink' variable.
3585
2102b1e1
NF
35862011-05-03 Nathan Froyd <froydnj@codesourcery.com>
3587
3588 * config/bfin/bfin.c (bfin_init_builtins): Call
3589 build_function_type_list instead of build_function_type.
3590
9f111209
SH
35912011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3592
3593 From Bernd Schmidt
3594 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
3595 that's not CONST_INT. Seemingly redundant check is due to PR39768.
3596
7071d064
SH
35972011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3598
3599 From Jie Zhang:
3600 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
3601 libbffastfp overrides libgcc when -mfast-fp.
3602
748f7574 36032011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
3604
3605 Originally from Bernd Schmidt
3606 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
3607 * config/bfin/bfin.c (override_options): Test it and error if
3608 TARGET_FDPIC.
3609
1a3a9152
SH
36102011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
3611
3612 Originally From Bernd Schmidt
3613 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
3614 FD-PIC.
3615
7134c090
JL
36162011-05-03 Jeff Law <law@redhat.com>
3617
3618 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
3619 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
3620 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
3621 than accessing AUX field directly. Free the AUX field before
3622 clearing it.
7134c090
JL
3623 (thread_block, thread_through_loop_header): Likewise.
3624 (thread_single_edge, mark_threaded_blocks): Likewise.
3625 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
3626 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 3627
2c7eebae
BS
36282011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3629
3630 * function.c (init_function_start): Call decide_function_section.
3631 * varasm.c (decide_function_section): New function.
3632 (assemble_start_function): When not using
3633 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
3634 or first_function_block_is_cold.
3635 * rtl.h (decide_function_section): Declare.
3636
17038fcf
JJ
36372011-05-03 Uros Bizjak <ubizjak@gmail.com>
3638 Jakub Jelinek <jakub@redhat.com>
3639
3640 PR target/48774
3641 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
3642 only succeed if req_mode is the same as set_mode.
3643
3810076b
BS
36442011-05-03 Bernd Schmidt <bernds@codesourcery.com>
3645
3646 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
3647 * genemit.c (gen_exp): Handle RETURN.
3648 * emit-rtl.c (verify_rtx_sharing): Likewise.
3649 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
3650 * rtl.c (copy_rtx): RETURN is shared.
3651 * rtl.h (enum global_rtl_index): Add GR_RETURN.
3652 (ret_rtx): New.
3653 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
3654 * config/s390/s390.c (s390_emit_epilogue): Likewise.
3655 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
3656 * config/cris/cris.c (cris_expand_return): Likewise.
3657 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
3658 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
3659 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
3660 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
3661 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
3662 Likewise.
3663 * config/v850/v850.c (expand_epilogue): Likewise.
3664 * config/bfin/bfin.c (bfin_expand_call): Likewise.
3665 * config/arm/arm.md (epilogue): Likewise.
3666 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
3667 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
3668 variable to ret_reg.
3669
9efdb4ad
RG
36702011-05-03 Richard Guenther <rguenther@suse.de>
3671
3672 PR lto/48846
3673 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
3674 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
3675 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
3676
60a45536
RG
36772011-05-03 Richard Guenther <rguenther@suse.de>
3678
3679 * c-decl.c (grokdeclarator): Instead of looking at
3680 TREE_OVERFLOW check if the constant fits in the index type.
3681
3188ed59
RS
36822011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3683
3684 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
3685 (vec_store_lanes<mode><mode>): Likewise.
3686
272c6793
RS
36872011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3688
3689 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
3690 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
3691 convert_optab_index values.
3692 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
3693 * genopinit.c (optabs): Initialize the new optabs.
3694 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
3695 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
3696 (expand_STORE_LANES): New functions.
3697 * tree.h (build_array_type_nelts): Declare.
3698 * tree.c (build_array_type_nelts): New function.
3699 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
3700 (vect_model_load_cost): Likewise.
3701 (vect_store_lanes_supported, vect_load_lanes_supported)
3702 (vect_record_strided_load_vectors): Declare.
3703 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
3704 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
3705 (vect_transform_strided_load): Split out statement recording into...
3706 (vect_record_strided_load_vectors): ...this new function.
3707 * tree-vect-stmts.c (create_vector_array, read_vector_array)
3708 (write_vector_array, create_array_ref): New functions.
3709 (vect_model_store_cost): Add store_lanes_p argument.
3710 (vect_model_load_cost): Add load_lanes_p argument.
3711 (vectorizable_store): Try to use store-lanes functions for
3712 interleaved stores.
3713 (vectorizable_load): Likewise load-lanes and loads.
3714 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
3715 to vect_model_store_cost.
3716 (vect_build_slp_tree): Likewise vect_model_load_cost.
3717
0f6d54f7
RS
37182011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
3719
3720 * hooks.h (hook_bool_mode_uhwi_false): Declare.
3721 * hooks.c (hook_bool_mode_uhwi_false): New function.
3722 * target.def (array_mode_supported_p): New hook.
3723 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
3724 * doc/tm.texi: Regenerate.
3725 * stor-layout.c (mode_for_array): New function.
3726 (layout_type): Use it.
3727 * config/arm/arm.c (arm_array_mode_supported_p): New function.
3728 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
3729
b15eacc7
EB
37302011-05-03 Eric Botcazou <ebotcazou@adacore.com>
3731
3732 PR target/48723
3733 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
3734 for -fstack-check if the size to allocate is negative.
3735
575bfb00
LC
37362011-05-02 Lawrence Crowl <crowl@google.com>
3737
3738 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
3739 (timevar_cond_start): New for starting a timer only when it is not
3740 already running.
3741 (timevar_cond_stop): New for stopping a timer when it was not already
3742 running.
3743
3744 * timevar.c (timevar_stop): Enable start/stop timers to start again.
3745 (timevar_cond_start): New as above.
3746 (timevar_cond_stop): New as above.
3747
3748 * timevar.def: Add start/stop timers for compiler phases,
3749 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
3750 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
3751 and TV_PHASE_FINALIZE.
3752 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
3753 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
3754 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
3755 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
3756 Make unused TV_OVERLOAD into a start/stop timer.
3757
3758 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
3759 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
3760 to indicate that they are start/stop timers.
3761
3762 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
3763 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
3764 Move initialization to do_compile.
3765 (do_compile): Add initialization from above.
3766 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
3767
3768 * c-decl.c (c_write_global_declarations): Add start/stop of
3769 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
3770
3771 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
3772 or TV_PARSE_INLINE, as appropriate.
3773 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
3774 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
3775
3533b943
JM
37762011-05-02 Jason Merrill <jason@redhat.com>
3777
3778 PR c++/40975
3779 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
3780
2609a0ce
SM
37812011-05-02 Simon Martin <simartin@users.sourceforge.net>
3782
3783 PR c/35445
3784 * c-decl.c (finish_decl): Only create a composite if the types are
3785 compatible.
3786
6b0e4cbb
JM
37872011-05-02 Joseph Myers <joseph@codesourcery.com>
3788
3789 * config/fr30/fr30-protos.h (Mmode): Don't define.
3790 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
3791 definition where used.
3792 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
3793 define. Expand definitions where used.
3794 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
3795 Expand definitions where used.
3796 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
3797 rx_function_arg, rx_function_arg_advance,
3798 rx_function_arg_boundary): Expand definitions of those macros.
3799 * config/v850/v850-protos.h (Mmode): Don't define. Expand
3800 definition where used.
3801
4e938ce6
UB
38022011-05-02 Uros Bizjak <ubizjak@gmail.com>
3803
3804 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
3805 reg<->xmm moves.
3806 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
3807 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
3808 with *movv2sf_internal_rex64_avx.
3809 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
3810 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
3811 Use %v prefix in insn mnemonic to handle TARGET_AVX.
3812 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
3813 "vex" in "prefix" attribute calculation.
3814 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
3815
36019c19
SH
38162011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
3817
7a2f7208
UB
3818 PR target/47951
3819 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
3820 inputs match the output.
36019c19 3821
f69ea688
AS
38222011-05-02 Andreas Schwab <schwab@linux-m68k.org>
3823
3824 PR target/47955
3825 * config/m68k/m68k.c (m68k_expand_prologue): Set
3826 current_function_static_stack_size.
3827
c33406f5
JH
38282011-05-02 Jan Hubicka <jh@suse.cz>
3829
3830 * lto-streamer.c (lto_streamer_cache_insert_1,
3831 lto_streamer_cache_lookup, lto_streamer_cache_create,
3832 lto_streamer_cache_delete): Use pointer map instead of hashtable.
3833 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
3834
47c94d21
JM
38352011-05-02 Joseph Myers <joseph@codesourcery.com>
3836
3837 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
3838 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
3839 config/m68k/t-opts: New files.
3840 * config/m68k/m68k-tables.opt: New file (generated).
3841 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
3842 extra_options and m68k/t-opts to tmake_file.
3843 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
3844 (all_isas): Initialize using m68k-isas.def.
3845 (all_microarchs): Initialize using m68k-microarchs.def.
3846 (m68k_find_selection): Remove.
3847 (m68k_handle_option): Don't assert that global structures are in
3848 use. Use error_at. Access variables via opts pointer. Don't
3849 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
3850 directly for -m68020-40 and -m68020-60.
3851 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
3852 m68k_tune_entry here.
3853 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
3854 to m68k-opts.h.
3855 (m68k_library_id_string): Remove declaration.
4e938ce6 3856 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
3857 (m68k_library_id_string): New Variable.
3858 (march=, mcpu=, mtune=): Use Enum and Var.
3859
e562bf36
RG
38602011-05-02 Richard Guenther <rguenther@suse.de>
3861
3862 * varasm.c (output_constructor_regular_field): Compute zero-based
3863 index with double-ints. Make sure to ICE instead of producing
3864 wrong code.
3865 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
3866 in asserts. Properly use a signed type.
3867
6bec6c98
UB
38682011-05-02 Uros Bizjak <ubizjak@gmail.com>
3869
3870 * config/i386/sse.md (V): New mode iterator.
3871 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
3872 TARGET_SSE2.
3873 (V_256): Rename from AVX256MODE.
3874 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
3875 condition to all users.
3876 (VF1): Ditto.
3877 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
3878 condition to all users.
3879 (VF_128): Make V4SF mode unconditional.
3880 (VF_256): Rename from AVX256MODEF2P.
3881 (VI4F_128): Rename from SSEMODE4S.
3882 (VI8F_128): Rename from SSEMODE2D.
3883 (VI4F_256): Rename from AVX256MODE8P.
3884 (VI8F_256): Rename from AVX256MODE4P.
3885 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
3886 (ssescalarmodesuffix): Remove SF and DF modes.
3887 (SSEMODE124): Remove.
3888 (SSEMODE1248): Ditto.
3889 (SSEMODEF2P): Ditto.
3890 (AVXMODEF2P): Ditto.
3891 (AVXMODEFDP): Ditto.
3892 (AVXMODEFSP): Ditto.
3893 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
3894 unconditional.
3895 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
3896 unconditional.
3897 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
3898 xop_pcmov_<mode>256. Use V mode iterator.
3899
3900 Adjust RTX patterns globally for renamed mode attributes.
3901
2dfdcb4b
UW
39022011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3903
3904 * haifa-sched.c (sched_emit_insn): Emit insn before first
3905 non-scheduled insn. Inform back-end about new insn. Add
3906 new insn to scheduled_insns list.
3907
90bc4623
RG
39082011-05-02 Richard Guenther <rguenther@suse.de>
3909
3910 PR tree-optimization/48822
3911 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
3912 (process_scc): Indicate which iteration we start.
3913
bc0fe8cb
JH
39142011-05-02 Jan Hubicka <jh@suse.cz>
3915
3916 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
3917 (lto_section_overrun): New.
3918 * lto-section-out.c (append_block): Rename to ...
3919 (lto_append_block): ... this one; export.
3920 (lto_output_1_stream): Move lto lto-streamer.h
3921 (lto_output_data_stream): Update.
3922 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
3923 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
3924 functions.
3925
f070a9d1
RG
39262011-05-02 Richard Guenther <rguenther@suse.de>
3927
3928 * tree.c (tree_code_counts): New global array.
3929 (record_node_allocation_statistics): Count individual tree codes.
3930 (dump_tree_statistics): Dump individual code stats.
3931
09dfe187
JH
39322011-05-01 Jan Hubicka <jh@suse.cz>
3933
3934 * ipa-inline.c (caller_growth_limits): Fix thinko when
3935 looking for largest stack frame.
3936 * ipa-inline.h (dump_inline_summary): Declare.
3937 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
3938 on stack usage.
3939 (dump_inline_summary): Export.
3940 (debug_inline_summary): Declare as DEBUG_FUNCTION.
3941
6f76a878
AS
39422011-05-01 Anatoly Sokolov <aesok@post.ru>
3943
3944 * reginfo.c (memory_move_cost): Change rclass argument type form
3945 'enum reg_class' to reg_class_t.
3946 * reload.h (memory_move_cost): Update prototype.
3947 * postreload.c reload_cse_simplify_set): Change type dclass var to
3948 reg_class_t.
3949 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
3950 Update prototype.
3951 (ira_allocate_and_set_costs): Change aclass argument type form
3952 'enum reg_class' to reg_class_t.
6bec6c98 3953 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
3954 Change aclass argument type to reg_class_t.
3955 (update_conflict_hard_reg_costs): Change type aclass and pref vars
3956 to reg_class_t.
3957 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
3958 memory_move_cost call.
3959
3960 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
3961 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
3962 Change type tmp var to reg_class_t.
3963
9a4ac625
JH
39642011-04-30 Jan Hubicka <jh@suse.cz>
3965
3966 * ipa-inline.c (can_inline_edge_p): Disregard limits when
3967 inlining into function with flatten attribute.
3968 (want_inline_small_function_p): Be more realistic about inlining
3969 cold calls where callee size grows.
3970
dd8352ee
JH
39712011-04-30 Jan Hubicka <jh@suse.cz>
3972
3973 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
3974 flags.
3975
46e43d2b
AS
39762011-04-30 Anatoly Sokolov <aesok@post.ru>
3977
3978 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
3979 PRINT_OPERAND_PUNCT_VALID_P): Remove.
3980 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
3981 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
3982 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3983 (print_operand): Rename to...
3984 (sparc_print_operand): ...this. Make static. Adjust
3985 sparc_print_operand function call.
3986 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
3987 functions.
3988
ecb62563
JH
39892011-04-30 Jan Hubicka <jh@suse.cz>
3990
6bec6c98 3991 PR middle-end/48752
ecb62563
JH
3992 * ipa-inline.c (early_inliner): Disable when doing late
3993 addition of function.
3994
edb9b69e
JJ
39952011-04-30 Jakub Jelinek <jakub@redhat.com>
3996
be80a87e
JJ
3997 * dwarf2out.c (get_address_mode): New inline.
3998 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
3999 if not dwarf_strict emit
4000 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
4001 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
4002 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
4003 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
4004 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
4005 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
4006 mem_loc_descriptor callers.
4007 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
4008 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
4009 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
4010 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
4011 (base_types): New variable.
4012 (get_base_type_offset, calc_base_type_die_sizes,
4013 base_type_for_mode, mark_base_types, base_type_cmp,
4014 move_marked_base_types): New functions.
4015 (calc_die_sizes): Assert that die_offset is 0 or equal to
4016 next_die_offset.
4017 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
4018 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
4019 callers. If not dwarf_strict, call mem_loc_descriptor even for
4020 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
4021 (gen_subprogram_die): Don't give up on call site parameters
4022 with non-integral or large integral modes. Adjust
4023 mem_loc_descriptor callers.
4024 (prune_unused_types): Call prune_unused_types_mark on base_types
4025 vector entries.
4026 (resolve_addr): Call mark_base_types.
4027 (dwarf2out_finish): Call move_marked_base_types.
4028
edb9b69e
JJ
4029 PR tree-optimization/48809
4030 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
4031 type.
4032 (gen_inbound_check): Don't compute index_expr - range_min in utype
4033 again, instead reuse SSA_NAME initialized in build_arrays.
4034 Remove two useless gsi_for_stmt calls.
4035
a6545a3d
JL
40362011-04-29 Jeff Law <law@redhat.com>
4037
4038 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
4039
af8bca3c
MJ
40402011-04-29 Martin Jambor <mjambor@suse.cz>
4041
4042 * cgraph.h (cgraph_postorder): Remove declaration.
4043 * ipa-utils.h (ipa_free_postorder_info): Declare.
4044 (ipa_reverse_postorder): Likewise.
4045 * cgraphunit.c: Include ipa-utils.h.
4046 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
4047 * ipa-inline.c: Include ipa-utils.h.
4048 (ipa_inline): Update call to ipa_reverse_postorder.
4049 * ipa-pure-const.c (propagate_pure_const): Update call to
4050 ipa_reduced_postorder and ipa_print_order. Call
4051 ipa_free_postorder_info to clean up.
4052 (propagate_nothrow): Likewise.
4053 * ipa-reference.c (propagate): Removed a useless call to
4054 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
4055 and ipa_print_order. Call ipa_free_postorder_info to clean up.
4056 * ipa.c: Include ipa-utils.h.
4057 (ipa_profile): Update call to ipa_reverse_postorder.
4058 (cgraph_postorder): Moved to...
4059 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
4060 (ipa_utils_print_order): Renamed to ipa_print_order.
4061 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
4062 comments.
4063 (ipa_free_postorder_info): New function.
4064 * passes.c: Include ipa-utils.h.
4065 (do_per_function_toporder): Update call to ipa_reverse_postorder.
4066 (ipa_write_summaries): Likewise.
4067 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
4068 (cgraphunit.o): Likewise.
4069 (ipa.o): Likewise.
4070 (ipa-inline.o): Likewise.
4071
b15c64ee
JH
40722011-04-29 Jan Hubicka <jh@suse.cz>
4073
4074 * gcc.dg/tree-ssa/inline-10.c: New testcase.
4075 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
4076 * ipa-inline.h (clause_t): Turn into unsigned int.
4077 * ipa-inline-analysis.c (add_clause): Do more simplification.
4078 (and_predicates): Shortcut more cases.
4079 (predicates_equal_p): Move forward; check that clauses are properly
4080 ordered.
4081 (or_predicates): Shortcut more cases.
4082 (edge_execution_predicate): Rewrite as...
4083 (set_cond_stmt_execution_predicate): ... this function; handle
4084 __builtin_constant_p.
4085 (set_switch_stmt_execution_predicate): New .
4086 (compute_bb_predicates): New.
4087 (will_be_nonconstant_predicate): Update TODO.
4088 (estimate_function_body_sizes): Use compute_bb_predicates
4089 and free them later, always try to estimate if stmt is constant.
4090 (estimate_time_after_inlining, estimate_size_after_inlining):
4091 Gracefully handle optimized out edges.
4092 (read_predicate): Fix off by one error.
4093
a88fdc2a
NP
40942011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
4095
4096 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
4097
d984c8ef
XDL
40982011-04-27 Xinliang David Li <davidxl@google.com>
4099
4100 * tree-profile.c (init_ic_make_global_vars): Set
4101 tls attribute on ic vars.
4102 * coverage.c (coverage_end_function): Initialize
4103 function_list with zero.
4104
45a2c477
RG
41052011-04-29 Richard Guenther <rguenther@suse.de>
4106
4107 * builtins.c (fold_builtin_classify_type): Use integer_type_node
4108 for the type of the result.
4109 (fold_builtin_isascii): Likewise.
4110 (fold_builtin_toascii): Use integer_type_node where appropriate.
4111 (fold_builtin_logb): Likewise.
4112 (fold_builtin_frexp): Likewise.
4113 (fold_builtin_strstr): Likewise.
4114 (fold_builtin_strpbrk): Likewise.
4115 (fold_builtin_fputs): Likewise.
4116 (fold_builtin_sprintf): Likewise.
4117 (fold_builtin_snprintf): Likewise.
4118 (fold_builtin_printf): Likewise.
4119 (do_mpfr_remquo): Use a proper type for the assigned constant.
4120 (do_mpfr_lgamma_r): Likewise.
4121 * dwarf2out.c (resolve_one_addr): Use size_int.
4122 * except.c (init_eh): Likewise.
4123 (assign_filter_values): Use integer_type_node for filter values.
4124 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
4125 indices.
4126 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
4127 for EH region numbers.
4128 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
4129 for the shift amount.
4130
eb6c3df1
RG
41312011-04-29 Richard Guenther <rguenther@suse.de>
4132
4133 * expr.h (expand_shift): Rename to ...
4134 (expand_variable_shift): ... this.
4135 (expand_shift): Take a constant shift amount.
4136 * expmed.c (expand_shift): Rename to ...
4137 (expand_variable_shift): ... this.
4138 (expand_shift): New wrapper around expand_variable_shift.
4139 * expr.c (convert_move, emit_group_load_1, emit_group_store,
4140 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
4141 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
4142 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
4143 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
4144 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
4145 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
4146 emit_store_flag_1, emit_store_flag): Likewise.
4147 * builtins.c (expand_builtin_signbit): Likewise.
4148 * calls.c (load_register_parameters): Likewise.
4149 * function.c (assign_parm_setup_block): Likewise.
4150 * lower-subreg.c (resolve_shift_zext): Likewise.
4151 * optabs.c (widen_bswap, expand_abs_nojump,
4152 expand_one_cmpl_abs_nojump, expand_float): Likewise.
4153 * spu/spu.c (spu_expand_extv): Likewise.
4154 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
4155
9f616812
RG
41562011-04-29 Richard Guenther <rguenther@suse.de>
4157
4158 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
4159 for the remapped region number.
4160 * predict.c (build_predict_expr): Use integer_type_node for the
4161 predict kind.
4162 * fold-const.c (fold_binary_loc): Use integer_type_node for
4163 the shift amount. Use a proper type for the PLUS_EXPR operand.
4164
b823cdfe
MM
41652011-04-29 Michael Matz <matz@suse.de>
4166
4167 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
4168 other trees that just builtins.
4169 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
4170
413581ba
RG
41712011-04-29 Richard Guenther <rguenther@suse.de>
4172
4173 * tree-nested.c (get_trampoline_type): Use size_int.
4174 (get_nl_goto_field): Likewise.
4175 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
4176 for all indexes.
4177 (lower_eh_constructs_2): Likewise.
4178 (lower_resx): Likewise.
4179 (lower_eh_dispatch): Likewise.
4180 * tree-mudflap.c (mf_build_string): Use size_int.
4181 (mudflap_register_call): Use integer_type_node for the flag.
4182 (mudflap_enqueue_constant): Use size_int.
4183 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
4184 instead of rebuilding it.
4185
5c04e9f4
RG
41862011-04-29 Richard Guenther <rguenther@suse.de>
4187
4188 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
4189 Handle OBJ_TYPE_REF.
4190 (find_func_aliases_for_call): Use it more consistently.
4191
5c24671b
AO
41922011-04-29 Alexandre Oliva <aoliva@redhat.com>
4193
4194 * haifa-sched.c (last_nondebug_scheduled_insn): New.
4195 (rank_for_schedule): Use it.
4196 (schedule_block): Set it.
4197
10adac51
XDL
41982011-04-28 David Li <davidxl@google.com>
4199
4200 * tree.c (crc32_string): Use crc32_byte.
4201 (crc32_byte): New function.
4202 * tree.h (crc32_byte): New function.
4203 * gcov.c (read_graph_file): Handle new cfg_cksum.
4204 (read_count_file): Ditto.
4205 * profile.c (instrument_values): Ditto.
4206 (get_exec_counts): Ditto.
4207 (read_profile_edge_counts): Ditto.
4208 (compute_branch_probabilities): Ditto.
4209 (compute_value_histograms): Ditto.
4210 (branch_prob): Ditto.
4211 (end_branch_prob): Ditto.
4212 * coverage.c (read_counts_file): Ditto.
4213 (get_coverage_counts): Ditto.
4214 (tree_coverage_counter_addr): Ditto.
4215 (coverage_checksum_string): Ditto.
4216 (coverage_begin_output): Ditto.
4217 (coverage_end_function): Ditto.
4218 (build_fn_info_type): Ditto.
4219 (build_fn_info_value): Ditto.
4220 * libgcov.c (gcov_exit): Ditto.
4221 * gcov-dump.c (tag_function): Ditto.
4222 (compute_checksum): Remove.
4223
5d6358a5
AM
42242011-04-29 Alan Modra <amodra@gmail.com>
4225
4226 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4227 unspec plus offset. Tidy macho code.
4228
85ad2ef5
MJ
42292011-04-29 Martin Jambor <mjambor@suse.cz>
4230
4231 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
4232 node instead of a decl. Update all callers.
4233 * cgraph.h: Update declaration.
4234
437f4a00
IR
42352011-04-28 Ira Rosen <ira.rosen@linaro.org>
4236
4237 PR tree-optimization/48765
4238 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
4239 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
4240 to indicate if loop aware SLP is being used. Scan the statements
4241 and update the vectorization factor according to the type of
4242 vectorization before statement analysis.
4243 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
4244 pass it to vect_analyze_loop_operations.
4245 (vectorizable_reduction): Set number of copies to 1 in case of pure
4246 SLP statement.
4247 * tree-vect-stmts.c (vectorizable_conversion,
4248 vectorizable_assignment, vectorizable_shift,
4249 vectorizable_operation, vectorizable_type_demotion,
4250 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
4251 Likewise.
4252 (vectorizable_condition): Move the check that it is not SLP
4253 vectorization before the number of copies check.
4254 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
4255 to vectorize the loop using SLP.
4256
c6fc44f3
JJ
42572011-04-28 Jakub Jelinek <jakub@redhat.com>
4258
4259 PR middle-end/48597
4260 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
4261 inline asm.
4262
6c0170ea
JM
42632011-04-28 Joseph Myers <joseph@codesourcery.com>
4264
4265 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
4266 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
4267 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4268 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4269 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
4270 linux*.h headers.
6bec6c98 4271 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
4272 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
4273 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
4274 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 4275 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
4276 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
4277 REG_NAME.
4278 * config/i386/linux.h (REG_NAME): Don't define.
4279 * config/i386/linux64.h (REG_NAME): Don't define.
4280 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
4281 Undefine before defining.
4282
970dabbd
JH
42832011-04-28 Jan Hubicka <jh@suse.cz>
4284
6bec6c98
UB
4285 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
4286 nonconstant_names array.
970dabbd
JH
4287 (estimate_function_body_sizes): Build nonconstant_names array; handle
4288 BUILT_IN_CONSTANT_P.
4289
8d3e3924
RG
42902011-04-28 Richard Guenther <rguenther@suse.de>
4291
4292 PR bootstrap/48804
4293 Revert
4294 2011-04-28 Richard Guenther <rguenther@suse.de>
4295
4296 * tree-ssa-structalias.c (solve_constraints): Build succ graph
4297 as late as possible.
6bec6c98 4298
8576f20a
RG
42992011-04-28 Richard Guenther <rguenther@suse.de>
4300
4301 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
4302 (debug_constraint): Do it here.
4303 (dump_constraints): And here.
4304 (rewrite_constraints): And here.
4305 (dump_constraint_edge): Remove.
4306 (dump_constraint_graph): Rewrite to produce DOT output.
4307 (solve_constraints): Build succ graph as late as possible.
4308 Dump constraint graphs before and after solving.
4309
e38811ce
RG
43102011-04-28 Richard Guenther <rguenther@suse.de>
4311
4312 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
4313 New function split out from ...
4314 (find_func_aliases): ... here. Call it.
4315 (find_func_aliases_for_call): Likewise.
4316
fbaf0d0c
GDR
43172011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
4318
4319 * internal-fn.h (internal_fn_name_array): Declare.
4320 (internal_fn_flags_array): Likewise.
4321
cbb734aa
UB
43222011-04-27 Uros Bizjak <ubizjak@gmail.com>
4323
4324 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
4325 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
4326 Move from sse.md.
4327 (ssemodefsuffix): Remove.
4328 (ssevecmodesuffix): New mode attribute.
4329 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
4330 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
4331 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
4332 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
4333 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
4334 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
4335 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
4336 ssemodesuffix mode attribute.
4337 (float splitters): Use ssevecmodesuffix mode attribute.
4338 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
4339 (sseinsmode): Rename from avxvecmode.
4340 (avxsizesuffix): Rename from avxmodesuffix.
4341 (sseintvecmode): Rename from avxpermvecmode.
4342 (ssedoublevecmode): Rename from ssedoublesizemode.
4343 (ssehalfvecmode): Rename from avxhalfvecmode.
4344 (ssescalarmode): Rename from avxscalarmode.
4345 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
4346 templates for ssemodesuffix mode attribute.
4347 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
4348 mode attribute.
4349
4350 Adjust RTX patterns globally for renamed mode attributes.
4351
991278ab
JH
43522011-04-27 Jan Hubcika <jh@suse.cz>
4353
4354 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
4355 * ipa-inline-analysis.c: Include alloc-pool.h.
4356 (edge_predicate_pool): New.
4357 (trye_predicate_p): New function
4358 (false_predicate_p): New function.
4359 (add_clause): Sanity check that false clauses are "optimized";
4360 never add clauses to predicate that is already known to be false.
4361 (and_predicate): Use flase_predicate_p.
4362 (evaulate_predicate): Rename to ...
4363 (evaluate_predicate): ... this one; update all callers; assert
4364 that false is not listed among possible truths.
4365 (dump_predicate): Use true_predicate_p.
4366 (account_size_time): Use false_predicate_p.
4367 (evaulate_conditions_for_edge): Rename to ...
4368 (evaluate_conditions_for_edge) ... this one.
4369 (edge_set_predicate): New function.
4370 (inline_edge_duplication_hook): Duplicate edge predicates.
4371 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 4372 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
4373 (dump_inline_summary): Update.
4374 (estimate_function_body_sizes): Set edge predicates.
4375 (estimate_calls_size_and_time): Handle predicates.
4376 (estimate_callee_size_and_time): Update.
4377 (remap_predicate): Add toplev_predicate; update comment.
4378 (remap_edge_predicates): New function.
4379 (inline_merge_summary): Compute toplev predicate; update.
4380 (read_predicate): New function.
4381 (read_inline_edge_summary): Use it.
4382 (inline_read_section): Likewise.
4383 (write_predicate): New function.
4384 (write_inline_edge_summary): Use it.
4385 (inline_write_summary): Likewise.
4386 (inline_free_summary): Free alloc pool and edge summary vec.
4387
648b5f85
RG
43882011-04-27 Richard Guenther <rguenther@suse.de>
4389
4390 * tree-ssa-structalias.c (changed_count): Remove.
4391 (changed): Use a bitmap.
4392 (unify_nodes): Adjust.
4393 (do_sd_constraint): Likewise.
4394 (do_ds_constraint): Likewise.
4395 (do_complex_constraint): Likewise.
4396 (solve_graph): Likewise.
4397
4d5dcfb2
JH
43982011-04-27 Jan Hubicka <jh@suse.cz>
4399
4400 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
4401
200eb7d2
UB
44022011-04-27 Uros Bizjak <ubizjak@gmail.com>
4403
4404 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
4405 (avx_vperm2f128_*_operand): Ditto.
4406 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
4407 Use avx_vpermilp_parallel in insn condition.
4408 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
4409 Use avx_vperm2f128_parallel in insn condition.
4410
7d6e2521
RG
44112011-04-27 Richard Guenther <rguenther@suse.de>
4412
4413 * Makefile.in (tree-ssa-structalias.o): Remove
4414 gt-tree-ssa-structalias.h dependency.
4415 (GTFILES): Remove tree-ssa-structalias.c.
4416 * tree.c (allocate_decl_uid): New function.
4417 (make_node_stat): Use it.
4418 (copy_node_stat): Likewise.
4419 * tree.h (allocate_decl_uid): Declare.
4420 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
4421 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
4422 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 4423 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
4424 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
4425 (struct heapvar_map): Likewise.
4426 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
4427 heapvar_insert): Likewise.
4428 (make_heapvar_for): Rename to ...
4429 (make_heapvar): ... this. Simplify.
4430 (fake_var_decl_obstack): New global var.
4431 (build_fake_var_decl): New function.
4432 (make_constraint_from_heapvar): Adjust.
4433 (handle_lhs_call): Likewise.
4434 (create_function_info_for): Likewise.
4435 (intra_create_variable_infos): Likewise.
4436 (init_alias_vars): Allocate fake_var_decl_obstack.
4437 (init_alias_heapvars, delete_alias_heapvars): Remove.
4438 (compute_points_to_sets): Do not call init_alias_heapvars.
4439 (ipa_pta_execute): Likewise.
4440 (delete_points_to_sets): Free fake_var_decl_obstack.
4441
526ed6c2
UW
44422011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4443
4444 * config/spu/divmovti4.c (union qword_UTItype): New data type.
4445 (si_from_UTItype, si_to_UTItype): New functions.
4446 (__udivmodti4): Use them to implement type-punning.
4447 * config/spu/multi3.c (union qword_TItype): New data type.
4448 (si_from_TItype, si_to_TItype): New functions.
4449 (__multi3): Use them to implement type-punning.
4450
c187d33c
UW
44512011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4452
4453 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
4454
40982661
JH
44552011-04-27 Jan Hubicka <jh@suse.cz>
4456
4457 * ipa-prop.c (function_insertion_hook_holder): New holder.
4458 (ipa_add_new_function): New function.
200eb7d2
UB
4459 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
4460 Register/deregister holder.
40982661 4461
9aef53ee
RG
44622011-04-27 Richard Guenther <rguenther@suse.de>
4463
4464 PR tree-optimization/48772
200eb7d2 4465 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 4466
f63d806d
RG
44672011-04-27 Richard Guenther <rguenther@suse.de>
4468
4469 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
4470 TARGET_MEM_REF handling.
4471
e1ea7451
NC
44722011-04-27 Nick Clifton <nickc@redhat.com>
4473
9b5db25d
NC
4474 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
4475 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
4476 (REG_CLASS_NAMES): Likewise.
4477 (REG_CLASS_CONTENTS): Likewise.
4478 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4479 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
4480 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
4481 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
4482 (EVEN_REGS): New macro. Alias for QUAD_REGS.
4483 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
4484 duplicate register classes.
97d20907 4485 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
4486 (frv_register_move_cost): Likewise.
4487
e1ea7451
NC
4488 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
4489 end of the regno_reg_class array.
4490
5c2f94b4
JJ
44912011-04-27 Jakub Jelinek <jakub@redhat.com>
4492
4493 PR c/48742
4494 * c-typeck.c (build_binary_op): Don't wrap arguments if
4495 int_operands is true.
4496
57a944d7
KK
44972011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
4498
4499 PR target/48767
4500 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
4501 targetm.calls.must_pass_in_stack for void type.
4502
898b8927
JH
45032011-04-26 Jan Hubicka <jh@suse.cz>
4504
4505 * cgraphbuild.c (build_cgraph_edges): Update call
4506 of cgraph_create_edge and cgraph_create_indirect_edge.
4507 * cgraph.c (cgraph_create_edge_including_clones,
4508 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
4509 cgraph_update_edges_for_call_stmt_node): Do not take nest
4510 argument; do not initialize call_stmt_size/time.
4511 (dump_cgraph_node): Do not dump nest.
4512 (cgraph_clone_edge): Do not take loop_nest argument;
4513 do not propagate it; do not clone call_stmt_size/time.
4514 (cgraph_clone_node): Likewise.
4515 (cgraph_create_virtual_clone): Update.
4516 * cgraph.h (struct cgraph_edge): Remove
4517 call_stmt_size/call_stmt_time/loop_nest.
4518 (cgraph_create_edge, cgraph_create_indirect_edge,
4519 cgraph_create_edge_including_clones, cgraph_clone_node): Update
4520 prototype.
4521 * tree-emutls.c (gen_emutls_addr): Update.
4522 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
4523 loop_nest; handle indirect calls, too.
4524 (clone_inlined_nodes): Do not care about updating inline summaries.
4525 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
4526 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
4527 stream call_stmt_size/call_stmt_time/loop_nest.
4528 * ipa-inline.c (edge_badness): Update.
4529 (ipa_inline): dump summaries after inlining.
4530 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 4531 New.
898b8927
JH
4532 (inline_edge_summary): New function.
4533 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
4534 (inline_edge_removal_hook): Handle edge summaries.
4535 (inline_edge_duplication_hook): New hook.
4536 (inline_summary_alloc): Alloc hooks.
4537 (initialize_growth_caches): Do not register removal hooks.
4538 (free_growth_caches); Do not free removal hook.
4539 (dump_inline_edge_summary): New function.
4540 (dump_inline_summary): Use it.
4541 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
4542 (inline_update_callee_summaries): New function.
4543 (inline_merge_summary): Use it.
4544 (do_estimate_edge_time, do_estimate_edge_growth): Update.
4545 (read_inline_edge_summary): New function.
4546 (inline_read_section): Use it.
4547 (write_inline_edge_summary): New function.
4548 (inline_write_summary): Use it.
4549 (inline_free_summary): Free edge new holders.
4550 * tree-inline.c (copy_bb): Update.
4551
ffa03772
JM
45522011-04-26 Jason Merrill <jason@redhat.com>
4553
4554 * tree-eh.c (lower_try_finally_switch): Create the label along with
4555 the CASE_LABEL_EXPR.
4556
6d7b45ad
DM
45572011-04-26 David S. Miller <davem@davemloft.net>
4558 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4559
4560 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
4561 * configure: Regenerate.
4562
df10b6d4
MM
45632011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
4564
4565 PR target/48258
4566 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
4567 reduction.
4568 (VEC_reduc): New code iterator and splitters for vector reduction.
4569 (VEC_reduc_name): Ditto.
4570 (VEC_reduc_rtx): Ditto.
4571 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
4572 (reduc_<VEC_reduc_name>_v4sf): Ditto.
4573
4574 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
4575 support for extracting SF on VSX.
4576
4577 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
4578 generating xscvspdp.
4579 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
4580 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
4581 double add, minimum, maximum vector reduction.
4582 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
4583 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
4584 optimize double vector reduction.
4585 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
4586
35a5db04
JM
45872011-04-26 Joseph Myers <joseph@codesourcery.com>
4588
4589 * config/fr30/fr30.h (inhibit_libc): Don't define.
4590 * config/m32r/m32r-protos.h: Correct comment.
4591 * config/v850/v850.h (GHS_default_section_names,
4592 GHS_current_section_names): Use tree, not union tree_node *.
4593
2f964ad6
XDL
45942011-04-26 Xinliang David Li <davidxl@google.com>
4595
200eb7d2 4596 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
4597 * c-family/c-opts.c (c_common_handle_option): Set
4598 warn_maybe_uninitialized.
4599 * opts.c (common_handle_option): Ditto.
4600 * common.opt: New option.
4601 * tree-ssa.c (warn_uninit): Add one more parameter.
4602 (warn_uninitialized_var): Pass warning code.
4603 * tree-flow.h: Interface change.
4604
9c7bd91a
RO
46052011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4606
200eb7d2 4607 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
4608 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
4609 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
4610
c2f36e21
RO
46112011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4612
4613 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
4614 * config/mips/mips.opt (mmips-tfile): Remove.
4615
4616 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
4617 mips-tdump reference to ...
200eb7d2 4618 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
4619 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
4620 reference by Tru64 UNIX.
4621
2c9da85b
JJ
46222011-04-26 Jakub Jelinek <jakub@redhat.com>
4623
0c5f6539
JJ
4624 PR debug/48768
4625 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
4626 is error_mark_node, set value to NULL.
4627
2c9da85b
JJ
4628 PR tree-optimization/48734
4629 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
4630 if return value from maybe_fold_*_comparsions isn't something
4631 the code is prepared to handle.
4632
77fa1d54
UB
46332011-04-26 Uros Bizjak <ubizjak@gmail.com>
4634
4635 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
4636 mode check.
4637 (ext_QIreg_nomode_operands): Remove.
4638 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
4639 (*andsi_1): Ditto.
4640 (*andhi_1): Ditto.
4641
0e2a6c2b
AS
46422011-04-26 Andrew Stubbs <ams@codesourcery.com>
4643
4644 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
4645
961562d8
RB
46462011-04-26 Richard Guenther <rguenther@suse.de>
4647
4648 * c-typeck.c (build_unary_op): Do not expand array-refs via
4649 pointer arithmetic. Only adjust qualifiers for function types.
4650
46512011-04-26 Richard Guenther <rguenther@suse.de>
4652
4653 PR middle-end/48694
4654 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
4655 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
4656 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
4657 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 4658
a0d260fc
PC
46592011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4660
6bec6c98 4661 * doc/extend.texi: Document __underlying_type.
a0d260fc 4662
4d583bb9
SB
46632011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
4664
4665 * config/rs6000/titan.md (automata_option "progress"): Remove.
4666
1f3fcdc3
JL
46672011-04-25 Jeff Law <law@redhat.com>
4668
4669 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
4670
e5b0dad8
JK
46712011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
4672
4673 * system.h (ENUM_BITFIELD): Remove.
4674
5157a881 46752011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 4676 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
4677
4678 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
4679 for STORE_FLAG_VALUE==-1 case.
4680
ed4c109e
RS
46812011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
4682
4683 PR target/43804
4684 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
4685 LEGITIMATE_PIC_OPERAND_P.
4686
f3181aa2
JH
46872011-04-24 Jan Hubicka <jh@suse.cz>
4688
4689 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
4690 WPA hack.
77fa1d54
UB
4691 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
4692 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
4693 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
4694 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
4695 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
4696 Sanity check predicate length.
4697 (remap_predicate): Likewise; sanity check jump functions.
4698 (inline_read_section, inline_write_summary): Sanity check
4699 predicate length.
4700
5307cbaa
PC
47012011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
4702
4703 PR other/48748
4704 * doc/extend.texi (Type Traits): Document __is_standard_layout,
4705 __is_literal_type, and __is_trivial; update throughout about
4706 possibly cv-qualified void types.
4707
bebd5f99
GP
47082011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
4709
4710 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
4711 testsuite and make it version agnostic.
4712
7ee28a74
JH
47132011-04-22 Jan Hubicka <jh@suse.cz>
4714
4715 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
4716
16997bc0
JJ
47172011-04-23 Jakub Jelinek <jakub@redhat.com>
4718
4719 PR c/48685
4720 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
4721 to VOID_TYPE even around MODIFY_EXPR.
4722
f94d4ab1
MS
47232011-04-22 Mike Stump <mikestump@comcast.net>
4724
1a84c183 4725 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
4726 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
4727 comment.
4728
632b4f8e
JH
47292011-04-22 Jan Hubicka <jh@suse.cz>
4730
4731 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
4732 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
4733 ipa-prop.c; update all uses.
632b4f8e 4734 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
4735 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
4736 merge summary of inlined function into former caller.
632b4f8e
JH
4737 * ipa-inline.c (max_benefit): Remove.
4738 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
4739 (update_caller_keys): Use
4740 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
4741 (update_callee_keys): Likewise.
4742 (update_all_callee_keys): Likewise.
77fa1d54
UB
4743 (inline_small_functions): Do not collect max_benefit; do not reset
4744 estimated_growth; call free_growth_caches and initialize_growth_caches.
4745 * ipa-inline.h (struct condition, type clause_t, struct predicate,
4746 struct size_time_entry): New structures.
632b4f8e 4747 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
4748 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
4749 and estimated_growth.
632b4f8e
JH
4750 (edge_growth_cache_entry): New structure.
4751 (node_growth_cache, edge_growth_cache): New global vars.
4752 (estimate_growth): Turn into inline.
4753 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
4754 initialize_growth_caches, free_growth_caches): Declare.
4755 (estimate_edge_growth): Rewrite.
4756 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
4757 (reset_node_growth_cache, reset_edge_growth_cache): New inline
4758 functions.
632b4f8e
JH
4759 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
4760 (NUM_CONDITIONS): New constant.
4761 (predicate_conditions): New enum.
4762 (IS_NOT_CONSTANT): New constant.
4763 (edge_removal_hook_holder): New var.
4764 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
4765 (true_predicate, single_cond_predicate, false_predicate,
4766 not_inlined_predicate, add_condition, add_clause, and_predicates,
4767 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
4768 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
4769 evaulate_conditions_for_edge): New functions.
4770 (inline_summary_alloc): Move to heap.
4771 (inline_node_removal_hook): Clear condition and entry vectors.
4772 (inline_edge_removal_hook): New function.
4773 (initialize_growth_caches, free_growth_caches): New function.
4774 (dump_inline_summary): Update.
4775 (edge_execution_predicate): New function.
4776 (will_be_nonconstant_predicate): New function.
4777 (estimate_function_body_sizes): Compute BB and constantness predicates.
4778 (compute_inline_parameters): Do not clear estimated_growth.
4779 (estimate_edge_size_and_time): New function.
4780 (estimate_calls_size_and_time): New function.
4781 (estimate_callee_size_and_time): New function.
4782 (remap_predicate): New function.
4783 (inline_merge_summary): New function.
4784 (do_estimate_edge_time): New function based on...
4785 (estimate_edge_time): ... this one.
4786 (do_estimate_edge_growth): New function.
4787 (do_estimate_growth): New function based on....
4788 (estimate_growth): ... this one.
4789 (inline_analyze_function): Analyze after deciding on jump functions.
4790 (inline_read_section): New function.
4791 (inline_read_summary): Use it.
4792 (inline_write_summary): Write all the new data.
4793 * ipa-prop.c (ipa_get_param_decl_index): Export.
4794 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
4795 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
4796 Declare.
4797 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
4798 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
4799 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
4800 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
4801 cgraph_edge_inlinable_p): Remove.
4802 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
4803 (cgraph_process_new_functions): Update call of
4804 compute_inline_parameters.
632b4f8e 4805
1df5b0db
RG
48062011-04-22 Richard Guenther <rguenther@suse.de>
4807
4808 * tree.c (build_int_cst): Properly create canonicalized integer
4809 constants.
4810 (build_int_cst_type): Remove scary comments.
4811
ae01169c
XDL
48122011-04-22 Xinliang David Li <davidxl@google.com>
4813
4814 * toplev.c (process_options): Enable -Werror=coverage-mismatch
4815 by default when -Wno-error is not specified.
4816 * opts-global.c (decode_options): Remove call to
4817 control_warning_options.
4818
93dfac24
JJ
48192011-04-22 Jakub Jelinek <jakub@redhat.com>
4820
4821 PR tree-optimization/48717
4822 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
4823 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
4824
1b5f5069
JM
48252011-04-22 Joseph Myers <joseph@codesourcery.com>
4826
4827 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
4828 definition where used.
4829
144f4153
JJ
48302011-04-22 Jakub Jelinek <jakub@redhat.com>
4831
4832 PR c/48716
4833 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
4834 TREE_STATIC variables declared inside of some OpenMP construct.
4835
f9fd305b
MJ
48362011-04-22 Martin Jambor <mjambor@suse.cz>
4837
4838 PR middle-end/48585
1d284ec5 4839 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 4840
49819fef
AM
48412011-04-22 Alexander Monakov <amonakov@ispras.ru>
4842
4843 PR c/36750
4844 * c-typeck.c (pop_init_level): Do not warn about initializing
4845 with ` = {0}'.
4846
401f6699
AM
48472011-04-22 Alan Modra <amodra@gmail.com>
4848
4849 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
4850 when returning call_cookie.
4851 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
4852 pointers, to functions with no more vector args than the current
4853 function, and some non-local calls for ABI_V4.
4854 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
4855 sibcall_nonlocal_aix64): Combine to ..
4856 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
4857 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
4858 (sibcall_value_nonlocal_aix<mode>): ..likewise.
4859 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
4860 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
4861 operand.
4862 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
4863 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
4864 sibcall_value_symbolic_64): Delete.
4865
903d1e67
XDL
48662011-04-21 Xinliang David Li <davidxl@google.com>
4867
4868 * cgraph.h: Remove pid.
4869 * cgraph.c: Remove pid.
4870 * value-prof.c (init_node_map): New function.
4871 (del_node_map): New function.
4872 (find_func_by_funcdef_no): New function.
4873 (gimple_ic_transform): Call new function.
4874 * cgraphunit.c (cgraph_finalize_function): Remove pid.
4875 * function.c (get_last_funcdef_no): New function.
4876 * function.h (get_last_funcdef_no): New function.
4877 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
4878 to libgcov function.
4879 (tree-profiling): Call node map init and delete function.
4880
7378e95f
ILT
48812011-04-21 Ian Lance Taylor <iant@google.com>
4882
4883 * godump.c (go_format_type): Use exported Go name for anonymous
4884 field name.
4885
e84a6fcf
NF
48862011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4887
4888 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
4889 Call builtin_function_type_list instead of builtin_function_type.
4890 (UNARY, BINARY, TRINARY, QUAD): Likewise.
4891
4fe058e2
NF
48922011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4893
4894 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
4895 build_function_type_list instead of build_function_type.
4896 Delete variable `endlink'.
4897
1ba0a2d2
NF
48982011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4899
4900 * config/s390/s390.c (s390_init_builtins): Call
4901 build_function_type_list instead of build_function_type.
4902
c0676219
NF
49032011-04-21 Nathan Froyd <froydnj@codesourcery.com>
4904
4905 * config/ia64/ia64.c (ia64_init_builtins): Call
4906 build_function_type_list instead of builtin_function_type.
4907
6ddfda8a
ER
49082011-04-21 Easwaran Raman <eraman@google.com>
4909
3a6448ea 4910 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
4911 (add_stack_var): ...and its reference here...
4912 (expand_stack_vars): ...and here.
4913 (stack_var_cmp): Sort by descending order of size.
4914 (partition_stack_vars): Change heuristic.
1d284ec5 4915 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
4916 (dump_stack_var_partition): Add newline after each partition.
4917
23756963
DA
49182011-04-21 Dimitrios Apostolou <jimis@gmx.net>
4919 Jeff Law <law@redhat.com>
4920
77fa1d54 4921 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
4922 * gengtype.c (matching_file_name_substitute): Likewise.
4923
aa2a43d2
RG
49242011-04-21 Richard Guenther <rguenther@suse.de>
4925
4926 PR lto/48703
1d284ec5 4927 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 4928
4d931f41
EB
49292011-04-21 Eric Botcazou <ebotcazou@adacore.com>
4930
4931 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
4932
f103fa7a
RG
49332011-04-21 Richard Guenther <rguenther@suse.de>
4934
4935 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
4936 file name.
4937
e19f6650
RG
49382011-04-21 Richard Guenther <rguenther@suse.de>
4939
4940 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
4941 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
4942 Use DECL_P, not SSA_VAR_P.
4943 (ptr_derefs_may_alias_p): Likewise.
4944 (ptr_deref_may_alias_ref_p_1): Likewise.
4945 (decl_refs_may_alias_p): Likewise.
4946 (refs_may_alias_p_1): Likewise.
4947 (ref_maybe_used_by_call_p_1): Likewise.
4948 (call_may_clobber_ref_p_1): Likewise.
4949 (indirect_ref_may_alias_decl_p): Assume indirect refrences
4950 are either MEM_REF or TARGET_MEM_REF.
4951 (indirect_refs_may_alias_p): Likewise.
4952 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
4953 for MEM_EXPR of indirect calls.
4954
9d1831bb
TG
49552011-04-21 Tristan Gingold <gingold@adacore.com>
4956
4957 * vmsdbgout.c (write_srccorr): Compute file length from the string.
4958 (dst_file_info_struct): Remove flen field.
4959 (lookup_filename): Remove code that set flen field.
4960
f199c029
TG
49612011-04-21 Tristan Gingold <gingold@adacore.com>
4962
4963 * config/ia64/ia64.c (ia64_start_function): Add a guard.
4964
2894086e
UB
49652011-04-21 Uros Bizjak <ubizjak@gmail.com>
4966
4967 PR target/48708
4968 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
4969 vec_extract and vec_concat for non-SSE4_1 targets.
4970
53f94a5c
RG
49712011-04-21 Richard Guenther <rguenther@suse.de>
4972
4973 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
4974 return statements.
4975
f0dca5ba
JM
49762011-04-21 Joseph Myers <joseph@codesourcery.com>
4977
4978 * config/i386/cygming.h (union tree_node, TREE): Don't define or
4979 undefine.
4980 (FILE): Don't undefine.
4981
984514ac
JM
49822011-04-21 Joseph Myers <joseph@codesourcery.com>
4983
4984 * config/alpha/alpha.c (struct machine_function): Use rtx, not
4985 struct rtx_def *.
4986 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
4987 struct rtx_def *.
4988 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 4989 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
4990 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
4991 rtx_def *.
4992 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
4993 definitions where used.
4994 * config/microblaze/microblaze.h (struct microblaze_args): Use
4995 rtx, not struct rtx_def *.
4996 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
4997 rtx_def *.
2894086e
UB
4998 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
4999 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
5000 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
5001 not struct rtx_def *.
5002 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
5003 struct rtx_def *.
5004 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
5005 rtx_def *.
2894086e 5006 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 5007
0b5a2724
RS
50082011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5009
5010 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
5011 operand_equal_p to compare DR_BASE_ADDRESSes.
5012 (vect_check_interleaving): Likewise.
5013
4b18d683
RS
50142011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5015
5016 PR target/46329
5017 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
5018 for all Neon struct constants.
5019
1a627b35
RS
50202011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5021
5022 * target.def (legitimate_constant_p): New hook.
5023 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
5024 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
5025 * doc/tm.texi: Regenerate.
5026 * hooks.h (hook_bool_mode_rtx_true): Declare.
5027 * hooks.c (hook_bool_mode_rtx_true): Define.
5028 * system.h (LEGITIMATE_CONSTANT_P): Poison.
5029 * calls.c (precompute_register_parameters): Replace uses of
5030 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
5031 (emit_library_call_value_1): Likewise.
5032 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
5033 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
5034 * ira-costs.c (scan_one_insn): Likewise.
5035 * recog.c (general_operand, immediate_operand): Likewise.
5036 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
5037 * reload1.c (init_eliminable_invariants): Likewise.
5038
5039 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
5040 mode argument.
5041 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
5042 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
5043 argument.
5044 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5045 * config/alpha/predicates.md (input_operand): Update call to
5046 alpha_legitimate_constant_p.
5047
5048 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
5049 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
5050 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
5051 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5052 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
5053 (arm_legitimate_constant_p): New functions.
5054 (arm_cannot_force_const_mem): Make static.
5055
5056 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
5057
5058 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
5059 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
5060 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
5061 instead of bfin_legitimate_constant_p.
5062 (bfin_legitimate_constant_p): Make static. Add a mode argument.
5063 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5064
5065 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
5066
5067 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
5068
5069 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
5070 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
5071 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5072 (frv_legitimate_constant_p): Make static. Add a mode argument.
5073
5074 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
5075 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
5076 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
5077
5078 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
5079 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
5080 * config/i386/i386.c (legitimate_constant_p): Rename to...
5081 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
5082 argument.
5083 (ix86_cannot_force_const_mem): Update accordingly.
5084 (ix86_legitimate_address_p): Likewise.
5085 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5086 * config/i386/i386.md: Update commentary.
5087
5088 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
5089 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
5090 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5091 (ia64_legitimate_constant_p): Make static. Add a mode argument.
5092
5093 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
5094
5095 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
5096 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
5097 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5098 (lm32_legitimate_constant_p): Make static. Add a mode argument.
5099
5100 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
5101 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
5102 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
5103
5104 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
5105 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5106 (m32r_legitimate_constant_p): New function.
5107
5108 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
5109 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
5110 LEGITIMATE_CONSTANT_P.
5111 (LEGITIMATE_CONSTANT_P): Delete.
5112 * config/m68k/m68k.c (m68k_expand_prologue): Call
5113 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
5114 (m68k_legitimate_constant_p): New function.
5115 * config/m68k/m68k.md: Update comments.
5116
5117 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
5118 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5119 (mcore_legitimate_constant_p): New function.
5120
5121 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
5122 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
5123 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
5124 Add a mode argument.
5125 (mep_legitimate_address): Update accordingly.
5126 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5127
5128 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
5129 Delete.
5130 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
5131 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
5132 static. Check OP's mode for VOIDmode.
5133 (microblaze_legitimate_constant_p): New function.
5134 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5135
5136 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
5137 * config/mips/mips.c (mips_legitimate_constant_p): New function.
5138 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
5139 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5140 * config/mips/predicates.md: Update comments.
5141
5142 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
5143 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
5144 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5145 (mmix_legitimate_constant_p): Make static, return a bool, and take
5146 a mode argument.
5147 (mmix_print_operand_address): Update accordingly.
5148
5149 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
5150 Delete.
5151 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
5152 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
5153 static. Add a mode argument.
1a627b35
RS
5154 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5155
5156 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
5157
5158 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
5159 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5160 (pa_legitimate_constant_p): New function.
5161
5162 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
5163
5164 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
5165 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5166 (pdp11_legitimate_constant_p): New function.
5167
5168 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
5169 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5170 (rs6000_legitimate_constant_p): New function.
5171
5172 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
5173 (rx_legitimate_constant_p): ...this.
5174 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
5175 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
5176 (rx_legitimate_constant_p): ...this.
5177 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5178 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
5179
5180 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
5181 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
5182 * config/s390/s390.c (legitimate_constant_p): Rename to...
5183 (s390_legitimate_constant_p): ...this. Make static, return a bool,
5184 and add a mode argument.
5185 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5186
5187 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
5188
5189 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
5190 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5191 (sh_legitimate_constant_p): New function.
5192
5193 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
5194 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
5195 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5196 (legitimate_constant_p): Rename to...
5197 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
5198 argument.
5199 (constant_address_p): Update accordingly.
5200
5201 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
5202 argument and return a bool.
5203 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
5204 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5205 (spu_legitimate_constant_p): Add a mode argument and return a bool.
5206 (spu_rtx_costs): Update accordingly.
5207 * config/spu/predicates.md (vec_imm_operand): Likewise.
5208
5209 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
5210
5211 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
5212 * config/v850/v850.c (v850_legitimate_constant_p): New function.
5213 (TARGET_LEGITIMATE_CONSTANT_P): Define.
5214
5215 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
5216 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
5217 * config/vax/vax.c (legitimate_constant_p): Likewise.
5218
5219 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
5220 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
5221 (xtensa_legitimate_constant_p): New function.
5222
fbbf66e7
RS
52232011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
5224
5225 * target.def (cannot_force_const_mem): Add a mode argument.
5226 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
5227 * doc/tm.texi: Regenerate.
5228 * hooks.h (hook_bool_mode_rtx_false): Declare.
5229 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
5230 (hook_bool_mode_const_rtx_true): Likewise.
5231 (hook_bool_mode_rtx_false): New function.
5232 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
5233 to be non-VOID. Update call to cannot_force_const_mem.
5234 (find_reloads): Update accordingly.
5235 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
5236 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
5237 argument.
5238 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
5239 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
5240 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
5241 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
5242 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
5243 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
5244 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
5245 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
5246 (m68k_cannot_force_const_mem): ...this new function.
5247 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
5248 argument.
5249 (mips_const_insns, mips_legitimize_const_move): Update calls.
5250 (mips_secondary_reload_class): Likewise.
5251 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
5252 (pa_cannot_force_const_mem): ...this new function.
2894086e 5253 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
5254 (rs6000_cannot_force_const_mem): ...this new function.
5255 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
5256 argument.
5257 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
5258 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
5259 to...
5260 (xtensa_cannot_force_const_mem): ...this new function.
5261
b861891b
NF
52622011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5263
5264 * config/mips/mips.c (mips16_build_function_stub): Call
5265 build_function_type_list instead of build_function_type.
5266 (mips16_build_call_stub): Likewise.
5267
34149ed5
NF
52682011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5269
5270 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
5271 instead of build_function_type.
5272
12526412
NF
52732011-04-20 Nathan Froyd <froydnj@codesourcery.com>
5274
5275 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
5276 instead of build_function_type.
5277
3b84d61f
UB
52782011-04-20 Uros Bizjak <ubizjak@gmail.com>
5279
5280 PR target/48678
5281 * config/i386/i386.md (insv): Change operand 0 constraint to
5282 "register_operand". Change operand 1 and 2 constraint to
5283 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
5284 * config/i386/sse.md (sse4_1_pinsrb): Export.
5285 (sse2_pinsrw): Ditto.
5286 (sse4_1_pinsrd): Ditto.
5287 (sse4_1_pinsrq): Ditto.
5288 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
5289 * config/i386/i386.c (ix86_expand_pinsr): New.
5290
4a25752b
ER
52912011-04-20 Easwaran Raman <eraman@google.com>
5292
5293 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
5294 containing union type only with -fstrict-aliasing.
5295
04695783
JM
52962011-04-20 Jim Meyering <meyering@redhat.com>
5297
5298 Remove useless if-before-free tests.
5299 * calls.c (expand_call, save_area): Likewise.
5300 * cfgcleanup.c (try_forward_edges): Likewise.
5301 * collect2.c (collect_execute): Likewise.
5302 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
5303 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
5304 * coverage.c (coverage_checksum_string): Likewise.
5305 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
5306 * cselib.c (cselib_init): Likewise.
5307 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
5308 (df_set_clean_cfg): Likewise.
5309 * function.c (free_after_compilation): Likewise.
5310 * gcc.c (do_spec_1, main): Likewise.
5311 * gcov.c (create_file_names): Likewise.
5312 * gensupport.c (identify_predicable_attribute): Likewise.
5313 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
5314 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
5315 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
5316 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
5317 * ipa-pure-const.c (local_pure_const): Likewise.
5318 * ipa-reference.c (propagate): Likewise.
5319 * ira-costs.c (free_ira_costs): Likewise.
5320 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
5321 * matrix-reorg.c (mat_free): Likewise.
5322 * prefix.c (get_key_value): Likewise.
5323 * profile.c (compute_value_histograms): Likewise.
5324 * reload1.c (free_reg_equiv): Likewise.
5325 * sched-deps.c (free_deps): Likewise.
5326 * sel-sched-ir.c (fence_clear): Likewise.
5327 * sese.c (set_rename, if_region_set_false_region): Likewise.
5328 * tree-data-ref.c (free_rdg): Likewise.
5329 * tree-eh.c (lower_try_finally): Likewise.
5330 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
5331 * tree-ssa-live.c (delete_var_map): Likewise.
5332 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
5333 * tree-ssa-pre.c (phi_trans_add): Likewise.
5334
6788475a
JJ
53352011-04-20 Jakub Jelinek <jakub@redhat.com>
5336
5337 PR tree-optimization/48611
5338 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
5339 beyond ERT_MUST_NOT_THROW region.
5340
0eda4033
CM
53412011-04-20 Catherine Moore <clm@codesourcery.com>
5342
5343 * config/mips/mips.opt (mfix-24k): New.
5344 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
5345 * config/mips/mips.md (length): Increase by 4 for stores if
5346 fixing 24K errata.
5347 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
5348 all noreorder if fixing 24K errata.
5349 * doc/invoke.texi: Document mfix-24k.
5350
01475747
CLT
53512011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
5352
5353 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 5354 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 5355
bc2c1a60
AS
53562011-04-20 Andrew Stubbs <ams@codesourcery.com>
5357
5358 * config/arm/arm.c (arm_gen_constant): Move movw support ....
5359 (const_ok_for_op): ... to here.
5360
583722ee
KT
53612011-04-20 Kai Tietz <ktietz@redhat.com>
5362
2894086e
UB
5363 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
5364 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 5365
422c0989
AS
53662011-04-20 Andrew Stubbs <ams@codesourcery.com>
5367
5368 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
5369
d7978bff
RG
53702011-04-20 Richard Guenther <rguenther@suse.de>
5371
5372 PR tree-optimization/47892
5373 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
5374 are if-convertible.
5375
818412ba
EB
53762011-04-20 Eric Botcazou <ebotcazou@adacore.com>
5377
5378 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
5379
b501ce4e
TG
53802011-04-20 Tristan Gingold <gingold@adacore.com>
5381
5382 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
5383
516edfdd
GJL
53842011-04-20 Georg-Johann Lay <avr@gjlay.de>
5385
5386 PR target/18145
5387
5388 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
5389 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
5390 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
5391 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
5392 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
5393
5394 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
5395 New prototype.
5396
5397 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
5398 (avr_asm_named_section, avr_asm_output_aligned_common,
5399 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
5400 New functions to update...
5401 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
5402 (avr_asm_init_sections): Overwrite section callbacks for
5403 data_section, bss_section.
5404 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
5405 from here to...
5406 (avr_file_end): ...here.
5407
dafc9511
RG
54082011-04-20 Richard Guenther <rguenther@suse.de>
5409
5410 PR middle-end/48695
5411 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 5412 objects and types here. Adjust for their offset before comparing.
dafc9511 5413
1da0876c
RS
54142011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
5415
5416 * tree-vect-stmts.c (vectorizable_store): Only chain one related
5417 statement per copy.
5418
25583c4f
RS
54192011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
5420
5421 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
5422 (GIMPLE_H): Include $(INTERNAL_FN_H).
5423 (OBJS-common): Add internal-fn.o.
5424 (internal-fn.o): New rule.
5425 * internal-fn.def: New file.
5426 * internal-fn.h: Likewise.
5427 * internal-fn.c: Likewise.
5428 * gimple.h: Include internal-fn.h.
5429 (GF_CALL_INTERNAL): New gf_mask.
5430 (gimple_statement_call): Put fntype into a union with a new
5431 internal_fn field.
5432 (gimple_build_call_internal): Declare.
5433 (gimple_build_call_internal_vec): Likewise.
5434 (gimple_call_same_target_p): Likewise.
5435 (gimple_call_internal_p): New function.
5436 (gimple_call_internal_fn): Likewise.
5437 (gimple_call_fntype): Return null for internal calls.
5438 (gimple_call_set_fntype): Assert that the function is not internal.
5439 (gimple_call_set_fn): Likewise.
5440 (gimple_call_set_fndecl): Likewise.
5441 (gimple_call_set_internal_fn): New function.
5442 (gimple_call_addr_fndecl): Handle null functions.
5443 (gimple_call_return_type): Likewise null types.
5444 * gimple.c (gimple_build_call_internal_1): New function.
5445 (gimple_build_call_internal): Likewise.
5446 (gimple_build_call_internal_vec): Likewise.
5447 (gimple_call_same_target_p): Likewise.
5448 (gimple_call_flags): Handle calls to internal functions.
5449 (gimple_call_fnspec): New function.
5450 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
5451 (gimple_has_side_effects): Handle null functions.
5452 (gimple_rhs_has_side_effects): Likewise.
5453 (gimple_call_copy_skip_args): Handle calls to internal functions.
5454 * cfgexpand.c (expand_call_stmt): Likewise.
5455 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
5456 * gimple-fold.c (gimple_fold_call): Handle null functions.
5457 (gimple_fold_stmt_to_constant_1): Don't fold
5458 calls to internal functions.
5459 * gimple-low.c (gimple_check_call_args): Handle calls to internal
5460 functions.
5461 * gimple-pretty-print.c (dump_gimple_call): Likewise.
5462 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
5463 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
5464 (do_warn_unused_result): Likewise.
5465 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
5466 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
5467 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
5468 the target of a call.
5469 (initialize_hash_element): Update accordingly.
5470 (hashable_expr_equal_p): Use gimple_call_same_target_p.
5471 (iterative_hash_hashable_expr): Handle calls to internal functions.
5472 (print_expr_hash_elt): Likewise.
5473 * tree-ssa-pre.c (can_value_number_call): Likewise.
5474 (eliminate): Handle null functions.
5475 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
5476 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
5477 (find_func_aliases): Likewise.
5478 * value-prof.c (gimple_ic_transform): Likewise.
5479 (gimple_indirect_call_to_profile): Likewise.
5480 * lto-streamer-in.c (input_gimple_stmt): Likewise.
5481 * lto-streamer-out.c (output_gimple_stmt): Likewise.
5482
1a3118e9
JH
54832011-04-19 Jan Hubicka <jh@suse.cz>
5484
5485 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
5486 * ipa-inline.c (inline_small_functions): Compute summaries first,
5487 populate heap later.
1a3118e9 5488
fee8b6da
JH
54892011-04-19 Jan Hubicka <jh@suse.cz>
5490
5491 * cgraph.h (save_inline_function_body): Remove.
5492 * ipa-inline-transform.c: New file, broke out of...
5493 * ipa-inline.c: ... this one; Update toplevel comment.
5494 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
5495 make global.
5496 (update_noncloned_frequencies): Move to ipa-inline-transform.c
5497 (cgraph_mark_inline_edge): Rename to inline_call; move to
5498 ipa-inline-transform.c.
5499 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
5500 move to ipa-inline-transform.c
5501 (recursive_inlining, inline_small_functions, flatten_function,
5502 ipa_inline, inline_always_inline_functions,
5503 early_inline_small_functions): Update.
5504 (inline_transform): Move to ipa-inline-transform.c.
5505 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
5506 Declare.
5507 * Makefile.in (ipa-inline-transform.o): New file.
5508 * cgraphunit.c (save_inline_function_body): Move to
5509 ipa-inline-transform.c
5510
f0679612
DD
55112011-04-19 DJ Delorie <dj@redhat.com>
5512
5513 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
5514 registers if we already know there aren't any.
5515 (m32c_emit_epilogue): Don't emit a barrier here.
5516 (m32c_emit_eh_epilogue): Likewise.
5517 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
5518 operands at expand time.
5519 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
5520 int" wchar type.
5521 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
5522 duplicates. Provide aliases instead.
5523 * config/m32c/prologue.md (eh_return): Emit a barrier here.
5524 (eh_epilogue): Add a "(return)" here as a hint to other parts of
5525 the compiler.
5526
32257ddc
AS
55272011-04-19 Anatoly Sokolov <aesok@post.ru>
5528
5529 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
5530 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
5531 (general_or_i64_p, sparc_register_move_cost): New function.
5532
60bea929
RO
55332011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5534
5535 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 5536 Add lynx, mipssde. Sort table.
60bea929 5537
444b3995 55382011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 5539
9d12f71a
EB
5540 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
5541 not negative.
444b3995 5542
d708ce50
JJ
55432011-04-19 Jakub Jelinek <jakub@redhat.com>
5544
5545 PR target/48678
5546 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
5547 is a SUBREG with non-MODE_INT mode inside of it.
5548
49c471e3
MJ
55492011-04-19 Martin Jambor <mjambor@suse.cz>
5550
5551 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
5552 also according to actual contants.
5553 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
5554 (gimple_fold_call): Use it.
5555 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
5556
0004f992
MJ
55572011-04-19 Martin Jambor <mjambor@suse.cz>
5558
5559 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
5560 non-pointer assignments.
5561
40591473
MJ
55622011-04-19 Martin Jambor <mjambor@suse.cz>
5563
5564 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
5565 account anc_offset and otr_type from the indirect edge info.
5566 * ipa-prop.c (get_ancestor_addr_info): New function.
5567 (compute_complex_ancestor_jump_func): Assignment analysis moved to
5568 get_ancestor_addr_info, call it.
5569 (ipa_note_param_call): Do not initialize information about polymorphic
5570 calls, return the indirect call graph edge. Remove the last
5571 parameter, adjust all callers.
5572 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
5573 parameters. Initialize polymorphic information in the indirect edge.
5574
abe36b81
EB
55752011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5576
5577 PR lto/48148
5578 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
5579 the types if they have different enumeration identifiers.
5580
e6416b30
JH
55812011-04-19 Jan Hubicka <jh@suse.cz>
5582
5583 * cgraph.h (cgraph_optimize_for_size_p): Declare.
5584 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
5585 * predict.c (cgraph_optimize_for_size_p): Break out from ...
5586 (optimize_function_for_size_p) ... here.
5587
d39132ea
RG
55882011-04-19 Richard Guenther <rguenther@suse.de>
5589
5590 PR lto/48207
5591 * tree.c (free_lang_data): Do not reset the decl-assembler-name
5592 langhook.
5593
ff7037dc
EB
55942011-04-19 Eric Botcazou <ebotcazou@adacore.com>
5595
5596 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
5597 if DECL_NO_INLINE_WARNING_P is set on the function.
5598
c1ee2892
BS
55992011-04-19 Bernd Schmidt <bernds@codesourcery.com>
5600
5601 PR fortran/47976
5602 * reload1.c (inc_for_reload): Return void. All callers changed.
5603 (emit_input_reload_insns): Don't try to delete previous output
5604 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
5605
56062011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
5607
5608 * gengtype.h: Updated copyright year.
5609 (struct input_file_st): Add inpisplugin field.
5610 (type_fileloc): New function.
5611 * gengtype.c
5612 (write_typed_struct_alloc_def): Add gcc_assert.
5613 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
5614 (write_typed_alloc_defns): Don't output for plugin files.
5615 (input_file_by_name): Clear inpisplugin field.
5616 (main): Set inpisplugin field for plugin files.
5617
897e0a89
NP
56182011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
5619
5620 * gengtype-state.c (string_eq): New.
5621 (read_state): Use string_eq instead of strcmp when creating the
5622 state_ident_tab.
5623
363ee90e
WG
56242011-04-19 Wei Guozhi <carrot@google.com>
5625
5626 PR target/47855
5627 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
5628 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
5629 linkage.
5630 * config/arm/constraints.md (Uu): New constraint.
5631 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
5632
18a24fed
TG
56332011-04-19 Tristan Gingold <gingold@adacore.com>
5634
5635 * config.gcc (-*-*-*vms): Added.
5636 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
5637 definitions moved.
5638 * config/vms/vms-ld.c: New file.
5639 * config/vms/vms-ar.c: New file.
5640 * config/vms/t-vmsnative: New file.
5641
1c13f168
XDL
56422011-04-18 Xinliang David Li <davidxl@google.com>
5643
5644 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
5645
84825707
JJ
56462011-04-18 Jakub Jelinek <jakub@redhat.com>
5647
5648 PR middle-end/48661
5649 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
5650 if TREE_TYPE (v) is non-NULL.
5651
5652 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
5653 gimple_get_virt_mehtod_for_binfo.
5654 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
5655 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
5656 callers.
5657 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
5658
7d4f8d02 56592011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
5660 Steve Ellcey <sje@cup.hp.com>
5661
7d4f8d02
EB
5662 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
5663 use its mode as source mode if it isn't VOIDmode.
7254cb57 5664
474e8e70
DCR
56652011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
5666
5667 * doc/passes.texi: Fill crossref nodes.
5668
cff41484
JM
56692011-04-18 Jim Meyering <meyering@redhat.com>
5670
7d4f8d02 5671 Fix doubled-word typos in comments and strings
cff41484
JM
5672 * config/alpha/vms-unwind.h: s/for for/for/
5673 * config/arm/unwind-arm.h: Likewise.
5674 * config/microblaze/microblaze.c: Likewise.
5675 * config/sh/constraints.md: s/in in/in/
5676 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
5677
f60c2554
UB
56782011-04-18 Uros Bizjak <ubizjak@gmail.com>
5679
5680 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
5681 (AVX_FLOAT_MODE_P): Ditto.
5682 (AVX128_VEC_FLOAT_MODE_P): Ditto.
5683 (AVX256_VEC_FLOAT_MODE_P): Ditto.
5684 (AVX_VEC_FLOAT_MODE_P): Ditto.
5685 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
5686 (UNSPEC_MASKSTORE): Ditto.
5687 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
5688 Merge from <sse>_movmsk<ssemodesuffix> and
5689 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
5690 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
5691 iterator.
5692 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
5693 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
5694 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
5695
09a2806f
JH
56962011-04-18 Jan Hubicka <jh@suse.cz>
5697
8a8dccb2
JH
5698 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
5699
09a2806f
JH
5700 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
5701 (want_inline_function_called_once_p): Break out the logic from
5702 ipa_inline.
5703 (edge_badness): Ensure that profile is not misupdated.
5704 (lookup_recursive_calls): Prioritize by call frequencies.
5705 (inline_small_functions): Move program size estimates here;
5706 actually process whole queue even when unit growth has been
5707 met. (to properly compute inline_failed reasons and for the
f60c2554 5708 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
5709 (ipa_inline): Remove unit summary code; first inline hot calls
5710 of functions called once, cold calls next.
5711 (order, nnodes): Remove unused variables.
5712 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
5713 (GTFILES): Remove ipa-inline.c
5714 * sel-sched.c (fill_insns): Silence uninitialized var warning.
5715
3eea52ef
EB
57162011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5717
5718 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
5719
229a1c59 57202011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 5721 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
5722
5723 * arm.c (neon_builtin_type_bits): Remove.
5724 (typedef enum neon_builtin_mode): New.
5725 (T_MAX): Don't define.
5726 (typedef enum neon_builtin_datum): Remove bits, codes[],
5727 num_vars and base_fcode. Add mode, code and fcode.
5728 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
5729 VAR10): Change accordingly.
5730 (neon_builtin_data[]): Change accordingly
5731 (arm_init_neon_builtins): Change accordingly.
5732 (neon_builtin_compare): Remove.
5733 (locate_neon_builtin_icode): Remove.
5734 (arm_expand_neon_builtin): Change accordingly.
5735
5736 * arm.h (enum arm_builtins): Move to ...
5737 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
5738
5739 * arm.c (arm_builtin_decl): Declare.
5740 (TARGET_BUILTIN_DECL): Define.
5741 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
5742 (arm_builtin_decls[]): New.
5743 (arm_init_neon_builtins): Store builtin declarations in
5744 arm_builtin_decls[].
5745 (arm_init_tls_builtins): Likewise.
5746 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
5747 (arm_builtin_decl): New.
5748
75e802cc
RG
57492011-04-18 Richard Guenther <rguenther@suse.de>
5750
5751 * tree.c (upper_bound_in_type): Build properly canonicalized
5752 INTEGER_CSTs.
5753 (lower_bound_in_type): Likewise.
5754
3b45a007
RG
57552011-04-18 Richard Guenther <rguenther@suse.de>
5756
5757 * gimple.h (gimple_call_addr_fndecl): New function.
5758 (gimple_call_fndecl): Use it.
5759 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
5760 for direct calls.
5761 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
5762 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
5763
d25a79ea
RG
57642011-04-18 Richard Guenther <rguenther@suse.de>
5765
5766 PR middle-end/48650
5767 * tree.c (build_string): STRING_CST is now derived from tree_typed.
5768
7d5fc814
EB
57692011-04-18 Eric Botcazou <ebotcazou@adacore.com>
5770
5771 PR lto/48492
5772 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
5773 DECL_IN_CONSTANT_POOL without RTL.
5774
7e7cfcf6
UW
57752011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
5776 Ira Rosen <ira.rosen@linaro.org>
5777
5778 PR target/48252
5779 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
5780 to match neon_vzip/vuzp/vtrn_internal.
5781 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
5782 outputs explicitly dependent on both inputs.
5783 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
5784
49eab32e
JJ
57852011-04-18 Jakub Jelinek <jakub@redhat.com>
5786
5787 PR tree-optimization/48616
5788 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
5789 whether the shift is by scalar or vector based on whether all SLP
5790 scalar stmts have the same rhs.
5791
e54170f4
CLT
57922011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
5793
5794 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
5795 memory operands.
5796
b14ee6c9
RS
57972011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
5798
269e0e18 5799 PR target/43700
b14ee6c9
RS
5800 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
5801 registers.
5802
10158cd3
JH
58032011-04-17 Jan Hubicka <jh@suse.cz>
5804
5805 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
5806 * cgrpahunit.c (cgraph_finalize_function): Do not set
5807 finalized_by_frontend.
10158cd3
JH
5808 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5809 finalized_by_frontend.
5810
2e9bb6ba
JH
58112011-04-17 Jan Hubicka <jh@suse.cz>
5812
5813 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
5814 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
5815 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
5816 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
5817 method.
2e9bb6ba
JH
5818 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
5819 gimple-fold.c
5820 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
5821
beb628e1
EB
58222011-04-17 Eric Botcazou <ebotcazou@adacore.com>
5823
5824 PR lto/48538
5825 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
5826 is non-null before accessing it.
5827 (input_cgraph): Remove trailing spaces.
5828
3e2fdd24
RE
58292011-04-17 Revital Eres <revital.eres@linaro.org>
5830
5831 * params.def (sms-min-sc): New param flag.
5832 * modulo-sched.c (sms_schedule): Use it.
5833 * doc/invoke.texi (sms-min-sc): Document it.
5834
4c0f7679
JH
58352011-04-17 Jan Hubicka <jh@suse.cz>
5836
5837 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
5838 present, also set gimple_call_set_cannot_inline.
5839 * ipa-inline.c: Update toplevel comment.
5840 (MAX_TIME): Remove.
5841 (cgraph_clone_inlined_nodes): Fix linebreaks.
5842 (cgraph_check_inline_limits): Restructure to ...
5843 (caller_growth_limits): ... this one; be more tolerant
5844 on growth in nested inline chains; add explanatory comment;
5845 fix stack accounting thinko introduced by previous patch.
5846 (cgraph_default_inline_p): Remove.
5847 (report_inline_failed_reason): New function.
5848 (can_inline_edge_p): New function.
5849 (can_early_inline_edge_p): New function.
5850 (leaf_node_p): Move upwards in file.
5851 (want_early_inline_function_p): New function.
5852 (want_inline_small_function_p): New function.
5853 (want_inline_self_recursive_call_p): New function.
5854 (cgraph_edge_badness): Rename to ...
5855 (edge_badness) ... this one; fix linebreaks.
5856 (update_edge_key): Update call of edge_baddness; add
5857 detailed dump about queue updates.
5858 (update_caller_keys): Use can_inline_edge_p and
5859 want_inline_small_function_p.
5860 (cgraph_decide_recursive_inlining): Rename to...
5861 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
5862 want_inline_self_recursive_call_p; simplify and remove no longer
5863 valid FIXME.
4c0f7679
JH
5864 (cgraph_set_inline_failed): Remove.
5865 (add_new_edges_to_heap): Use can_inline_edge_p and
5866 want_inline_small_function_p.
5867 (cgraph_decide_inlining_of_small_functions): Rename to ...
5868 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
5869 can/want predicates; cleanup debug ouput; work edges till fibheap
5870 is exhausted and do not stop once unit growth is reached; remove
5871 later loop processing remaining edges.
4c0f7679
JH
5872 (cgraph_flatten): Rename to ...
5873 (flatten_function): ... this one; use can_inline_edge_p
5874 and can_early_inline_edge_p predicates.
5875 (cgraph_decide_inlining): Rename to ...
5876 (ipa_inline): ... this one; remove unreachable nodes before
5877 inlining functions called once; simplify the pass.
5878 (cgraph_perform_always_inlining): Rename to ...
5879 (inline_always_inline_functions): ... this one; use
f60c2554 5880 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
5881 (cgraph_decide_inlining_incrementally): Rename to ...
5882 (early_inline_small_functions): ... this one; simplify
5883 using new predicates; cleanup; make dumps prettier.
5884 (cgraph_early_inlining): Rename to ...
5885 (early_inliner): newer inline regular functions into always-inlines;
5886 fix updating of call stmt summaries.
5887 (pass_early_inline): Update for new names.
5888 (inline_transform): Fix formating.
5889 (gate_cgraph_decide_inlining): Rename to ...
5890 (pass_ipa_inline): ... this one.
5891 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
5892 * ipa-inline-analysis.c (dump_inline_summary): Update.
5893 (compute_inline_parameters): Do not compute disregard_inline_limits;
5894 look for mismatching arguments.
5895 (estimate_growth): Fix handlig of non-trivial self recursion.
5896 (inline_read_summary): Do not read info->disregard_inline_limits.
5897 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
5898 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
5899 and move all checks into can_inline_edge_p predicate; re-enable code
5900 comparing optimization levels.
4c0f7679
JH
5901 (expand_call_inline): Do not test inline_forbidden_into_p.
5902 * Makefile.in (ipa-inline.o): Update arguments.
5903
54333b7c
RE
59042011-04-17 Revital Eres <revital.eres@linaro.org>
5905
5906 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
5907
42c2bf92
RE
59082011-04-17 Revital Eres <revital.eres@linaro.org>
5909
5910 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
5911
b183e9e0
MM
59122011-04-17 Michael Matz <matz@suse.de>
5913
5914 PR tree-optimization/48622
5915 PR lto/48645
5916 * ipa-inline-analysis.c (inline_read_summary): Read size/time
5917 in same order as they're written.
5918
b8a17fa2
JDA
59192011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5920
5921 * config/pa/predicates.md: Reorganize and simplify predicates.
5922 Eliminate duplicate code checks.
5923 (arith_operand): Rename to arith14_operand
5924 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
5925 * config/pa/pa.md: Use renamed operands.
5926 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
5927 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
5928 arith11_operand, adddi3_operand, indexed_memory_operand,
5929 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
5930 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
5931 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
5932 move_dest_operand, move_src_operand, prefetch_cc_operand,
5933 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
5934 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
5935 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
5936 div_operand, int5_operand, movb_comparison_operator,
5937 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
5938 arith_double_operand, ireg_operand, lhs_lshift_operand,
5939 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
5940 integer_store_memory_operand): Likewise.
5941 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
5942 (integer_store_memory_operand, read_only_operand,
5943 function_label_operand, borx_reg_operand,
5944 non_hard_reg_operand): Likewise.
5945 (eq_neq_comparison_operator): Delete unused operator.
5946 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
5947 function_label_operand.
5948 (emit_move_sequence): Likewise.
5949
8dfb9f16
UB
59502011-04-16 Uros Bizjak <ubizjak@gmail.com>
5951
5952 * config/i386/sse.md (sseunpackmode): New mode attribute.
5953 (ssepackmode): Ditto.
5954 (vec_pack_trunc_<mode>): Macroize expander from
5955 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
5956 (vec_unpacks_lo_<mode>): Macroize expander from
5957 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5958 (vec_unpacks_hi_<mode>): Macroize expander from
5959 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5960 (vec_unpacku_lo_<mode>): Macroize expander from
5961 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5962 (vec_unpacku_hi_<mode>): Macroize expander from
5963 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
5964 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
5965 ix86_expand_sse4_unpack.
5966 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
5967
e7f23018
JH
59682011-04-16 Jan Hubicka <jh@suse.cz>
5969
5970 * cgraphbuild.c: Include ipa-inline.h.
5971 (reset_inline_failed): Use initialize_inline_failed.
5972 * cgraph.c: Include ipa-inline.h.
5973 (cgraph_create_node_1): Do not initialize estimated_growth.
5974 (initialize_inline_failed): More to ipa-inline-analysis.c
5975 (dump_cgraph_node): Do not dump inline flags.
5976 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
5977 and disregard_inline_limits flags.
5978 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
5979 time, size, estimated_growth.
8dfb9f16
UB
5980 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
5981 Update.
e7f23018
JH
5982 * cgraphunit.c (cgraph_decide_is_function_needed): Use
5983 DECL_DISREGARD_INLINE_LIMITS.
5984 (cgraph_analyze_function): Do not initialize
5985 node->local.disregard_inline_limits.
5986 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
5987 inlinable, versionable and disregard_inline_limits.
5988 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
5989 cgraph_check_inline_limits, cgraph_default_inline_p,
5990 cgraph_edge_badness, update_caller_keys, update_callee_keys,
5991 add_new_edges_to_heap): Update.
5992 (cgraph_decide_inlining_of_small_function): Update; set
5993 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
5994 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
5995 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
5996 * ipa-inline.h (inline_summary): Add inlinable, versionable,
5997 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
5998 time, size and estimated_growth parameters.
e7f23018
JH
5999 (estimate_edge_growth): Update.
6000 (initialize_inline_failed): Declare.
6001 * ipa-split.c: Include ipa-inline.h
6002 (execute_split_functions): Update.
6003 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
6004 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
6005 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
6006 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
6007 estimated_growth to INT_MIN.
6008 (inline_node_duplication_hook): Likewise.
6009 (dump_inline_summary): Dump new fields.
6010 (compute_inline_parameters): Update.
6011 (estimate_edge_time, estimate_time_after_inlining,
6012 estimate_size_after_inlining, estimate_growth, inline_read_summary,
6013 inline_write_summary):
6014 (initialize_inline_failed): Move here from cgraph.c.
6015 * tree-sra.c: Include ipa-inline.h.
6016 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
6017 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
6018 ipa-inline.h.
e7f23018 6019
e81b8564
UB
60202011-04-16 Uros Bizjak <ubizjak@gmail.com>
6021
6022 * config/i386/sse.md (V16): New mode iterator.
6023 (VI1, VI8): Ditto.
6024 (AVXMODEQI, AVXMODEDI): Remove.
6025 (sse2, sse3): New mode attribute.
6026 (mov<mode>): Use V16 mode iterator.
6027 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
6028 (push<mode>1): Use V16 mode iterator.
6029 (movmisalign<mode>): Ditto.
6030 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
6031 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
6032 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
6033 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
6034 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
6035 avx_movdqu<avxmodesuffix>.
6036 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
6037 *avx_movdqu<avxmodesuffix>.
6038 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
6039 avx_lddqu<avxmodesuffix>.
6040 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
6041 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
6042 avx_movnt<AVXMODEDI:mode>.
6043 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
6044 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
6045
4743d438
BS
60462011-04-16 Bernd Schmidt <bernds@codesourcery.com>
6047
6048 PR target/48629
6049 * haifa-sched.c (prune_ready_list, schedule_block): Use
6050 sched_pressure_p rather than flag_sched_pressure.
6051
748f7574 60522011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
6053
6054 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
6055 cgraph_get_node instead of cgraph_get_create_node.
6056
2ba172e0
JJ
60572011-04-15 Jakub Jelinek <jakub@redhat.com>
6058
6059 * cfgexpand.c (expand_debug_expr): Use
6060 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
6061
63d2a353
MM
60622011-04-15 Michael Matz <matz@suse.de>
6063
6064 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
6065 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
6066 * function.c (gimplify_parameters): Ditto.
6067 * gimplify.c (gimplify_vla_decl): Ditto.
6068
6069 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
6070 (gimple_call_set_alloca_for_var): New inline function.
6071 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
6072 * gimple.c (gimple_build_call_from_tree): Remember
6073 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
6074 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
6075
6076 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
6077 calls if they were for VLA objects.
6078
dee74c34
MJ
60792011-04-15 Martin Jambor <mjambor@suse.cz>
6080
6081 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
6082 of ADR_EXPRs.
6083
8e5837bc
MJ
60842011-04-15 Martin Jambor <mjambor@suse.cz>
6085
6086 PR middle-end/48601
6087 * tree-emutls.c (lower_emutls_function_body): Call
6088 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
6089 result is non-NULL.
6090
0dc33c3c
NP
60912011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6092
6093 * c-decl.c (detect_field_duplicates): Call
6094 objc_detect_field_duplicates instead of objc_get_interface_ivars.
6095
edcdea5b
NF
60962011-04-15 Nathan Froyd <froydnj@codesourcery.com>
6097
6098 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
6099 * gimple.c (gimple_asm_clobbers_memory_p): Define.
6100 * ipa-pure-const.c (check_stmt): Call it.
6101 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
6102
8456558d
RG
61032011-04-15 Richard Guenther <rguenther@suse.de>
6104
6105 PR tree-optimization/48290
6106 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
6107 Properly decide inhibiting propagation based on the valueized
6108 operand. Do loop-closed SSA form preserving here ...
6109 (init_copy_prop): ... not here.
6110
266446be
L
61112011-04-15 H.J. Lu <hongjiu.lu@intel.com>
6112
6113 PR target/48612
6114 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
6115 (*ieee_smax<mode>3): Likewise.
6116
17465c6e
AK
61172011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6118
6119 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
6120 Replace match_operand with match_dup for the third operand in
6121 these expanders.
6122
bce204e5
MK
61232011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
6124
6125 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
6126 to track processing of conditionals. Update all callers.
6127 (try_combine, simplify_if_then_else): Update.
6128
3162fdf4
MK
61292011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
6130
6131 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
6132 -fsched-pressure.
6133
79002a57 61342011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 6135
79002a57
GJL
6136 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
6137 instead of match_operand for operand 3.
6138
4fd3a105
RS
61392011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
6140
6141 * recog.h (insn_operand_data): Add an "allows_mem" field.
6142 * genoutput.c (output_operand_data): Initialize it.
6143 * optabs.c (maybe_legitimize_operand_same_code): New function.
6144 (maybe_legitimize_operand): Use it when matching the original
6145 op->value.
6146
ad19c4be
EB
61472011-04-15 Eric Botcazou <ebotcazou@adacore.com>
6148
6149 * gimplify.c: Fix issues in comments throughout.
6150 (voidify_wrapper_expr): Fix long line.
6151 (build_stack_save_restore): Likewise.
6152 (gimplify_loop_expr): Likewise.
6153 (gimplify_compound_lval): Likewise.
6154 (gimplify_init_ctor_eval): Likewise.
6155 (gimplify_modify_expr_rhs): Likewise.
6156 (omp_notice_threadprivate_variable): Likewise.
6157
b25aa0e8 61582011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 6159
b25aa0e8
EB
6160 * cfgexpand.c (expand_call_stmt): Convert the function type to the
6161 original one if this is not a builtin function.
e7925582 6162
09db7afe
JJ
61632011-04-14 Jakub Jelinek <jakub@redhat.com>
6164
6165 PR target/48605
6166 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
6167 offset it as needed based on top 2 bits in operands[3], change
6168 MEM mode to SFmode and mask those 2 bits away from operands[3].
6169
c59633d9
NP
61702011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6171
6172 * c-parser.c (c_parser_objc_protocol_definition): Updated for
6173 change from objc_declare_protocols() to objc_declare_protocol().
6174
5e60198b
UB
61752011-04-14 Uros Bizjak <ubizjak@gmail.com>
6176
6177 * config/i386/sse.md (sse4_1): New mode attribute.
6178 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
6179 avx_blend<ssemodesuffix><avxmodesuffix> and
6180 sse4_1_blend<ssemodesuffix> using VF mode iterator.
6181 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
6182 avx_blendv<ssemodesuffix><avxmodesuffix> and
6183 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
6184 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
6185 avx_dp<ssemodesuffix><avxmodesuffix> and
6186 sse4_1_dp<ssemodesuffix> using VF mode iterator.
6187 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
6188 (sse4_1_packusdw): Merge with *avx_packusdw.
6189 (sse4_1_pblendvb): Merge with *avx_pblendvb.
6190 (sse4_1_pblendw): Merge with *avx_pblendw.
6191 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
6192 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
6193 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
6194 VF mode iterator.
6195 (sse4_1_round<ssescalarmodesuffix>): Merge with
6196 *avx_round<ssescalarmodesuffix>.
6197 (aesenc): Merge with *avx_aesenc.
6198 (aesenclast): Merge with *avx_aesenclast.
6199 (aesdec): Merge with *avx_aesdec.
6200 (aesdeclast): Merge with *avx_aesdeclast.
6201 (pclmulqdq): Merge with *pclmulqdq.
6202 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
6203 New predicate.
6204 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
6205
6f197850
L
62062011-04-14 H.J. Lu <hongjiu.lu@intel.com>
6207
6208 PR middle-end/48608
6209 * cfgexpand.c (get_decl_align_unit): Renamed to ...
6210 (align_local_variable): This. Update DECL_ALIGN.
6211 (add_stack_var): Updated.
6212 (expand_one_stack_var): Likewise.
6213
4a5ba3ed
RG
62142011-04-14 Richard Guenther <rguenther@suse.de>
6215
6216 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
6217 Remove.
6218 (dse_initialize_block_local_data, dse_leave_block,
6219 record_voperand_set, get_stmt_uid): Likewise.
6220 (dse_possible_dead_store_p): Allow any kind of killing stmt.
6221 (dse_optimize_stmt): Remove voperand set handling code.
6222 Simplify and improve to handle any kind of killing stmt.
6223 (dse_record_phi): Remove.
6224 (dse_enter_block): Simplify.
6225 (tree_ssa_dse): Likewise.
6226 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
6227
10a5dd5d
JH
62282011-04-14 Jan Hubicka <jh@suse.cz>
6229
6230 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
6231 * cgraph.h (struct inline_summary): Move to ipa-inline.h
6232 (cgraph_local_info): Remove inline_summary.
6233 * ipa-cp.c: Include ipa-inline.h.
6234 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
6235 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
6236 accesor.
6237 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
6238 (input_overwrite_node): Do not set inline summary.
6239 (input_node): Do not stream inline summary.
6240 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
6241 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
6242 growth; we do not have inline parameters computed for that anyway.
6243 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
6244 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
6245 (inline_summary_t): New type and VECtor.
6246 (debug_inline_summary, dump_inline_summaries): Declare.
6247 (inline_summary): Use VOCtor.
6248 (estimate_edge_growth): Kill hack computing call stmt size directly.
6249 * lto-section-in.c (lto_section_name): Add inline section.
6250 * ipa-inline-analysis.c: Include lto-streamer.h
6251 (node_removal_hook_holder, node_duplication_hook_holder): New holders
6252 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
6253 (inline_summary_vec): Define.
6254 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
6255 dump_inline_summaries): New functions.
5e60198b
UB
6256 (estimate_function_body_sizes): Properly compute size/time of outgoing
6257 calls.
6258 (compute_inline_parameters): Alloc inline_summary; do not compute
6259 size/time of incomming calls.
10a5dd5d
JH
6260 (estimate_edge_time): Avoid missing time summary hack.
6261 (inline_read_summary): Read inline summary info.
6262 (inline_write_summary): Write inline summary info.
6263 (inline_free_summary): Free all hooks and inline summary vector.
6264 * lto-streamer.h: Add LTO_section_inline_summary section.
6265 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
6266 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
6267
b602d918
RS
62682011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6269
6270 * tree-vectorizer.h (vect_strided_store_supported): Add a
6271 HOST_WIDE_INT argument.
6272 (vect_strided_load_supported): Likewise.
6273 (vect_permute_store_chain): Return void.
6274 (vect_transform_strided_load): Likewise.
6275 (vect_permute_load_chain): Delete.
6276 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
6277 count argument. Check that the count is a power of two.
6278 (vect_strided_load_supported): Likewise.
6279 (vect_permute_store_chain): Return void. Update after above changes.
6280 Assert that the access is supported.
6281 (vect_permute_load_chain): Likewise.
6282 (vect_transform_strided_load): Return void.
6283 * tree-vect-stmts.c (vectorizable_store): Update calls after
6284 above interface changes.
6285 (vectorizable_load): Likewise.
6286 (vect_analyze_stmt): Don't check for strided powers of two here.
6287
ab4472fa
RG
62882011-04-14 Richard Guenther <rguenther@suse.de>
6289
6290 PR tree-optimization/48590
6291 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
6292 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
6293 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
6294 BUILT_IN_STACK_SAVE.
6295 * tree-ssa-dce.c (propagate_necessity): Handle
6296 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
6297
32dabdaf
NP
62982011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6299
6300 * c-parser.c (c_parser_objc_class_declaration): Updated call to
6301 objc_declare_class.
6302
daade206
RG
63032011-04-14 Richard Guenther <rguenther@suse.de>
6304
6305 * tree.h (get_object_alignment_1): Declare.
6306 * builtins.c (get_object_alignment_1): Split out worker from ...
6307 (get_object_alignment): ... here.
6308 * fold-const.c (get_pointer_modulus_and_residue): Use
6309 get_object_alignment_1.
6310
920e8172
RS
63112011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6312
6313 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
6314 type parameter.
6315 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
6316 parameter. Generalise code to handle arrays as well as vectors.
6317 (vect_setup_realignment): Update accordingly.
6318 * tree-vect-stmts.c (vectorizable_store): Likewise.
6319 (vectorizable_load): Likewise.
6320
5ce1ee7f
RS
63212011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
6322
6323 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
6324 within the per-copy loop.
6325
6438fe33 63262011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
6327
6328 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
6329 in the dump file.
6330
6438fe33 63312011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
6332
6333 * doc/options.texi (Negative): Explicitly mention that the
6334 Negative chain must be circular.
6335
61e46a7d
NF
63362011-04-14 Nathan Froyd <froydnj@codesourcery.com>
6337
6338 * function.h (block_chainon): Declare.
6339 * function.c (block_chainon): Define.
6340
43ea6502 63412011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 6342 Eric Weddington <eric.weddington@atmel.com>
748f7574 6343 Georg-Johann Lay <avr@gjlay.de>
5e60198b 6344
f60c2554 6345 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
6346 New Includes
6347 (avr_init_builtins, avr_expand_builtin,
6348 avr_expand_delay_cycles, avr_expand_unop_builtin,
6349 avr_expand_binop_builtin ): New functions.
6350 (avr_builtin_id): New enum
6351 (struct avr_builtin_description): New struct
6352 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
6353 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 6354
43ea6502 6355 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 6356 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
6357 UNSPECV_DELAY_CYCLES): new enumeration values
6358 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
6359 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
6360 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
6361 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
6362 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
6363 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
6364 "fmulsu"): New insns
5e60198b 6365
43ea6502
AS
6366 * config/avr/avr-c.c: fix line endings
6367 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
6368 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
6369 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
6370 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
6371 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 6372
43ea6502
AS
6373 * doc/extend.texi (AVR Built-in Functions): New node
6374 (Target Builtins): Add documentation of AVR
6375 built-in functions.
6376
8a9b55f3
GJL
63772011-04-14 Georg-Johann Lay <avr@gjlay.de>
6378
6379 PR target/44643
6380 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
6381 alone. Error if non-const data has attribute progmem.
6382
94bd1825
NF
63832011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6384
6385 * tree.h (struct tree_constructor): Include tree_typed instead of
6386 tree_common.
6387 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
6388 TS_TYPED instead of TS_COMMON.
6389
5e60198b 63902011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
6391
6392 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
6393 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
6394 (sse2_psadbw): Merge with *avx_psadbw.
6395 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
6396 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
6397 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
6398 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
6399 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
6400 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
6401 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
6402 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
6403 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
6404 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
6405 (ssse3_palignrti): Merge with *avx_palignrti.
6406
4b1a4694
NF
64072011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6408
6409 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
6410 * tree-ssanames.c (fini_ssanames): VEC_free it.
6411 (make_ssa_name_fn): Update for VECness of free_ssanames.
6412 (release_ssa_name, release_dead_ssa_names): Likewise.
6413 * tree.h (struct tree_ssa_name): Include tree_typed instead of
6414 tree_common.
6415 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
6416 TS_TYPED instead of TS_COMMON.
6417
4da3b811
NF
64182011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6419
6420 * postreload-gcse.c (gcse_after_reload_main): Add calls to
6421 statistics_counter_event.
6422 * tree-ssa-copyrename.c (stats): Define.
6423 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
6424 statistics_counter_event.
6425 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
6426 (bswap_stats, widen_mul_stats): Define.
6427 (insert_reciprocals): Increment rdivs_inserted.
6428 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
6429 rfuncs_inserted. Add calls to statistics_counter_event.
6430 (execute_cse_sincos_1): Increment inserted.
6431 (execute_cse_sincos): Zeroize sincos_stats. Add call to
6432 statistics_counter_event.
6433 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
6434 of bswap_stats. Add calls to statistics_counter_event.
6435 (convert_mult_to_widen): Increment widen_mults_inserted.
6436 (convert_plusminus_to_widen): Increment maccs_inserted.
6437 (convert_mult_to_fma): Increment fmas_inserted.
6438 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
6439 calls to statistics_counter_event.
6440
89fa552a
VM
64412011-04-13 Vladimir Makarov <vmakarov@redhat.com>
6442
6443 PR rtl-optimization/48455
6444 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
6445 `temp_costs->mem_cost'.
6446
03dfc36d
JH
64472011-04-13 Jan Hubicka <jh@suse.cz>
6448
6449 * ipa-inline.h: New file.
6450 * ipa-inline-analysis.c: New file. Broken out of ...
6451 * ipa-inline.c: ... this file; update toplevel comment;
6452 include ipa-inline.h
6453 (inline_summary): Move to ipa-inline.h
6454 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
6455 ipa-inline-analysis.c.
7d4f8d02
EB
6456 (cgraph_estimate_time_after_inlining): Rename to
6457 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
6458 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
6459 to estimate_edge_growth.
6460 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
6461 rename to estimate_size_after_inlining.
6462 (cgraph_mark_inline_edge): Update for new naming convention.
6463 (cgraph_check_inline_limits): Likewise.
6464 (cgraph_edge_badness): Likewise.
6465 (cgraph_decide_recursive_inlining): Likewise.
6466 (cgraph_decide_inlining_of_small_functions): Likewise.
6467 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
6468 (cgraph_estimate_growth): Rename to estimate_growth; move to
6469 ipa-inline-analysis.c.
03dfc36d
JH
6470 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
6471 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
6472 (compute_inline_parameters): Likewise.
6473 (compute_inline_parameters_for_current): Likewise.
6474 (pass_inline_parameters): Likewise.
6475 (inline_indirect_intraprocedural_analysis): Likewise.
6476 (analyze_function): Rename to inline_analyze_function; likewise.
6477 (add_new_function): Move to ipa-inline-analysis.c.
6478 (inline_generate_summary): Likewise.
6479 (inline_read_summary): Likewise.
6480 (inline_write_summary): Likewise.
6481 * Makefile.in (ipa-inline-analysis.c): New file.
6482
7673c962
RO
64832011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6484
6485 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
6486 * configure: Regenerate.
6487
9698252f
NF
64882011-04-13 Nathan Froyd <froydnj@codesourcery.com>
6489
6490 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
6491 instead of tree_common.
6492 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
6493 Likewise.
6494 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
6495 TS_TYPED rather than TS_COMMON.
6496 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
6497
3a7bfdd5
GJL
64982011-04-01 Georg-Johann Lay <avr@gjlay.de>
6499
6500 PR target/45263
86d83530
GJL
6501 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
6502 r20 around calls of __tablejump_elpm__
3a7bfdd5 6503
20790697
JJ
65042011-04-13 Jakub Jelinek <jakub@redhat.com>
6505
6506 PR middle-end/48591
6507 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
6508 NULL.
6509 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
6510
094d7661
BS
65112011-04-13 Bernd Schmidt <bernds@codesourcery.com>
6512
6513 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
6514 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
6515 (cfi_vec): New typedef.
6516 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
6517 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
6518 (cie_cfi_vec): New static variable.
6519 (cie_cfi_head): Delete.
6520 (add_cfi): Accept a cfi_vec * as first argument. All callers and
6521 declaration changed. Use vector rather than list operations.
6522 (new_cfi): Don't initialize the dw_cfi_next field.
6523 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
6524 rather than list operations.
6525 (lookup_cfa): Use vector rather than list operations.
6526 (output_cfis): New argument upto. Accept a cfi_vec rather than
6527 a dw_cfi_ref list head as argument. All callers changed.
6528 Iterate over the vector using upto as a maximum index.
6529 (output_all_cfis): New static function.
6530 (output_fde): Use vector rather than list operations. Use the
6531 new upto argument for output_cfis rather than manipulating a
6532 list.
6533 (dwarf2out_begin_prologue): Change initializations to match
6534 new struct members.
6535 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
6536 from the vector length rather than searching for the end of a list.
6537 Use output_all_cfis.
6538 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
6539
673a5740
NC
65402011-04-13 Nick Clifton <nickc@redhat.com>
6541
6542 * config/rx/rx.md (movmemsi): Do not use this pattern when
6543 volatile pointers are involved.
6544
1ee8b298
UB
65452011-04-13 Uros Bizjak <ubizjak@gmail.com>
6546
6547 * config/i386/sse.md (pinsrbits): Remove.
6548 (sse2_packsswb): Merge with *avx_packsswb.
6549 (sse2_packssdw): Merge with *avx_packssdw.
6550 (sse2_packuswb): Merge with *avx_packuswb.
6551 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
6552 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
6553 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
6554 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
6555 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
6556 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
6557 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
6558 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
6559 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
6560 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
6561 (sse2_loadld): Merge with *avx_loadld.
6562 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
6563 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
6564 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
6565 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
6566 (vec_concatv2di): Merge with *vec_concatv2di_avx.
6567
81f653d6
NF
65682011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6569
6570 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
6571 calling TREE_CHAIN.
6572 * print-tree.c (print_node): Likewise.
6573 * tree-inline.c (copy_tree_r): Likewise.
6574 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
6575 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
6576 instead of TS_COMMON.
6577 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
6578 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
6579 (copy_node_stat): Zero TREE_CHAIN only if necessary.
6580 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
6581 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
6582 ...and these...
6583 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
6584 * tree.h: ...here.
6585 (TREE_CHAIN): Check for a TS_COMMON structure.
6586 (TREE_TYPE): Check for a TS_TYPED structure.
6587
748f7574 65882011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
6589
6590 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
6591 cgraph_get_create_node instead of cgraph_node.
6592
eb345401
NP
65932011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6594
6595 * c-parser.c (c_parser_initelt): Updated call to
6596 objc_build_message_expr.
6597 (c_parser_postfix_expression): Likewise.
6598
a6c46762
KT
65992011-04-12 Kai Tietz <ktietz@redhat.com>
6600
6601 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
6602 MASK_MS_BITFIELD_LAYOUT bit.
6603
b4ccfed9
JJ
66042011-04-12 Jakub Jelinek <jakub@redhat.com>
6605
6606 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
6607 assert it is always true.
6608 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
6609 moves.
6610
0d8a2528
NP
66112011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6612
6613 * c-parser.c (c_lex_one_token): Rewritten conditional used when
6614 compiling Objective-C to be more efficient.
6615
06bd234a
AF
66162011-04-12 Axel Freyn <axel-freyn@gmx.de>
6617
6618 * opts-common.c (decode_cmdline_options_to_array): Remove variable
6619 argv_copied.
6620
28569ac3
RS
66212011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6622
6623 * recog.h, genoutput.c, optabs.c: Revert last patch.
6624
ae59e00d
RR
66252011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6626
81b1e7eb
UB
6627 PR target/48090
6628 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 6629
cff1b7e0
RS
66302011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6631
6632 * recog.h (insn_operand_data): Add an "allows_mem" field.
6633 * genoutput.c (output_operand_data): Initialize it.
6634 * optabs.c (maybe_legitimize_operand_same_code): New function.
6635 (maybe_legitimize_operand): Use it when matching the original
6636 op->value.
6637
77059241
RS
66382011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6639
6640 * genpreds.c (process_define_predicate): Move most processing
6641 to gensupport.c. Continue to validate the expression.
6642 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
6643 (process_define_predicate): Move processing to gensupport.c.
6644 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
6645 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
6646 (compute_predicate_codes): Moved from genrecog.c. Add lineno
6647 argument.
6648 (valid_predicate_name_p): New function, split out from old
6649 genpreds.c:process_define_predicate.
6650 (process_define_predicate): New function, combining code from
6651 old genpreds.c and genrecog.c functions.
6652 (process_rtx): Call it for DEFINE_PREDICATE and
6653 DEFINE_SPECIAL_PREDICATE.
6654
6308e208
RS
66552011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
6656
6657 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
6658 size of a '%A' memory reference.
6659 (T_DREG, T_QREG): New neon_builtin_type_bits.
6660 (arm_init_neon_builtins): Assert that the load and store operands
6661 are neon_struct_operands.
6662 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
6663 (NEON_ARG_MEMORY): New builtin_arg.
6664 (neon_dereference_pointer): New function.
6665 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
6666 Handle NEON_ARG_MEMORY.
6667 (arm_expand_neon_builtin): Update after above interface changes.
6668 Use NEON_ARG_MEMORY for loads and stores.
6669 * config/arm/predicates.md (neon_struct_operand): New predicate.
6670 * config/arm/iterators.md (V_two_elem): Tweak formatting.
6671 (V_three_elem): Use BLKmode for accesses that have no associated mode.
6672 (V_four_elem): Tweak formatting.
6673 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
6674 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
6675 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
6676 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
6677 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
6678 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
6679 (neon_vst4<mode>): Replace pointer operand with a memory operand.
6680 Use %A in the output template.
6681 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
6682 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
6683 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
6684 the width of the memory access. Remove post-increment.
6685 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
6686
e5db8f2f
NC
66872011-04-12 Nick Clifton <nickc@redhat.com>
6688
6689 * config/v850/v850.c (expand_prologue): Do not use the CALLT
6690 instruction for interrupt handlers if the target is the basic V850
6691 architecture.
6692 (expand_epilogue): Likewise.
6693
74f091d6
JJ
66942011-04-12 Jakub Jelinek <jakub@redhat.com>
6695
6696 PR rtl-optimization/48549
6697 * combine.c (propagate_for_debug): Also stop after BB_END of
6698 this_basic_block. Process LAST and just stop processing after it.
6699 (combine_instructions): If last_combined_insn has been deleted,
6700 set last_combined_insn to its PREV_INSN.
6701
f20ca725
RG
67022011-04-12 Richard Guenther <rguenther@suse.de>
6703
6704 PR tree-optimization/46076
6705 * gimple.h (struct gimple_statement_call): Add fntype field.
6706 (gimple_call_fntype): Adjust.
6707 (gimple_call_set_fntype): New function.
6708 * gimple.c (gimple_build_call_1): Set the call function type.
6709 * gimplify.c (gimplify_call_expr): Preserve the function
6710 type the frontend used for the call.
6711 (gimplify_modify_expr): Likewise.
6712 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
6713 function type.
6714 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
6715 function type.
6716 * tree-ssa.c (useless_type_conversion_p): Function pointer
6717 conversions are useless.
6718
a358e188
MJ
67192011-04-12 Martin Jambor <mjambor@suse.cz>
6720
6721 * cgraph.h (cgraph_node): Remove function declaration.
6722 (cgraph_create_node): Declare.
6723 (cgraph_get_create_node): Likewise.
6724 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
6725 Updated all callers.
6726 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
6727 the decl does not already exist. Call cgraph_get_create_node instead
6728 of cgraph_node.
6729 (cgraph_get_create_node): New function.
6730 (cgraph_same_body_alias): Update comment.
6731 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
6732 assert it does not return NULL.
6733 (cgraph_update_edges_for_call_stmt): Likewise.
6734 (cgraph_clone_edge): Likewise.
6735 (cgraph_create_virtual_clone): Likewise.
6736 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
6737 instead of cgraph_node.
6738 (cgraph_add_new_function): Call cgraph_create_node or
6739 cgraph_get_create_node instead of cgraph_node.
6740 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
6741 instead of cgraph_node.
6742 (record_eh_tables): Likewise.
6743 (mark_address): Likewise.
6744 (mark_load): Likewise.
6745 (build_cgraph_edges): Call cgraph_get_create_node instead
6746 of cgraph_node.
6747 (rebuild_cgraph_edges): Likewise.
6748 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
6749 instead of cgraph_node.
6750 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
6751 cgraph_node.
6752 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
6753 cgraph_create_node instead of cgraph_node.
6754 * c-decl.c (finish_function): Call cgraph_get_create_node instead
6755 of cgraph_node.
6756 * lto-cgraph.c (input_node): Likewise.
6757 * lto-streamer-in.c (input_function): Likewise.
6758 * varasm.c (mark_decl_referenced): Likewise.
6759 (assemble_alias): Likewise.
6760
fe660d7b
MJ
67612011-04-12 Martin Jambor <mjambor@suse.cz>
6762
6763 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
6764 instead of cgraph_node and assert it does not return NULL.
6765 * lto-streamer-in.c (lto_read_body): Likewise.
6766 * omp-low.c (new_omp_context): Likewise.
6767 (create_task_copyfn): Likewise.
6768 * tree-emutls.c (lower_emutls_function_body): Likewise.
6769 * matrix-reorg.c (transform_allocation_sites): Likewise.
6770
bae5cddf
JJ
67712011-04-12 Jakub Jelinek <jakub@redhat.com>
6772
6773 PR c/48552
6774 * c-typeck.c (build_asm_expr): Error out on attempts to use
6775 void type outputs or inputs for constraints that allow reg or
6776 don't allow memory.
6777
06eb52ca
CLT
67782011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
6779 Richard Earnshaw <rearnsha@arm.com>
6780
6781 PR target/48250
6782 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
6783 to use sign-magnitude offsets. Reject unsupported unaligned
6784 cases. Add detailed description in comments.
6785 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
6786 condition from TARGET_32BIT to TARGET_ARM.
6787
648a616b
NF
67882011-04-11 Nathan Froyd <froydnj@codesourcery.com>
6789
6790 * tree.h (struct typed_tree): New.
6791 (struct tree_common): Include it instead of tree_base.
6792 (TREE_TYPE): Update for new location of type field.
6793 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
6794 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
6795 (union tree_node): Add typed field.
6796 * treestruct.def (TS_TYPED): New.
6797 * lto-streamer.c (check_handled_ts_structures): Handle it.
6798 * tree.c (MARK_TS_TYPED): New macro.
6799 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
6800
1e6d1da0
EB
68012011-04-11 Eric Botcazou <ebotcazou@adacore.com>
6802
6803 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
6804 (force_nonfallthru): Do not alter the loop nest if no basic block
6805 was created.
6806
68072011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
6808
6809 * config/i386/sse.md (VI): New mode iterator.
6810 (SSEMODEI): Remove.
6811 (AVX256MODEI): Ditto.
6812 (AVXMODEF4P): Ditto.
6813 (avxvecpsmode): Ditto.
6814 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
6815 (sse2_andnot<mode>3): New expander.
6816 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
6817 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
6818 (<any_logic:code><mode>3): Use VI mode iterator.
6819 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
6820 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
6821 (*andnottf3): Handle AVX three-operand constraints.
6822 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
6823
b1372d5d 68242011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 6825 Robert Millan <rmh@gnu.org>
b1372d5d
JM
6826
6827 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
6828 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
6829 GNU_USER_DYNAMIC_LINKER64): Define.
6830 (REG_NAME): Don't undefine.
6831 (MD_UNWIND_SUPPORT): Undefine.
6832 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
6833 (REG_NAME): Don't undefine.
6834 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 6835 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 6836
761c0c6e
JM
68372011-04-11 Joseph Myers <joseph@codesourcery.com>
6838
6839 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
6840 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
6841
26e0228f
XDL
68422011-04-11 Xinliang David Li <davidxl@google.com>
6843
6844 * value-profile.c (check_ic_target): New function.
6845 (gimple_ic_transform): Sanity check indirect call target.
6846 * gimple-low.c (gimple_check_call_args): Interface change.
6847 (gimple_check_call_matching_types): New function.
6848 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
6849
68502011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
6851
6852 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
6853 tree-pretty-print.h & realmpfr.h.
6854
a58dfa49
VM
68552011-04-11 Vladimir Makarov <vmakarov@redhat.com>
6856
6857 PR middle-end/48464
6858 * ira.c (setup_pressure_classes): Fix typo in loop condition.
6859 (setup_allocno_and_important_classes): Ditto.
6860
107fd1c1
JM
68612011-04-11 Joseph Myers <joseph@codesourcery.com>
6862
6863 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
6864 GNU_USER_DYNAMIC_LINKER.
6865 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
6866 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6867 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
6868 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6869 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6870 GNU_USER_TARGET_OS_CPP_BUILTINS.
6871 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
6872 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6873 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6874 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6875 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
6876 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
6877 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6878 GNU_USER_TARGET_OS_CPP_BUILTINS.
6879 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6880 GNU_USER_DYNAMIC_LINKER.
6881 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6882 GNU_USER_TARGET_OS_CPP_BUILTINS.
6883 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
6884 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6885 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
6886 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6887 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
6888 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
6889 GNU_USER_DYNAMIC_LINKER64): Remove.
6890 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
6891 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6892 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6893 GNU_USER_DYNAMIC_LINKER.
6894 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6895 GNU_USER_TARGET_OS_CPP_BUILTINS.
6896 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6897 GNU_USER_TARGET_OS_CPP_BUILTINS.
6898 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
6899 to GNU_USER_TARGET_OS_CPP_BUILTINS.
6900 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
6901 GNU_USER_TARGET_OS_CPP_BUILTINS.
6902 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
6903 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
6904 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6905 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
6906 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6907 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6908 GNU_USER_DYNAMIC_LINKER.
6909 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
6910 GNU_USER_TARGET_OS_CPP_BUILTINS.
6911 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
6912 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6913 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6914 GNU_USER_DYNAMIC_LINKER.
6915 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6916 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6917 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
6918 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6919 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6920 GNU_USER_DYNAMIC_LINKER.
6921 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
6922 GNU_USER_DYNAMIC_LINKERN32.
6923 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
6924 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
6925 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
6926 GNU_USER_DYNAMIC_LINKER32.
6927 * config/mn10300/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_LINKER to
6930 GNU_USER_DYNAMIC_LINKER.
6931 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
6932 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6933 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
6934 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6935 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
6936 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
6937 GNU_USER_DYNAMIC_LINKER32.
6938 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
6939 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
6940 GNU_USER_DYNAMIC_LINKER.
6941 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
6942 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6943 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6944 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
6945 GNU_USER_DYNAMIC_LINKER64.
6946 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
6947 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6948 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6949 GNU_USER_DYNAMIC_LINKER.
6950 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
6951 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6952 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
6953 GNU_USER_DYNAMIC_LINKER.
6954 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
6955 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6956 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
6957 GNU_USER_DYNAMIC_LINKER32.
6958 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6959 GNU_USER_DYNAMIC_LINKER64.
6960 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
6961 GNU_USER_DYNAMIC_LINKER64.
6962 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
6963 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
6964 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
6965 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 6966 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 6967
e24609cf
JM
69682011-04-11 Joseph Myers <joseph@codesourcery.com>
6969
6970 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
6971 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
6972 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
6973 GNU_USER_DYNAMIC_LINKER.
6974 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6975 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
6976 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
6977 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
6978 GNU_USER_DYNAMIC_LINKER64.
6979 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
6980 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
6981 GNU_USER_LINK_EMULATION.
6982 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
6983 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
6984 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
6985 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
6986 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
6987 CPP_SPEC, CC1_SPEC): Remove.
6988 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
6989 (GNU_USER_DYNAMIC_LINKER): Define.
6990 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
6991 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
6992 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
6993 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
6994 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
6995 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
6996 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
6997 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
6998 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
6999 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
7000 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
7001 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
7002 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
7003 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
7004 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
7005 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
7006 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
7007 GNU_USER_DYNAMIC_LINKER.
7008 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
7009 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
7010 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
7011 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
7012 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
7013 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
7014 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
7015 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
7016 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 7017 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 7018
b8ce4e94
KT
70192011-04-11 Kai Tietz <ktietz@redhat.com>
7020
7021 PR target/9601
7022 PR target/11772
7023 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
7024 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
7025 comment.
7026 (ix86_is_msabi_thiscall): Removed.
7027 (ix86_is_type_thiscall): Likewise.
7028 (ix86_get_callcvt): New function.
7029 (ix86_comp_type_attributes): Simplify check.
7030 (ix86_function_regparm): Use ix86_get_callcvt for calling
7031 convention attribute checks.
7032 (ix86_return_pops_args): Likewise.
7033 (ix86_static_chain): Likewise.
7034 (x86_this_parameter): Likewise.
7035 (x86_output_mi_thunk): Likewise.
7036 (ix86_function_type_abi): Optimize check for types without attributes.
7037 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
7038 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
7039 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
7040 by flag-values.
7041 (IX86_BASE_CALLCVT): Helper macro.
7042 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
7043 Use ix86_get_callcvt for calling convention attribute checks and avoid
7044 symbol-decoration for stdcall in TARGET_RTD case.
7045 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
7046 Likewise.
7047 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
7048 for declaration.
7049
798dd0ba
UB
70502011-04-11 Uros Bizjak <ubizjak@gmail.com>
7051
7052 * config/i386/sse.md (VI_128): New mode iterator.
7053 (VI12_128): Rename from SSEMODE12.
7054 (VI14_128): Rename from SSEMODE14.
7055 (VI124_128): New mode iterator.
7056 (VI24_128): Rename from SSEMODE248.
7057 (VI248_128): Rename from SSEMODE248.
7058 (SSEMODE124C8): Remove.
7059 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
7060 (*sse2_<plusminus_insn><mode>3): Merge with
7061 *avx_<plusminus_insn><mode>3.
7062 (*mulv8hi3): Merge with *avx_mulv8hi3.
7063 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
7064 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
7065 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
7066 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
7067 (ashr<mode>3): Merge with *avx_ashr<mode>3.
7068 (lshr<mode>3): Merge with *avx_lshr<mode>3.
7069 (ashl<mode>3): Merge with *avx_ashl<mode>3.
7070 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
7071 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
7072 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7073 (*<smaxmin:code>v8hi3): Ditto.
7074 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
7075 (*<smaxmin:code>v16qi3): Ditto.
7076 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
7077 (*sse2_eq<mode>3): Ditto.
7078 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
7079 (*sse2_gt<mode>3): Ditto.
7080 (vcondv2di): Split out of vcond<mode>.
7081 (vconduv2di): Split out of vcondu<mode>.
7082
956011be
RG
70832011-04-11 Richard Guenther <rguenther@suse.de>
7084
7085 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
7086 before calling tree_low_cst.
7087
e6313a78
RG
70882011-04-11 Richard Guenther <rguenther@suse.de>
7089
7090 * stor-layout.c (layout_type): Compute all array index size operations
7091 in the original type.
7092 (initialize_sizetypes): Add comment.
7093 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
7094
e69d7376
JM
70952011-04-11 Joseph Myers <joseph@codesourcery.com>
7096
7097 * common.opt (Tbss=, Tdata=, Ttext=): New options.
7098
9f9ebcdf
MJ
70992011-04-11 Martin Jambor <mjambor@suse.cz>
7100
7101 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
7102 of cgraph_node, handle NULL return value.
7103 (cgraph_global_info): Likewise.
7104 (cgraph_rtl_info): Likewise.
7105 * tree-inline.c (estimate_num_insns): Likewise.
7106 * gimplify.c (unshare_body): Likewise.
7107 (unvisit_body): Likewise.
7108 (gimplify_body): Likewise.
7109 * predict.c (optimize_function_for_size_p): Likewise.
7110 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
7111 (call_may_clobber_ref_p_1): Likewise.
7112 * varasm.c (function_section_1): Likewise.
7113 (assemble_start_function): Likewise.
7114
581985d7
MJ
71152011-04-11 Martin Jambor <mjambor@suse.cz>
7116
7117 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
7118 of cgraph_node.
7119 * final.c (rest_of_clean_state): Likewise.
7120 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
7121 * passes.c (pass_init_dump_file): Likewise.
7122 (execute_all_ipa_transforms): Likewise.
7123 (function_called_by_processed_nodes_p): Likewise.
7124 * predict.c (maybe_hot_frequency_p): Likewise.
7125 (probably_never_executed_bb_p): Likewise.
7126 (compute_function_frequency): Likewise.
7127 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
7128 (unnest_nesting_tree_1): Likewise.
7129 (lower_nested_functions): Likewise.
7130 * tree-optimize.c (execute_fixup_cfg): Likewise.
7131 (tree_rest_of_compilation): Likewise.
7132 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
7133 * tree-sra.c (ipa_early_sra): Likewise.
7134 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
7135 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
7136 * ipa.c (record_cdtor_fn): Likewise.
7137 * ipa-inline.c (cgraph_early_inlining): Likewise.
7138 (compute_inline_parameters_for_current): Likewise.
7139 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
7140 * ipa-pure-const.c (local_pure_const): Likewise.
7141 * ipa-split.c (split_function): Likewise.
7142 (execute_split_functions): Likewise.
7143 * cgraphbuild.c (build_cgraph_edges): Likewise.
7144 (rebuild_cgraph_edges): Likewise.
7145 (cgraph_rebuild_references): Likewise.
7146 (remove_cgraph_callee_edges): Likewise.
7147 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
7148 (verify_cgraph_node): Likewise.
7149 (cgraph_analyze_functions): Likewise.
7150 (cgraph_preserve_function_body_p): Likewise.
7151 (save_inline_function_body): Likewise.
7152 (save_inline_function_body): Likewise.
7153 * tree-inline.c (copy_bb): Likewise.
7154 (optimize_inline_calls): Likewise.
7155
57dbdc5a
MJ
71562011-04-11 Martin Jambor <mjambor@suse.cz>
7157
7158 PR tree-optimization/48195
7159 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
7160 ipa_check_create_edge_args.
7161 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
7162 ipa_check_create_edge_args.
7163 * ipa-inline.c (inline_generate_summary): Do not call
7164 ipa_check_create_node_params and ipa_check_create_edge_args.
7165 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
7166 ipa_check_create_edge_args.
7167
d108e679
AS
71682011-04-09 Anatoly Sokolov <aesok@post.ru>
7169
7170 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
7171 instead of loop.
7172 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
7173 * function.c (record_hard_reg_sets): Likewise.
7174 * ira.c (compute_regs_asm_clobbered): Likewise.
7175 * sched-deps.c (sched_analyze_1): Likewise.
7176 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
7177
3411bc59
XDL
71782011-04-09 Xinliang David Li <davidxl@google.com>
7179
7180 PR tree-optimization/PR48484
7181 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
7182 has_valid_pred lazily
7183
b365495a
DS
71842011-04-09 Duncan Sands <baldrick@free.fr>
7185
7186 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
7187
68bc509a
EB
71882011-04-08 Eric Botcazou <ebotcazou@adacore.com>
7189
7190 * combine.c (combine_validate_cost): Adjust comments. Set registered
7191 cost of I0 to zero at the end, if any.
7192
041e059f
XDL
71932011-04-08 Xinliang David Li <davidxl@google.com>
7194
68bc509a
EB
7195 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
7196 to insane profile data.
041e059f 7197
444b3995
XDL
71982011-04-08 Xinliang David Li <davidxl@google.com>
7199
7200 * ipa-cp.c (ipcp_update_profiling): Correct
7201 negative scale factor due to insane profile data.
7202
6a801cf2
XDL
72032011-04-08 Xinliang David Li <davidxl@google.com>
7204
7205 * final.c (dump_basic_block_info): New function.
7206 (final): Dump basic block.
7207 (final_scan_insn): Remove old dump.
7208
d5f3624e
SK
72092011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
7210
68bc509a
EB
7211 PR target/47829
7212 * config.gcc (i386-*-freebsd): Disable unwind table generation for
7213 crtbegin/crtend.
d5f3624e 7214
42821aff
MM
72152011-04-08 Michael Matz <matz@suse.de>
7216
7217 PR middle-end/48389
7218 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
7219 functions.
7220 (rebuild_jump_labels): Call rebuild_jump_labels_1.
7221 * rtl.h (rebuild_jump_labels_chain): Declare.
7222 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
7223 insns inserted on edges.
7224
ad7be009
JM
72252011-04-08 Joseph Myers <joseph@codesourcery.com>
7226
7227 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
7228 * config/arm/arm-arches.def: New.
7229 * config/arm/arm-opts.h: New.
7230 * config/arm/genopt.sh: New.
7231 * config/arm/arm-tables.opt: New (generated).
7232 * config/arm/arm.c (arm_handle_option, arm_target_help,
7233 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
7234 (all_architectures): Get most table contents from arm-arches.def.
7235 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
7236 arm_selected_tune here.
7237 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
7238 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
7239 (march=, mcpu=, mtune=): Use Enum and Var.
7240 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
7241 (arm.o): Update dependencies.
ecbb6fb7 7242
42821aff 72432011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
7244
7245 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
7246 of header_file.
7247 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
7248 (write_typed_alloc_defns): Likewise.
7249 (main): Calls write_typed_alloc_defns with output_header.
7250
8d189b3f
VM
72512011-04-08 Vladimir Makarov <vmakarov@redhat.com>
7252
68bc509a 7253 PR inline-asm/48435
8d189b3f
VM
7254 * ira-color.c (setup_profitable_hard_regs): Add comments.
7255 Don't take prohibited hard regs into account.
7256 (setup_conflict_profitable_regs): Rename to
7257 get_conflict_profitable_regs.
7258 (check_hard_reg_p): Check prohibited hard regs.
7259
44f370bf
NF
72602011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7261
7262 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
7263 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
7264 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
7265
483d7ad3
JDA
72662011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7267
7268 PR target/48366
7269 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 7270 move from floating point to shift amount register.
483d7ad3
JDA
7271 (emit_move_sequence): Remove secondary reload support for floating
7272 point to shift amount amount register copies.
7273 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
7274 amount register copies.
7275 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
7276 register, return false if mode isn't a scalar integer mode.
7277 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
7278
97e03fa1
RG
72792011-04-08 Richard Guenther <rguenther@suse.de>
7280
7281 * gimple.c (gimple_call_flags): Remove kludge.
7282
9d40778b
AM
72832011-04-08 Alexander Monakov <amonakov@ispras.ru>
7284
7285 * sel-sched.c (sel_region_init): Move call to
7286 sel_setup_region_sched_flags after setup_current_loop_nest.
7287
19ac7892
AB
72882011-04-08 Andrey Belevantsev <abel@ispras.ru>
7289
7290 PR rtl-optimization/48272
19ac7892
AB
7291 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
7292 init_insn_reg_pressure_info. Adjust a caller.
7293 * sched-int.h (init_insn_reg_pressure_info): Declare.
7294 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
7295 when sched-pressure is enabled.
7296
0f8c63cc
RG
72972011-04-08 Richard Guenther <rguenther@suse.de>
7298
7299 * gimple.c (gimple_set_modified): Do not queue calls to
7300 MODIFIED_NORETURN_CALLS here ...
7301 * tree-ssa-operands.c (update_stmt_operands): ... but here.
7302
5e5a425e
RG
73032011-04-08 Richard Guenther <rguenther@suse.de>
7304
7305 PR lto/48467
7306 * toplev.c (lang_dependent_init): Do not open asm_out_file
7307 in WPA mode, nor perform debug machinery initialization.
7308 (finalize): Do not unlink asm_out_file in WPA mode.
7309
9bfc434b
RG
73102011-04-08 Richard Guenther <rguenther@suse.de>
7311
7312 * gimple.h (gimple_call_fntype): New function.
7313 (gimple_call_return_type): Use it.
7314 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
7315 * gimple-low.c (gimple_check_call_args): Likewise.
7316 * gimple.c (gimple_call_flags): Likewise.
7317 (gimple_call_arg_flags): Likewise.
7318 (gimple_call_return_flags): Likewise.
7319 * tree-cfg.c (verify_gimple_call): Likewise.
7320 (do_warn_unused_result): Likewise.
7321 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
7322 * value-prof.c (gimple_ic_transform): Fix fndecl check.
7323
7c1f0b40
DM
73242011-04-08 Dmitry Melnik <dm@ispras.ru>
7325
7326 PR rtl-optimization/48235
7327 * sel-sched.c (code_motion_process_successors): Recompute the last
7328 insn in basic block if control flow changed.
7329 (code_motion_path_driver): Ditto. Recompute the first insn as well.
7330 Update condition for ilist_remove.
7331
ea4d630f
AM
73322011-04-08 Alexander Monakov <amonakov@ispras.ru>
7333
7334 PR rtl-optimization/48302
7335 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
7336 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
7337 it to record added preheader blocks.
7338 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
7339 on to sel_add_loop_preheaders.
7340 (sel_region_init): Move call to setup_current_loop_nest after
7341 sel_init_bbs.
7342
07643d76
AM
73432011-04-08 Alexander Monakov <amonakov@ispras.ru>
7344
7345 PR target/48273
7346 * cfgloop.h (loop_has_exit_edges): New helper.
7347 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
7348 non-clonable.
7349 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
7350 that have no exit edges.
7351
1f3b2b4e
AM
73522011-04-08 Alexander Monakov <amonakov@ispras.ru>
7353
7354 PR rtl-optimization/48442
7355 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
7356 all callers. Adjust assert.
7357
554f1948
JJ
73582011-04-08 Jakub Jelinek <jakub@redhat.com>
7359
7360 PR tree-optimization/48377
7361 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
7362 is_packed to true even for types with smaller TYPE_ALIGN than
7363 TYPE_SIZE.
7364
ddf72388
RG
73652011-04-08 Richard Guenther <rguenther@suse.de>
7366
7367 PR bootstrap/48513
7368 * doc/tm.texi: Re-generate.
7369
0c27e2d8
WG
73702011-04-08 Wei Guozhi <carrot@google.com>
7371
7372 PR target/47855
7373 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
7374 * config/arm/arm.c (arm_attr_length_push_multi): New function.
7375 * config/arm/arm.md (*push_multi): Change the length computation to
7376 call a C function.
7377
07c5f94e
AS
73782011-04-08 Anatoly Sokolov <aesok@post.ru>
7379
7380 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
7381 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
7382 * doc/tm.texi: Regenerate.
7383 * system.h (ASM_OUTPUT_BSS): Poison.
7384 * varasm.c (asm_output_bss): Remove function.
7385 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 7386
07c5f94e
AS
7387 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
7388 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
7389 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
7390 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7391 Likewise.
7392 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7393 Likewise.
7394 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
7395 Likewise.
7396 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
7397
5f2c36e1
JM
73982011-04-07 Joseph Myers <joseph@codesourcery.com>
7399
7400 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
7401 EnumValue lines.
7402
39e7722b
JM
74032011-04-07 Joseph Myers <joseph@codesourcery.com>
7404
7405 * config/m68k/m68k.c (m68k_handle_option): Don't handle
7406 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
7407 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
7408 OPT_mcpu32.
7409 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
7410 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
7411 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
7412 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
7413 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
7414 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
7415 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
7416 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
7417 options. Don't map other m68k options manually. Don't handle
7418 old-style options as canonical.
7419 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 7420 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 7421
cf103ca4
EB
74222011-04-07 Eric Botcazou <ebotcazou@adacore.com>
7423
7424 * basic-block.h (force_nonfallthru): Move to...
7425 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
7426 (force_nonfallthru): ...here.
7427 * cfghooks.c (force_nonfallthru): New function.
7428 * cfgrtl.c (force_nonfallthru): Rename into...
7429 (rtl_force_nonfallthru): ...this.
7430 (commit_one_edge_insertion): Do not set AUX field.
7431 (commit_edge_insertions): Do not discover new basic blocks.
7432 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
7433 (cfg_layout_rtl_cfg_hooks): Likewise.
7434 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
7435 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
7436 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
7437
14431f58
AS
74382011-04-07 Anatoly Sokolov <aesok@post.ru>
7439
7440 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
7441 Remove macros.
7442
3729983c
UB
74432011-04-07 Uros Bizjak <ubizjak@gmail.com>
7444
7445 * config/i386/sse.md: Update copyright year.
7446 (avxcvtvecmode): Remove.
7447 (sse_movhlps): Merge with *avx_movhlps.
7448 (sse_movlhps): Merge with *avx_movlhps.
7449 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
7450 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
7451 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
7452 (sse_loadhps): Merge with *avx_loadhps.
7453 (sse_storelps): Merge with *avx_storelps.
7454 (sse_loadlps): Merge with *avx_loadlps.
7455 (sse_movss): Merge with *avx_movss.
7456 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
7457 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
7458 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
7459 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
7460 (vec_set<mode>_0): Ditto.
7461 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
7462 (sse4_1_insertps): Merge with *avx_insertps.
7463 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
7464 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
7465 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
7466 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
7467 (sse2_storehpd): Merge with *avx_storehpd.
7468 (sse2_loadhpd): Merge with *avx_loadhpd.
7469 (sse2_loadlpd): Merge with *avx_loadlpd.
7470 (sse2_movsd): Merge with *avx_movsd.
7471 (*vec_concatv2df): Merge with *vec_concatv2df.
7472
4e626909
JJ
74732011-04-07 Jakub Jelinek <jakub@redhat.com>
7474
7475 PR debug/48343
7476 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 7477 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
7478 (try_combine): Add last_combined_insn parameter, pass it instead of
7479 i3 to propagate_for_debug.
7480
3729983c 74812011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
7482
7483 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
7484 to handle MDR <-> data register transfers.
7485 (movhi_internal): Likewise.
7486
20c03367
AM
74872011-04-07 Alan Modra <amodra@gmail.com>
7488
7489 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
7490 previous stack info.
7491
bf22920b
TV
74922011-04-07 Tom de Vries <tom@codesourcery.com>
7493
7494 PR target/43920
7495 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
7496 flow_find_cross_jump. Swap variables to implement backward replacement.
7497 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
7498
823918ae
TV
74992011-04-07 Tom de Vries <tom@codesourcery.com>
7500
7501 PR target/43920
7502 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
7503 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
7504 and bb2.
7505 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
7506 src1 or src2. Redirect edges to the last basic block. Update
7507 frequency and count on multiple basic blocks in case of fallthru.
823918ae 7508
472c95f5
TV
75092011-04-07 Tom de Vries <tom@codesourcery.com>
7510
7511 PR target/43920
7512 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
7513 function.
3729983c
UB
7514 (old_insns_match_p): Change return type. Replace return false/true
7515 with return dir_none/dir_both. Use can_replace_by.
7516 (flow_find_cross_jump): Add dir_p parameter. Init replacement
7517 direction from dir_p. Register replacement direction in dir, last_dir
7518 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
7519 merge_dir. Return replacement direction in dir_p.
7520 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
7521 return type of old_insns_match_p.
7522 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
7523 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
7524 flow_find_cross_jump.
7525 * basic-block.h (enum replace_direction): New type.
7526 (flow_find_cross_jump): Add parameter to declaration.
7527
a95d4000
UB
75282011-04-06 Uros Bizjak <ubizjak@gmail.com>
7529
7530 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
7531 (AVXMODEDCVTPS2DQ): Ditto.
7532 (VEC_FLOAT_MODE): Ditto.
7533 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
7534 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7535 (<any_logic:code><mode>3): Use VF mode iterator.
7536 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
7537 Use VF mode iterator.
7538 (copysign<mode>3): Use VF mode iterator.
7539 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
7540 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
7541 (*<any_logic:code><MODEF:mode>3): Merge with
7542 *avx_<any_logic:code><MODEF:mode>3.
7543 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
7544 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
7545 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
7546 (avx_cvtdq2ps<avxmodesuffix>): Remove.
7547 (sse2_cvtdq2ps): Use %v modifier.
7548 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
7549 (avx_cvtps2dq<avxmodesuffix>): Remove.
7550 (sse2_cvtps2dq): Use %v modifier.
7551 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
7552 (avx_cvttps2dq<avxmodesuffix>): Remove.
7553 (sse2_cvttps2dq): Use %v modifier.
7554 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
7555 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
7556 (sse2_cvtsd2siq): Fix insn template.
7557 (sse2_cvtsd2siq_2): Ditto.
7558 (sse2_cvttsd2siq): Ditto.
7559 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
7560 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
7561
ad01c437
JM
75622011-04-06 Joseph Myers <joseph@codesourcery.com>
7563
7564 * gcov-io.c: Use GCC Runtime Library Exception.
7565
fe846284
JJ
75662011-04-06 Jakub Jelinek <jakub@redhat.com>
7567
7568 PR debug/48466
7569 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
7570 as base_reg whatever register reg has been eliminated to, instead
7571 of hardcoding STACK_POINTER_REGNUM.
7572
acce4e77
JM
75732011-04-06 Joseph Myers <joseph@codesourcery.com>
7574
7575 * doc/tm.texi.in: Document C target hooks as separate from general
7576 target hooks.
7577 * doc/tm.texi: Regenerate.
7578 * genhooks.c (struct hook_desc): Add docname field.
7579 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
7580 docname field.
7581 (hook_array): Include c-target.def.
7582 (emit_documentation): Use docname field in output.
7583 (emit_init_macros): Take docname argument. Only emit definitions
7584 for hooks matching docname.
7585 (main): Expect additional arguments in all cases. Pass argument
7586 to emit_init_macros.
7587 * target.def: Move initial macro definitions and comments to
7588 target-hooks-macros.h.
7589 (gcc_targetcm): Move to c-family/c-target.def.
7590 * target.h (targetcm): Move declaration to c-family/c-target.h.
7591 * targhooks.c (default_handle_c_option): Move to
7592 c-family/c-opts.c.
7593 * targhooks.h (default_handle_c_option): Move declaration to
7594 c-family/c-common.h.
7595 * target-hooks-macros.h: New file.
7596 * config.gcc (target_has_targetcm): Define and use to add to
7597 c_target_objs and cxx_target_objs.
7598 * config/default-c.c: New file.
7599 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
7600 of target.h and target-def.h.
7601 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
7602 (darwin_objc_construct_string, darwin_cfstring_ref_p,
7603 darwin_check_cfstring_format_arg): Make static.
7604 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7605 TARGET_STRING_OBJECT_REF_TYPE_P,
7606 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
7607 * config/darwin-protos.h (darwin_objc_construct_string,
7608 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
7609 declare.
7610 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
7611 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 7612 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
7613 * config/t-darwin (darwin-c.o): Update dependencies.
7614 * system.h (TARGET_HAS_TARGETCM): Poison.
7615 * Makefile.in (TARGET_H): Update.
7616 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
7617 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
7618 (default-c.o): New target.
7619 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 7620 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
7621 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
7622 c-target.def.
7623 (build/genhooks.o): Update dependencies.
7624
275b4baa 76252011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 7626
275b4baa
RG
7627 * ipa-inline.c (enum inlining_mode): Remove.
7628 (cgraph_flatten): Use some other token.
7629 (cgraph_edge_early_inlinable_p): New function, split out from ...
7630 (cgraph_perform_always_inlining): New function, split out from ...
7631 (cgraph_decide_inlining_incrementally): ... here.
7632 (cgraph_mark_inline_edge): Adjust.
7633 (cgraph_early_inlining): Re-structure.
7634 (pass_early_inline): Require SSA form.
7635
f15b8bdf 76362011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
7637 Julian Brown <julian@codesourcery.com>
7638 Mark Shinwell <shinwell@codesourcery.com>
7639
7640 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
7641 LO_REGS only for Thumb-1.
7642 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
7643 be used in short instructions when optimising for size on Thumb-2.
7644
516426da
EB
76452011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7646
7647 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
7648 associated with user returns to be preserved.
7649
96621ebf
TG
76502011-04-06 Tristan Gingold <gingold@adacore.com>
7651
f15b8bdf
EB
7652 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
7653 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
7654 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
7655 if XCOFF_DEBUGGING_INFO.
7656
07c0852e
UB
76572011-04-06 Uros Bizjak <ubizjak@gmail.com>
7658
7659 * config/i386/i386.md (attribute isa): New.
7660 (attribute enabled): New.
7661 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
7662 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
7663 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
7664 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
7665 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
7666 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7667 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
7668 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
7669
7670 * config/i386/sse.md (VF): New mode iterator.
7671 (VF1): Ditto.
7672 (VF2): Ditto.
7673 (VF_128): Ditto.
7674 (SSEMODEF4): Remove.
7675 (attribute sse): Handle V8SF and V4DF modes.
7676 (<absneg:code><mode>2): Use VF mode iterator.
7677 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
7678 mode iterator.
7679 (<plusminus_insn><mode>3): Use VF mode iterator.
7680 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
7681 Use VF mode iterator.
7682 (<sse>_vm<plusminus_insn><mode>3): Merge with
7683 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
7684 (mul<mode>3): Use VF mode iterator.
7685 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
7686 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
7687 mode iterator.
7688 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
7689 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
7690 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
7691 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
7692 mode iterator.
7693 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
7694 Use VF1 mode iterator.
7695 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
7696 (sqrt<VF2:mode>2): New expander.
7697 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
7698 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
7699 and sqrtv2df2. Use VF mode iterator.
7700 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
7701 mode iterator.
7702 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
7703 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
7704 Use VF1 mode iterator.
7705 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
7706 (<smaxmin:code><mode>3): Use VF mode iterator.
7707 (*<smaxmin:code><mode>3_finite): Merge with
7708 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
7709 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
7710 (<sse>_vm<smaxmin:code><mode>2): Merge with
7711 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
7712 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
7713 mode iterator.
7714 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
7715 mode iterator.
7716 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
7717 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
7718 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
7719 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
7720 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
7721 VF mode iterator.
7722 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
7723 Use VF_128 mode iterator.
7724 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
7725 mode iterator.
7726 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
7727 VF_128 mode iterator.
7728 (vcond<mode>): Use VF mode iterator.
7729 * config/i386/predicates.md (sse_comparison_operator): Merge with
7730 avx_comparison_float_operator. Do not declare as special_predicate.
7731 * config/i386/i386.c (struct builtin_description): Update for renamed
7732 compare patterns.
7733 (ix86_expand_args_builtin): Ditto.
7734 (ix86_expand_sse_compare_mask): Ditto.
7735
ff5d142c
RG
77362011-04-06 Richard Guenther <rguenther@suse.de>
7737
7738 * tree-inline.c (estimate_num_insns): For calls simply account
7739 for all passed arguments and a used return value.
7740
d7d1d041 77412011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 7742
d7d1d041
RG
7743 PR tree-optimization/47663
7744 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
7745 call_stmt_time fields.
7746 (cgraph_edge_inlinable_p): Declare.
7747 (cgraph_edge_recursive_p): New inline function.
7748 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
7749 (cgraph_clone_edge): Copy it.
7750 * ipa-inline.c (cgraph_estimate_edge_time): New function.
7751 Account for call stmt time.
7752 (cgraph_estimate_time_after_inlining): Take edge argument.
7753 (cgraph_estimate_edge_growth): Account call stmt size.
7754 (cgraph_estimate_size_after_inlining): Take edge argument.
7755 (cgraph_mark_inline_edge): Adjust.
7756 (cgraph_check_inline_limits): Likewise.
7757 (cgraph_recursive_inlining_p): Remove.
7758 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
7759 (cgraph_decide_recursive_inlining): Take edge argument and
7760 adjust.
7761 (cgraph_decide_inlining_of_small_functions): Do not avoid
7762 diags for recursive inlining here.
7763 (cgraph_flatten): Adjust.
7764 (cgraph_decide_inlining_incrementally): Likewise.
7765 (estimate_function_body_sizes): Remove call cost handling.
7766 (compute_inline_parameters): Initialize caller edge call costs.
7767 (cgraph_estimate_edge_growth): New function.
7768 (cgraph_estimate_growth): Use it.
7769 (cgraph_edge_badness): Likewise.
7770 (cgraph_check_inline_limits): Take an edge argument.
7771 (cgraph_decide_inlining_of_small_functions): Adjust.
7772 (cgraph_decide_inlining): Likewise.
7773 * tree-inline.c (estimate_num_insns): Only account for call
7774 return value if it is used.
7775 (expand_call_inline): Avoid diagnostics on recursive inline
7776 functions here.
7777 * lto-cgraph.c (lto_output_edge): Output edge call costs.
7778 (input_edge): Input edge call costs.
7779
2feb95f7
RO
77802011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7781
7782 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
7783
26fbd9c2
JW
77842011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
7785
7786 * doc/invoke.texi (Spec Files): Fix typo.
7787
694dc0ca
EB
77882011-04-06 Eric Botcazou <ebotcazou@adacore.com>
7789
7790 * profile.c (branch_prob): Move declaration of local variable. Remove
7791 obsolete ??? comment. Expand the location explicitly instead of using
7792 the LOCATION_FILE and LOCATION_LINE macros.
7793
4925d0d5
WG
77942011-04-06 Wei Guozhi <carrot@google.com>
7795
7796 PR target/47855
7797 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
7798 (arm_cond_branch): Likewise.
7799 (arm_cond_branch_reversed): Likewise.
7800 (arm_jump): Likewise.
7801 (push_multi): Likewise.
7802 * config/arm/constraints.md (Py): New constraint.
7803
f55dfa2f
NF
78042011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7805
7806 PR bootstrap/48471
7807 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
7808 Move these...
7809 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
7810 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
7811 #ifdef DBX_DEBUGGING_INFO.
7812
fca96842
BS
78132011-04-05 Bernd Schmidt <bernds@codesourcery.com>
7814
7815 PR bootstrap/48403
7816 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
7817 if old and new states differ.
7818
30b83e38
JM
78192011-04-05 Joseph Myers <joseph@codesourcery.com>
7820
7821 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
7822 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
7823 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
7824 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
7825 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
7826 mcfv4e): Use Alias.
7827 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
7828 ColdFire options to -mcpu= options.
7829
277a9aa5
JL
78302011-04-05 Jeff Law <law@redhat.com>
7831
7832 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
7833 check if BB is a successor of LOOP->header and return
7834 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
7835
c1e2610e
SB
78362011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7837
7838 * cprop.c (struct reg_use): Remove.
7839 (reg_use_table): Make an array of RTX.
7840 (find_used_regs, constprop_register, local_cprop_pass,
7841 bypass_block): Simplify users of reg_use_table.
7842 (cprop_insn): Likewise. Iterate if copy propagation succeeded
7843 on one of the uses found by find_used_regs.
7844
e532f586
NF
78452011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7846
7847 PR bootstrap/48469
7848 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
7849 declaration.
7850
3fb7c055
NF
78512011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7852
7853 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
7854 as an rtx.
7855 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
7856
b71b43d9
SB
78572011-04-05 Steven Bosscher <steven@gcc.gnu.org>
7858
7859 PR middle-end/48441
7860 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
7861
b405b274
NF
78622011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7863
7864 * combine.c: Include obstack.h.
7865 (struct insn_link): Define.
7866 (uid_log_links): Adjust type.
7867 (FOR_EACH_LOG_LINK): New macro.
7868 (insn_link_obstack): Declare.
7869 (alloc_insn_link): Define.
7870 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
7871 type of link variables.
7872 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
7873 (try_combine, record_promoted_values, distribute_notes): Likewise.
7874 (distribute_links): Likewise. Tweak prototype.
7875 (clear_log_links): Delete.
7876 (adjust_for_new_dest): Call alloc_insn_link.
7877 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
7878
6409abe3
NF
78792011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7880
7881 * gcse.c (modify_mem_list): Convert to an array of VECs.
7882 (canon_modify_mem_list, compute_transp): Tweak formatting.
7883 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
7884 (load_killed_in_block_p): Likewise.
7885 (record_last_mem_set_info): Likewise.
7886 (clear_modify_mem_tables): Likewise.
7887
170d8157
TV
78882011-04-05 Tom de Vries <tom@codesourcery.com>
7889
7890 PR middle-end/48461
7891 * function.c (emit_use_return_register_into_block): Only define if
7892 HAVE_return.
7893
c5911a55
EB
78942011-04-05 Eric Botcazou <ebotcazou@adacore.com>
7895
7896 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
7897
abd016e6
JM
78982011-04-05 Joseph Myers <joseph@codesourcery.com>
7899
7900 * config/rx/rx-opts.h: New.
7901 * config/rx/rx.c (rx_cpu_type): Remove.
7902 (rx_handle_option): Don't assert that global structures are in
7903 use. Access variables via opts pointer. Defer most handling of
7904 OPT_mint_register_. Use error_at.
7905 (rx_option_override): Handle deferred OPT_mint_register_ here.
7906 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
7907 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
7908 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
7909 (rx_cpu_types): New Enum and EnumValue entries.
7910 (mint-register=): Use Defer and use Var accordingly.
7911
1ed13f83
NF
79122011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7913
7914 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
7915 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
7916 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
7917 Move these...
7918 (debug_free_queue, debug_nesting, symbol_queue_index):
7919 ...and these...
7920 * dbxout.c: ...to here. Make static.
7921
6ce1edcf
NF
79222011-04-05 Nathan Froyd <froydnj@codesourcery.com>
7923
7924 * gcse.c (modify_pair): Define. Define a VEC of it.
7925 (canon_modify_mem_list): Convert to an array of VECs.
7926 (free_insn_expr_list_list): Delete.
7927 (clear_modify_mem_tables): Call VEC_free instead.
7928 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
7929 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
7930 (canon_list_insert, compute_transp): Likewise.
7931
c201ac94
TV
79322011-04-05 Tom de Vries <tom@codesourcery.com>
7933
7934 PR target/43920
7935 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
7936 for size.
7937
4c029f40
TV
79382011-04-05 Tom de Vries <tom@codesourcery.com>
7939
7940 PR target/43920
7941 * function.c (emit_use_return_register_into_block): New function.
7942 (thread_prologue_and_epilogue_insns): Use
7943 emit_use_return_register_into_block.
7944
2a562b0a
TV
79452011-04-05 Tom de Vries <tom@codesourcery.com>
7946
7947 PR target/43920
7948 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
7949 insn.
7950
0248bceb
TV
79512011-04-05 Tom de Vries <tom@codesourcery.com>
7952
7953 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
7954
ffa94123
YZ
79552011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
7956
798dd0ba
UB
7957 * config/arm/arm.md (define_constants for unspec): Replace with
7958 define_c_enum.
7959 (define_constants for unspecv): Replace with define_c_enum.
7960 * config/arm/neon.md (define_constants for unspec): Replace with
7961 define_c_enum.
ffa94123 7962
3b8f9b46
RH
79632011-04-04 Richard Henderson <rth@redhat.com>
7964
720cf80f 7965 PR bootstrap/48400
3b8f9b46
RH
7966 * dwarf2out.c (output_line_info): Always emit line info from
7967 at least one section.
7968 (dwarf2out_init): Create text_section_line_info here ...
7969 (set_cur_line_info_table): ... not here.
7970
720cf80f 79712011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
7972
7973 PR target/48380
7974 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 7975 not called.
e5b0e1ca 7976
720cf80f 7977 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 7978
196565d4
SB
79792011-04-04 Steven Bosscher <steven@gcc.gnu.org>
7980
b77f9eab
SB
7981 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
7982 (expr_equiv_p): Remove.
7983 (insert_set_in_table): Look at <dest, src> pair instead of expr.
7984 (hash_scan_set): Update call to insert_set_in_table.
7985 (dump_hash_table): Dump <dest, src> pair.
7986 (lookup_set): Simplify. Lookup <dest, src> pair.
7987 (compute_transp): Remove, fold heavily simplified code into...
7988 (compute_local_properties): ...here. Expect COMP and TRANSP
7989 unconditionally.
7990 (find_avail_set): Take set directly from struct expr.
7991 (find_bypass-set): Likewise.
7992 (bypass_block): Likewise.
7993 (cprop_insn): Likewise. Remove redundant INSN_P test.
7994
384d7a55
SB
7995 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
7996 checks on form of COND from find_implicit_sets to here.
7997 (find_implicit_sets): Cleanup control flow. Split critical edges
7998 if it exposes implicit sets. Allocate/resize implicit_sets as
7999 necessary.
8000 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
8001 changed something. Run df_analyze after find_implicit_sets if any
8002 edges were split. Do not allocate implicit_sets here.
8003
3084ce69
SB
8004 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
8005 (gcse_obstack): Renamed to cprop_obstack.
8006 (GNEW, GNEWVEC, GNEWVAR): Remove.
8007 (gmalloc): Remove.
8008 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
8009 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
8010 (gcse_alloc): Likewise, and rename to cprop_alloc.
8011 (alloc_gcse_men, free_gcse_mem): Remove.
8012 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
8013 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
8014 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
8015
196565d4
SB
8016 * cprop.c (oprs_not_set_p): Remove.
8017 (mark_set, mark_clobber): Remove.
8018 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
8019 (reg_not_set_p): New function.
8020 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
8021 (cprop_insn): Likewise.
8022 (cprop_jump): Use FOR_EACH_EDGE.
8023
9b69cf83
BS
80242011-04-04 Bernd Schmidt <bernds@codesourcery.com>
8025
8026 PR bootstrap/48403
8027 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
8028 (rank_for_schedule): Use scheduled_insns vector instead of
8029 last_scheduled_insn.
8030 (ok_for_early_queue_removal): Likewise.
8031 (queue_to_ready): Search forward in nonscheduled_insns_begin if
8032 we have a dbg_cnt.
8033 (choose_ready): Likewise.
8034 (commit_schedule): Use VEC_iterate.
8035 (schedule_block): Initialize nonscheduled_insns_begin. If we have
8036 a dbg_cnt, use it and ensure the first insn is in the ready list.
8037 (haifa_sched_init): Allocate scheduled_insns.
8038 (sched_extend_ready_list): Don't allocate it; reserve space.
8039 (haifa_sched_finish): Free it.
8040
24f48c2f
JM
80412011-04-04 Joseph Myers <joseph@codesourcery.com>
8042
8043 * optc-gen.awk: Always remove type from Variable entry before
8044 recording in var_seen.
8045
8effe856
EB
80462011-04-04 Eric Botcazou <ebotcazou@adacore.com>
8047
8048 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
8049 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
8050 call to tidy_fallthru_edges.
8051
413519ae
JM
80522011-04-04 Joseph Myers <joseph@codesourcery.com>
8053
8054 * doc/options.texi (ToLower): Document.
3729983c 8055 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
8056 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
8057 * opts.h (cl_option): Add cl_tolower field.
8058 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
8059 arguments with lowercase strings.
8060 * config/rx/rx.opt (mcpu=): Add ToLower.
8061 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
8062 argument.
8063
7d34a1b0
RS
80642011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
8065
8066 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
8067
c30e7434
RS
80682011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
8069
8070 * config/vax/vax.c: Include reload.h.
8071
112a861d
AS
80722011-04-04 Anatoly Sokolov <aesok@post.ru>
8073
8074 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
8075 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8076 (sparc_preferred_reload_class): New function.
8077
e8c6bb74
JJ
80782011-04-04 Jakub Jelinek <jakub@redhat.com>
8079
2aeaa366 8080 PR debug/48401
e8c6bb74
JJ
8081 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
8082 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
8083
2c081caf
NF
80842011-04-03 Nathan Froyd <froydnj@codesourcery.com>
8085
8086 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
8087 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
8088
53802f27
AS
80892011-04-03 Anatoly Sokolov <aesok@post.ru>
8090
8091 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
8092 (ASM_OUTPUT_ALIGNED_BSS): Define.
8093
e89964e3
MM
80942011-04-03 Michael Matz <matz@suse.de>
8095
8096 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
8097 and next_slot members.
8098 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
8099 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
8100 (lto_streamer_cache_append): Declare.
8101 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
8102 unsigned index, remove offset parameter, ensure that we append
8103 or update existing entries.
8104 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
8105 parameter, update next_slot for append.
8106 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
8107 parameter.
8108 (lto_streamer_cache_insert_at): Likewise.
8109 (lto_streamer_cache_append): New function.
8110 (lto_streamer_cache_lookup): Use unsigned index.
8111 (lto_streamer_cache_get): Likewise.
8112 (lto_record_common_node): Don't test tree_node_can_be_shared.
8113 (preload_common_node): Adjust call to lto_streamer_cache_insert.
8114 (lto_streamer_cache_delete): Don't free offsets member.
8115 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
8116 (lto_output_string_with_length): Use lto_output_data_stream.
8117 (lto_output_tree_header): Remove ix parameter, don't write it.
8118 (lto_output_builtin_tree): Likewise.
8119 (lto_write_tree): Adjust callers to above, don't track and write
8120 offset, write unsigned index.
8121 (output_unreferenced_globals): Don't emit all global vars.
8122 (write_global_references): Use unsigned indices.
8123 (lto_output_decl_state_refs): Likewise.
8124 (write_symbol): Likewise.
8125 * lto-streamer-in.c (lto_input_chain): Move earlier.
8126 (input_function): Use unsigned index.
8127 (input_alias_pairs): Don't read and then ignore all global vars.
8128 (lto_materialize_tree): Remove ix_p parameter, don't read index,
8129 don't pass it back, use lto_streamer_cache_append.
8130 (lto_register_var_decl_in_symtab): Use unsigned index.
8131 (lto_register_function_decl_in_symtab): Likewise.
8132 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
8133 index.
8134 (lto_get_builtin_tree): Don't read index, use
8135 lto_streamer_cache_append.
8136 (lto_read_tree): Adjust call to lto_materialize_tree.
8137
8138 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
8139 don't use function calls in arguments to MIN.
8140
8141 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
8142 twice.
8143
8144 * gimple.c (gimple_type_leader_entry): Mark deletable.
8145
b9a5b5b2
AM
81462011-04-03 Alan Modra <amodra@gmail.com>
8147
8148 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
8149
ac6a641b
MM
81502011-04-03 Michael Matz <matz@suse.de>
8151
8152 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
8153 an integer.
8154 * tree.h (tree_decl_non_common.vindex): Adjust comment.
8155
0038d4e0
MM
81562011-04-03 Michael Matz <matz@suse.de>
8157
e9c18386 8158 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
8159 * gimple-fold.c (canonicalize_constructor_val): Accept being called
8160 without function context.
8161 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
8162 current_function_decl and cfun.
8163
91f2fae8
MM
81642011-04-03 Michael Matz <matz@suse.de>
8165
8166 * tree.c (decl_init_priority_insert): Don't create entry for
8167 default priority.
8168 (decl_fini_priority_insert): Ditto.
8169 (fields_compatible_p, find_compatible_field): Remove.
8170 * tree.h (fields_compatible_p, find_compatible_field): Remove.
8171 * gimple.c (gimple_compare_field_offset): Adjust block comment.
8172
da29e070
EB
81732011-04-03 Eric Botcazou <ebotcazou@adacore.com>
8174
8175 * combine.c (try_combine): Remove useless local variable.
8176
4979c28b 81772011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 8178 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
8179
8180 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
8181 non-variable offsets and compare the remaining bases of the two
8182 accesses instead of looking for exact same data-ref.
8183
b4ddcaee
KT
81842011-04-02 Kai Tietz <ktietz@redhat.com>
8185
f90298e1
KT
8186 PR target/48416
8187 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
8188
b4ddcaee
KT
8189 * i386.c (ix86_is_msabi_thiscall): New helper function.
8190 (ix86_is_type_thiscall): New helper function.
8191 (ix86_comp_type_attributes): Handle thiscall for method-functions
8192 special.
8193 (init_cumulative_args): Likewise.
8194 (find_drap_reg): Likewise.
8195 (ix86_static_chain): Likewise.
8196 (x86_this_parameter): Likewise.
8197 (x86_output_mi_thunk): Likewise.
8198
2a9d769a 81992011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
8200 Nicolas Setton <setton@adacore.com>
8201 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
8202
8203 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
8204 (add_gnat_descriptive_type_attribute): New function.
8205 (gen_array_type_die): Call it.
8206 (gen_enumeration_type_die): Likewise.
8207 (gen_struct_or_union_type_die): Likewise.
8208 (modified_type_die): Likewise.
8209 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
8210 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
8211 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
8212
15a03a11
JJ
82132011-04-01 Jakub Jelinek <jakub@redhat.com>
8214
8215 PR bootstrap/48148
8216 * dwarf2out.c (resolve_addr): Don't call force_decl_die
8217 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
8218
8219 Revert:
8220 2011-03-17 Richard Guenther <rguenther@suse.de>
8221
8222 PR bootstrap/48148
8223 * lto-cgraph.c (input_overwrite_node): Clear the abstract
8224 origin for decls in other ltrans units.
8225 (input_varpool_node): Likewise.
8226
19228b93
JJ
82272011-04-01 Jakub Jelinek <jakub@redhat.com>
8228
8229 PR middle-end/48335
8230 * expr.c (expand_assignment): Handle all possibilities
8231 if TO_RTX is CONCAT.
e9c18386 8232 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
8233 (store_split_bit_field): If SUBREG_REG (op0) or
8234 op0 itself has smaller mode than word, return it
8235 for offset 0 and const0_rtx for out-of-bounds stores.
8236 If word is const0_rtx, skip it.
8237
88cb339e
N
82382011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
8239
8240 * config/h8300/h8300.c (print_operand_address): Rename to...
8241 (h8300_print_operand_address): ...this. Make static. Adjust comments.
8242 Call h8300_print_operand and h8300_print_operand_address instead of
8243 print_operand and print_operand_address. Declare.
8244 (print_operand): Renake to...
8245 (h8300_print_operand): ...this. Make static. Adjust comments.
8246 Call h8300_print_operand instead of print_operand. Declare.
8247 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
8248 (h8300_register_move_cost): Likewise.
8249 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
8250 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
8251 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
8252 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
8253 * config/h8300/h8300-protos.h (print_operand): Delete.
8254 (print_operand_address): Delete.
8255
756d6ee9
RH
82562011-04-01 Richard Henderson <rth@redhat.com>
8257
8258 PR 48400
8259 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
8260 in strict mode before dwarf4. Re-order tests to early out
8261 before switching sections.
8262
ceaaaeab
NF
82632011-04-01 Nathan Froyd <froydnj@codesourcery.com>
8264
8265 * config/h8300/constraints.md: New file.
8266 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
8267 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
8268 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
8269 * config/h8300/predicates.md (bit_operand): Likewise.
8270 (incdec_operand): Use satisfies_constraint_M and
8271 satisfies_constraint_O. Don't use C code block.
8272 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
8273 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
8274 (compute_mov_length): Use satisfies_constraint_G.
8275 (fix_bit_operand): Use satisfies_constraint_U.
8276 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
8277 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
8278 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
8279 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
8280 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
8281 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
8282 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8283 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
8284 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
8285 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
8286 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
8287 (EXTRA_MEMORY_CONSTRAINT): Delete.
8288
08ae38e0
AP
82892011-04-01 Andrew Pinski <pinskia@gmail.com>
8290 Michael Meissner <meissner@linux.vnet.ibm.com>
8291
8292 PR target/48262
8293 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
8294 operands, as per the specifications.
8295
8296 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
8297 (vec_extract_evenv4sf): Ditto.
8298 (vec_extract_evenv8hi): Ditto.
8299 (vec_extract_evenv16qi): Ditto.
8300 (vec_extract_oddv4si): Ditto.
8301
bdb0b0f6
MW
83022011-03-31 Mark Wielaard <mjw@redhat.com>
8303
8304 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
8305 high_pc attribute if the CU has no associated code. Only output
8306 DW_AT_entry_pc for CU if not generating strict dwarf and
8307 dwarf_version < 4.
8308
722279e4
BS
83092011-04-01 Bernd Schmidt <bernds@codesourcery.com>
8310
8311 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
8312 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
8313 out of ...
8314 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
8315 * final.c (final_start_function): Call the new function rather
8316 than using a NULL argument for dwarf2out_frame_debug.
8317
c5dd277d
BS
8318 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
8319 that contains the prologue.
8320
ec4efea9
BS
8321 * haifa-sched.c (queue_insn): New arg REASON. All callers
8322 changed. Print it in debugging output.
8323
2a6a0d80
BS
8324 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
8325
86014d07
BS
8326 * sched-ebb.c (begin_schedule_ready): Remove second argument.
8327 Split most of the code into...
8328 (begin_move_insn): ... here. New function.
8329 (ebb_sched_info): Add a pointer to it.
8330 * haifa-sched.c (scheduled_insns): New static variable.
8331 (sched_extend_ready_list): Allocate it.
8332 (schedule_block): Use it to record the order of scheduled insns.
8333 Perform RTL changes to move insns only after all scheduling
8334 decisions have been made.
8335 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
8336 begin_move_insn field.
8337 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
8338 * sched-int.h (struct haifa_sched_info): Remove second argument
8339 from begin_schedule_ready hook. Add new member begin_move_insn.
8340 * sched-rgn.c (begin_schedule_ready): Remove second argument.
8341 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
8342
9d701248
BS
8343 * haifa-sched.c (prune_ready_list): New function, broken out of
8344 schedule_block.
8345 (schedule_block): Use it.
8346
1ca1dad5
UW
83472011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8348
8349 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
8350
49568e45
KT
83512011-04-01 Kai Tietz <ktietz@redhat.com>
8352
8353 * config.gcc (*-*-mingw*): Allow as option the
8354 posix threading model.
07c0852e 8355 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
8356 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
8357 definition.
8358 (CPP_SPEC): Add pthread/no-pthread handling.
8359 (LIB_SPEC): Likewise.
8360 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
8361 (LIB_SPEC): Likewise.
8362 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
8363 flag to pass -pthread option for shared libgcc build.
8364 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
8365 for shared libgcc build.
8366 * config/i386/t-mingw-pthread: New file.
8367 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
8368 New define to enable use of library pthread by default.
8369 * config/i386/mingw.opt (pthread): New driver option.
8370 (no-pthread): New driver option.
e9c18386 8371 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
8372 * config/i386/mingw-w64.opt: Likewise.
8373
748f7574 83742011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
8375
8376 * c-decl.c (grokdeclarator): Fix formatting.
8377
f04713ee
RS
83782011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8379
8380 * expr.c (emit_block_move_via_movmem): Use n_generator_args
8381 instead of n_operands.
8382 (set_storage_via_setmem): Likewise.
8383 * optabs.c (maybe_gen_insn): Likewise.
8384 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
8385 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
8386 (mips_expand_builtin_direct): Likewise.
8387 * config/spu/spu.c (expand_builtin_args): Likewise.
8388
b29387ee
RS
83892011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8390
8391 * recog.h (insn_data_d): Add n_generator_args.
8392 * genoutput.c (data): Likewise.
8393 (output_insn_data): Print it.
8394 (max_opno, num_dups): Delete.
8395 (scan_operands): Just fill in "d->operand[...]".
8396 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
8397
e792559a
RS
83982011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
8399
8400 * gensupport.h (pattern_stats): New structure.
8401 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
8402 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
8403 (max_operand_1, max_operand_vec): Delete.
8404 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
8405
e8110d6f
NF
84062011-03-31 Nathan Froyd <froydnj@codesourcery.com>
8407
8408 * emit-rtl.c (emit_pattern_after_setloc): New function.
8409 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
8410 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
8411 (emit_pattern_after): New function.
8412 (emit_insn_after, emit_jump_insn_after): Call it.
8413 (emit_call_insn_after, emit_debug_insn_after): Likewise.
8414 (emit_pattern_before_setloc): New function.
8415 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
8416 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
8417 Likewise.
8418 (emit_pattern_before): New function.
8419 (emit_insn_before, emit_jump_insn_before): Call it.
8420 (emit_call_insn_before, emit_debug_insn_before): Likewise.
8421
576f85f1
RH
84222011-03-31 Richard Henderson <rth@redhat.com>
8423
8424 * dwarf2out.c (dw_separate_line_info_ref): Remove.
8425 (dw_separate_line_info_entry): Remove.
8426 (enum dw_line_info_opcode): New.
8427 (dw_line_info_entry): Use it.
8428 (dw_line_info_table, dw_line_info_table_p): New.
8429 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
8430 (line_info_table, line_info_label_num): Remove.
8431 (line_info_table_in_use): Remove.
8432 (separate_line_info_table): Remove.
8433 (separate_line_info_table_allocated): Remove.
8434 (separate_line_info_table_in_use): Remove.
8435 (LINE_INFO_TABLE_INCREMENT): Remove.
8436 (line_info_label_num): New.
8437 (cur_line_info_table): New.
8438 (text_section_line_info, cold_text_section_line_info): New.
8439 (separate_line_info): New.
8440 (SEPARATE_LINE_CODE_LABEL): Remove.
8441 (print_dwarf_line_table): Remove.
8442 (debug_dwarf): Don't dump it.
8443 (output_one_line_info_table): New.
8444 (output_line_info): Use it.
8445 (new_line_info_table): New.
8446 (set_cur_line_info_table): New.
8447 (dwarf2out_switch_text_section): Use it.
8448 (dwarf2out_begin_function): Likewise.
8449 (push_dw_line_info_entry): New.
8450 (dwarf2out_source_line): Rewrite for new line info tables.
8451 (dwarf2out_init): Remove dead initailizations.
8452
300d83d9
JM
84532011-03-31 Joseph Myers <joseph@codesourcery.com>
8454
8455 * opts.h (cl_option): Add comments to fields. Add bit-fields for
8456 various flags.
8457 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
8458 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
8459 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
8460 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
8461 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
8462 * opt-functions.awk (flag_init, switch_bit_fields): New.
8463 (switch_flags): Don't handle flags moved to bit-fields. Don't
8464 generate CL_MISSING_OK or CL_SAVE.
8465 * optc-gen.awk: Update to generate bit-field output as well as
8466 flags field.
8467 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
8468 bit-field instead of CL_REJECT_DRIVER flag.
8469 * opts-common.c (generate_canonical_option,
8470 decode_cmdline_option): Use bit-fields instead of CL_* flags.
8471 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
8472 instead of CL_REJECT_NEGATIVE flag.
8473 * toplev.c (print_switch_values): Use cl_report bit-field instead
8474 of CL_REPORT flag.
8475
d4d73ce2
EB
84762011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8477
8478 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
8479 a zero minimum index only if it is redundant.
8480
b8faca75
VM
84812011-03-31 Vladimir Makarov <vmakarov@redhat.com>
8482
8483 PR rtl-optimization/48381
8484 * ira-color.c (assign_hard_reg): Use hard reg set intersection
8485 instead of ira_class_hard_reg_index for calculating conflicting
8486 hard registers.
8487
7d11cebe
SB
84882011-03-31 Steven Bosscher <steven@gcc.gnu.org>
8489
8490 * cprop.c: Clean up hash table building.
8491 (reg_avail_info): Remove.
8492 (oprs_available_p): Remove.
8493 (record_last_reg_set_info): Remove.
8494 (record_last_set_info): Remove.
8495 (reg_available_p): New function.
8496 (gcse_constant_p): Do not treat unfolded conditions as constants.
8497 (make_set_regs_unavailable): New function.
8498 (hash_scan_set): Simplify with new reg_available_p.
8499 (compute_hash_table_work): Traverse insns stream only once.
8500 Do not compute reg_avail_info. Traverse insns in reverse order.
8501 Record implicit sets after recording explicit sets from the block.
8502
98faf84f
MM
85032011-03-31 Michael Matz <matz@suse.de>
8504
e9c18386 8505 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 8506
f52d97da
AS
85072011-03-31 Anatoly Sokolov <aesok@post.ru>
8508
8509 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
8510 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
8511 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8512 (h8300_mode_dependent_address_p): New function.
8513 (h8300_get_index): Make static.
8514
e16b6fd0
JL
85152011-03-31 Jeff Law <law@redhat.com>
8516
10c51983
JL
8517 * reload1.c (elimination_effects): Fix typo in recent change.
8518
e9c18386 8519 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
8520 typo potentially leading to null pointer dereference.
8521
8522 * caller-save.c (new_saved_hard_reg): Eliminate return value.
8523 (setup_save_areas): Corresponding changes to avoid useless
8524 assignments.
8525
8526 * jump.c (reversed_comparison_code_parts): Avoid successive return
8527 statements when REVERSE_CONDITION is defined.
8528
8529 * expr.c (expand_assignment): Avoid useless assignments.
8530 (expand_expr_real_1): Likewise.
8531 (expand_expr_real_2): Avoid useless statements.
8532
8533 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
8534
8535 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
8536
8537 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
8538 statements.
8539
8540 * stmt.c (expand_expr_stmt): Avoid useless assignment.
8541
eb1eb914
JM
85422011-03-31 Joseph Myers <joseph@codesourcery.com>
8543
8544 PR target/47109
8545 * doc/tm.texi.in (TARGET_VERSION): Remove.
8546 * doc/tm.texi: Regenerate.
8547 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
8548 * collect2.c (main): Don't use TARGET_VERSION.
8549 * mips-tdump.c (main): Don't use TARGET_VERSION.
8550 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 8551 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
8552 * config/rs6000/vxworksae.h: Remove.
8553 * config/alpha/alpha.h (TARGET_VERSION): Remove.
8554 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
8555 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
8556 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
8557 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8558 * config/arm/arm.h (TARGET_VERSION): Remove.
8559 * config/arm/coff.h (TARGET_VERSION): Remove.
8560 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
8561 * config/arm/elf.h (TARGET_VERSION): Remove.
8562 * config/arm/freebsd.h (TARGET_VERSION): Remove.
8563 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
8564 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
8565 * config/arm/pe.h (TARGET_VERSION): Remove.
8566 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
8567 * config/arm/semi.h (TARGET_VERSION): Remove.
8568 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
8569 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
8570 * config/arm/vxworks.h (TARGET_VERSION): Remove.
8571 * config/avr/avr.h (TARGET_VERSION): Remove.
8572 * config/bfin/bfin.h (TARGET_VERSION): Remove.
8573 * config/fr30/fr30.h (TARGET_VERSION): Remove.
8574 * config/frv/frv.h (TARGET_VERSION): Remove.
8575 * config/h8300/h8300.h (TARGET_VERSION): Remove.
8576 * config/i386/cygwin.h (TARGET_VERSION): Remove.
8577 * config/i386/darwin.h (TARGET_VERSION): Remove.
8578 * config/i386/darwin64.h (TARGET_VERSION): Remove.
8579 * config/i386/djgpp.h (TARGET_VERSION): Remove.
8580 * config/i386/freebsd.h (TARGET_VERSION): Remove.
8581 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
8582 * config/i386/gnu.h (TARGET_VERSION): Remove.
8583 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
8584 * config/i386/i386elf.h (TARGET_VERSION): Remove.
8585 * config/i386/linux.h (TARGET_VERSION): Remove.
8586 * config/i386/linux64.h (TARGET_VERSION): Remove.
8587 * config/i386/lynx.h (TARGET_VERSION): Remove.
8588 * config/i386/mingw32.h (TARGET_VERSION): Remove.
8589 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
8590 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
8591 * config/i386/netware.h (TARGET_VERSION): Remove.
8592 * config/i386/nto.h (TARGET_VERSION): Remove.
8593 * config/i386/openbsd.h (TARGET_VERSION): Remove.
8594 * config/i386/vxworks.h (TARGET_VERSION): Remove.
8595 * config/ia64/elf.h (TARGET_VERSION): Remove.
8596 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
8597 * config/ia64/hpux.h (TARGET_VERSION): Remove.
8598 * config/ia64/linux.h (TARGET_VERSION): Remove.
8599 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
8600 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
8601 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8602 * config/lm32/lm32.h (TARGET_VERSION): Remove.
8603 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
8604 * config/m32c/m32c.h (TARGET_VERSION): Remove.
8605 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
8606 * config/m32r/m32r.h (TARGET_VERSION): Remove.
8607 * config/m68k/linux.h (TARGET_VERSION): Remove.
8608 * config/m68k/m68k.h (TARGET_VERSION): Remove.
8609 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
8610 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
8611 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
8612 * config/mep/mep.h (TARGET_VERSION): Remove.
8613 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
8614 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8615 * config/mips/iris6.h (MACHINE_TYPE): Remove.
8616 * config/mips/linux.h (TARGET_VERSION): Remove.
8617 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
8618 * config/mips/vxworks.h (TARGET_VERSION): Remove.
8619 * config/mmix/mmix.h (TARGET_VERSION): Remove.
8620 * config/mn10300/linux.h (TARGET_VERSION): Remove.
8621 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
8622 * config/pa/pa.h (TARGET_VERSION): Remove.
8623 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
8624 * config/picochip/picochip.h (TARGET_VERSION): Remove.
8625 * config/rs6000/aix.h (TARGET_VERSION): Remove.
8626 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
8627 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
8628 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
8629 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
8630 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
8631 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
8632 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
8633 * config/rs6000/linux.h (TARGET_VERSION): Remove.
8634 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
8635 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
8636 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
8637 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
8638 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
8639 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
8640 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
8641 * config/s390/linux.h (TARGET_VERSION): Remove.
8642 * config/s390/s390.h (TARGET_VERSION): Remove.
8643 * config/s390/tpf.h (TARGET_VERSION): Remove.
8644 * config/score/score.h (TARGET_VERSION): Remove.
8645 * config/sh/linux.h (TARGET_VERSION): Remove.
8646 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
8647 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
8648 * config/sh/sh.h (TARGET_VERSION): Remove.
8649 * config/sh/sh64.h (TARGET_VERSION): Remove.
8650 * config/sh/superh.h (TARGET_VERSION): Remove.
8651 * config/sh/vxworks.h (TARGET_VERSION): Remove.
8652 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
8653 * config/sparc/linux.h (TARGET_VERSION): Remove.
8654 * config/sparc/linux64.h (TARGET_VERSION): Remove.
8655 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
8656 TARGET_NAME32, TARGET_NAME): Remove.
8657 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
8658 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
8659 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
8660 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
8661 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
8662 * config/spu/spu.h (TARGET_VERSION): Remove.
8663 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
8664 * config/v850/v850.h (TARGET_VERSION): Remove.
8665 * config/vax/linux.h (TARGET_VERSION): Remove.
8666 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
8667 * config/xtensa/elf.h (TARGET_VERSION): Remove.
8668 * config/xtensa/linux.h (TARGET_VERSION): Remove.
8669
ace31bca
EB
86702011-03-31 Eric Botcazou <ebotcazou@adacore.com>
8671
8672 PR target/48142
8673 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
8674 frame-related from frame-unrelated adjustments to the stack pointer.
8675
76f9db36
JJ
86762011-03-31 Jakub Jelinek <jakub@redhat.com>
8677
8678 * common.opt (fdebug-types-section): Move earlier.
8679 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
8680
b7826465
AT
86812011-03-31 Andreas Tobler <andreast@fgznet.ch>
8682
8683 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
8684 var.
8685
1290e54c
NF
86862011-03-30 Nathan Froyd <froydnj@codesourcery.com>
8687
8688 * tree.h (CASE_CHAIN): Define.
8689 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
8690 (gimple_redirect_edge_and_branch): Likewise.
8691
bddc98e1
VM
86922011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8693
8694 PR middle-end/48367
8695 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
8696 calculation.
8697
c865e437
JL
86982011-03-30 Jeff Law <law@redhat.com>
8699
b3750213 8700 * PR bootstrap/48371
c865e437
JL
8701 * reload1.c (reload): Fix botch in last change.
8702
8703 * reload.h (struct reload): Fix typo introduced in last change.
8704
2cdf9574
JM
87052011-03-30 Joseph Myers <joseph@codesourcery.com>
8706
8707 * config/arm/arm.opt (mhard-float, msoft-float): Mark
8708 Undocumented. Remove help text.
8709 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
8710 -mhard-float.
8711
666a21a2
JM
87122011-03-30 Joseph Myers <joseph@codesourcery.com>
8713
8714 * doc/options.texi (NegativeAlias): Document.
8715 (Alias): Mention NegativeAlias.
8716 * opt-functions.awk: Handle NegativeAlias.
e9c18386 8717 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
8718 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
8719 * opts.h (CL_NEGATIVE_ALIAS): Define.
8720 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
8721 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
8722 OPT_mspe_.
8723 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
8724 Alias entries.
8725 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
8726 mno-spe and mno-isel instead of mspe=no and -misel=no.
8727
0fa4e351
MW
87282011-03-29 Mark Wielaard <mjw@redhat.com>
8729
8730 * common.opt (fdebug-types-section): New flag.
8731 * doc/invoke.texi: Document new -fno-debug-types-section flag.
8732 * dwarf2out.c (use_debug_types): New define.
8733 (struct die_struct): Mark die_id with GTY desc use_debug_types.
8734 (print_die): Guard output of type unit signatures using
8735 use_debug_types.
8736 (build_abbrev_table): Replace assert of dwarf_version >= 4
8737 with assert on use_debug_types.
8738 (size_of_die): Likewise.
8739 (unmark_dies): Likewise.
8740 (value_format): Decide AT_ref_external form on use_debug_types.
8741 (output_die): Replace dwarf_version version check guard with
8742 use_debug_types where appropriate.
8743 (modified_type_die): Likewise.
8744 (gen_reference_type_die): Likewise.
8745 (dwarf2out_start_source_file): Likewise.
8746 (dwarf2out_end_source_file): Likewise.
8747 (prune_unused_types_walk_attribs): Likewise.
8748 (dwarf2out_finish): Likewise.
8749
4648deb4
VM
87502011-03-30 Vladimir Makarov <vmakarov@redhat.com>
8751
8752 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
8753
4f431835
RS
87542011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8755
8756 PR rtl-optimization/48332
8757 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
8758 mode of input operand N and modeN to its actual mode.
8759
f2034d06
JL
87602011-03-30 Jeff Law <law@redhat.com>
8761
8762 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
8763 define accessor macro.
8764 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
8765 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
8766 (reg_equiv_init): Likewise.
8767 (reg_equivs_size): New variable.
8768 (reg_equiv_init_size): Remove.
8769 (allocate_initial_values): Move prototype to here from....
8770 * integrate.h (allocate_initial_values): Remove prototype.
8771 * integrate.c: Include reload.h.
8772 (allocate_initial_values): Corresponding changes.
8773 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
8774 (fix_reg_equiv_init, no_equiv): Corresponding changes.
8775 (update_equiv_regs): Corresponding changes.
8776 (ira): Corresponding changes.
8777 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
8778 (push_secondary_reload): Corresponding changes.
8779 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
8780 (make_memloc, find_reloads_address): Corresponding changes.
8781 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
8782 (find_reloads_address_1): Corresponding changes.
8783 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
8784 (refers_to_regno_for_reload_p): Corresponding changes.
8785 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
8786 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
8787 * reload1.c: Include ggc.h.
8788 (grow_reg_equivs): New function.
8789 (replace_pseudos_in, reload): Corresponding changes.
8790 (calculate_needs_all_insns, alter_regs): Corresponding changes.
8791 (eliminate_regs_1, elimination_effects): Corresponding changes.
8792 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
8793 (delete_output_reload): Likewise.
8794 * caller-save.c (mark_referenced_regs): Corresponding changes.
8795 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
8796 * frv/predicates.md (frv_load_operand): Corresponding changes.
8797 * microblaze/microblaze.c (double_memory_operand): Corresponding
8798 changes.
8799 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
8800 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 8801 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
8802 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
8803 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
8804 changes.
8805 * pa/pa.c (emit_move_sequence): Corresponding changes.
8806 * vax/vax.c (nonindexed_address_p): Corresponding changes.
8807
159b81b0
RS
88082011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8809
8810 PR target/47551
8811 * config/arm/arm.c (coproc_secondary_reload_class): Handle
8812 structure modes. Don't check neon_vector_mem_operand for
8813 vector or structure modes.
8814
a6217191
RS
88152011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
8816 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8817
8818 PR target/43590
8819 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
8820 operand 1 and reshuffle the operands to match.
8821 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
8822
bd837408
CS
88232011-03-30 Christian Schüler <cschueler@gmx.de>
8824
6955d771 8825 PR driver/48208
bd837408 8826 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 8827
6955d771 8828 PR driver/48260
bd837408
CS
8829 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
8830 handler function.
8831 * config/darwin.opt: Added '-arch' option.
8832
e9c0470a
NC
88332011-03-30 Nick Clifton <nickc@redhat.com>
8834
8835 * config/rx/rx.md: Add peepholes and patterns to combine
8836 extending loads and simple arithmetic instructions.
8837 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
8838 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
8839 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 8840 modes to use pre-decrement and post-increment addressing.
e9c18386 8841 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 8842 addresses.
e9c18386
UB
8843 (rx_print_operand): Add support for %Q. Fix handling of %Q.
8844 (rx_memory_move_cost): Adjust cost of stores.
8845 (rx_adjust_insn_length): New function.
e9c0470a 8846
8a87e7ab
JJ
88472011-03-30 Jakub Jelinek <jakub@redhat.com>
8848
8849 PR c/48305
8850 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
8851 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
8852 matching arg00/arg01 types.
8853
12486e03
EB
88542011-03-30 Eric Botcazou <ebotcazou@adacore.com>
8855
8856 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
8857 last_location to UNKNOWN_LOCATION.
8858
0b99eef6
L
88592011-03-30 H.J. Lu <hongjiu.lu@intel.com>
8860
8861 PR target/48349
8862 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
8863 FLOAT_SSE_REGS.
8864
023592aa
JM
88652011-03-30 Joseph Myers <joseph@codesourcery.com>
8866 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8867
8868 PR bootstrap/48337
8869 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
8870 Init(PROCESSOR_V7).
8871 (sparc_cpu): Likewise.
8872 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
8873 PROCESSOR_V7.
8874
ad3b266b
VM
88752011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8876
8877 PR target/48336
8878 PR middle-end/48342
8879 PR rtl-optimization/48345
8880 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
8881 hard regs for given mode from profitable regs when doing secondary
8882 allocation.
8883
633c9126
JL
88842011-03-29 Jeff Law <law@redhat.com>
8885
8886 PR bootstrap/48327
8887 * tree-ssa-threadupdate.c (struct redirection_data): Remove
8888 do_not_duplicate field.
8889 (lookup_redirection_data): Corresponding changes.
8890 (create_duplicates): Always create a template block.
8891 (redirect_edges): Remove code which reused the original block
8892 when it was going to become unreachable code.
8893 (thread_block): Don't set do_not_duplicate field.
8894
eb50f63a
JM
88952011-03-29 Joseph Myers <joseph@codesourcery.com>
8896
8897 * lto-opts.c (register_user_option_p, lto_register_user_option):
8898 Make type argument unsigned.
8899 * lto-streamer.h (lto_register_user_option): Make type argument
8900 unsigned.
8901 * opth-gen.awk: Make CL_* macros unsigned.
8902 * opts-common.c (find_opt): Make lang_mask argument unsigned.
8903 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
8904 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
8905 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
8906 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
8907 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
8908 (find_opt): Make lang_mask argument unsigned.
8909
76763a6d
VM
89102011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8911
8912 PR rtl-optimization/48331
8913 PR rtl-optimization/48334
8914 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
8915 for any used algorithm.
8916
5c82436e
VM
89172011-03-29 Vladimir Makarov <vmakarov@redhat.com>
8918
8919 * ira-conflicts.c (build_object_conflicts): Add unused attribute
8920 to parent_max.
8921
7a81008b
UB
89222011-03-29 Uros Bizjak <ubizjak@gmail.com>
8923
8924 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
8925 (alpha_option_override): Don't set alpha_sr_alias_set.
8926 (emit_frame_store_1): Use gen_frame_mem rather than calling
8927 set_mem_alias_set.
8928 (alpha_expand_epilogue): Ditto.
8929
86c8d1f6
IR
89302011-03-29 Ira Rosen <ira.rosen@linaro.org>
8931
8932 PR tree-optimization/48290
8933 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
8934 vectorization, check that relevant phis in the basic block after
8935 the inner loop are really inner loop's exit phis.
8936
0d12220f
RS
89372011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
8938
e8cf17e7 8939 PR debug/48190
0d12220f
RS
8940 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
8941 (cached_dw_loc_list_def): New structure.
8942 (cached_dw_loc_list): New typedef.
8943 (cached_dw_loc_list_table): New variable.
8944 (cached_dw_loc_list_table_hash): New function.
8945 (cached_dw_loc_list_table_eq): Likewise.
8946 (add_location_or_const_value_attribute): Take a bool cache_p.
8947 Cache the list when the parameter is true.
8948 (gen_formal_parameter_die): Update caller.
8949 (gen_variable_die): Likewise.
8950 (dwarf2out_finish): Likewise.
8951 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
8952 while generating debug info for the decl.
8953 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
8954 (dwarf2out_init): Initialize cached_dw_loc_list_table.
8955 (resolve_addr): Cache the result of resolving a chain of
8956 location lists.
8957
1756cb66
VM
89582011-03-28 Vladimir Makarov <vmakarov@redhat.com>
8959
8960 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
8961 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 8962
1756cb66
VM
8963 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
8964 after regstat_init_n_sets_and_refs.
8965
8966 * ira.c: Add more comments at the top.
8967 (setup_stack_reg_pressure_class, setup_pressure_classes):
8968 Add comments how we compute the register pressure classes.
8969 (setup_allocno_and_important_classes): Add more comments.
8970 (setup_class_translate_array, reorder_important_classes)
8971 (setup_reg_class_relations): Add comments.
8972
8973 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
8974 start of the file.
8975
8976 * ira-color.c: Add 2011 to the Copyright line.
8977 (assign_hard_reg): Add more comments.
8978 (improve_allocation): Ditto.
8979
8980 * ira-costs.c: Add 2011 to the Copyright line.
8981 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
8982 comments.
8983 (setup_regno_cost_classes_by_mode): Ditto.
8984
8985 Initial patches from ira-improv branch:
8986
8987 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
8988
f60c2554 8989 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
8990 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
8991 (ira_create_allocno): Remove initialization of
8992 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
8993 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
8994 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
8995 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
8996 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
8997 Initialize ALLOCNO_ADD_DATA.
8998 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
8999 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
9000 ALLOCNO_REG.
9001 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
9002 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
9003
9004 * ira.c (ira_reallocate): Remove.
9005 (setup_pressure_classes): Call
9006 ira_init_register_move_cost_if_necessary. Use
9007 ira_register_move_cost instead of ira_get_register_move_cost.
9008 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
9009 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
9010
9011 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
9012 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
9013 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
9014 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
9015 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
9016 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
9017 Fix formatting.
7a81008b 9018 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
9019 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
9020 (struct allocno_color_data): New.
9021 (allocno_color_data_t): New typedef.
9022 (allocno_color_data): New definition.
9023 (ALLOCNO_COLOR_DATA): New macro.
9024 (struct object_color_data): New.
9025 (object_color_data_t): New typedef.
9026 (object_color_data): New definition.
9027 (OBJECT_COLOR_DATA): New macro.
9028 (update_copy_costs, calculate_allocno_spill_cost): Call
9029 ira_init_register_move_cost_if_necessary. Use
9030 ira_register_move_cost instead of ira_get_register_move_cost.
9031 (move_spill_restore, update_curr_costs): Ditto.
9032 (allocno_spill_priority): Make it inline.
7a81008b 9033 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
9034 (struct coalesce_data, coalesce_data_t): New.
9035 (allocno_coalesce_data): New definition.
9036 (ALLOCNO_COALESCE_DATA): New macro.
9037 (merge_allocnos, coalesced_allocno_conflict_p): Use
9038 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
9039 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
9040 (coalesce_allocnos): Ditto.
9041 (setup_coalesced_allocno_costs_and_nums): Ditto.
9042 (collect_spilled_coalesced_allocnos): Ditto.
9043 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
9044 (setup_slot_coalesced_allocno_live_ranges): Ditto.
9045 (coalesce_spill_slots): Ditto.
9046 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
9047 free allocno_coalesce_data.
9048
9049 * ira-conflicts.c: Fix formatting.
9050 (process_regs_for_copy): Call
9051 ira_init_register_move_cost_if_necessary. Use
9052 ira_register_move_cost instead of ira_get_register_move_cost.
9053 (build_object_conflicts): Optimize.
9054
9055 * ira-costs.c (record_reg_classes): Optimize. Call
9056 ira_init_register_move_cost_if_necessary. Use
9057 ira_register_move_cost, ira_may_move_in_cost, and
9058 ira_may_move_out_cost instead of ira_get_register_move_cost and
9059 ira_get_may_move_cost.
9060 (record_address_regs): Ditto.
9061 (scan_one_insn): Optimize.
9062 (find_costs_and_classes): Optimize.
9063 (process_bb_node_for_hard_reg_moves): Call
9064 ira_init_register_move_cost_if_necessary. Use
9065 ira_register_move_cost instead of ira_get_register_move_cost.
9066
9067 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
9068 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
9069 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
9070 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
9071 definitions.
9072 (ira_initiate_emit_data, ira_finish_emit_data)
9073 (create_new_allocno): New functions.
7a81008b 9074 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
9075 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
9076 Use ira_register_move_cost instead of ira_get_register_move_cost.
9077
9078 * ira-int.h: Fix some comments.
7a81008b
UB
9079 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
9080 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
9081 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
9082 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
9083 add_data.
9084 (struct ira_allocno): Make mode and aclass a bitfield. Move other
9085 bitfield after mode. Make hard_regno a short int. Make
9086 hard_regno short. Remove first_coalesced_allocno and
9087 next_coalesced_allocno. Move mem_optimized_dest_p,
9088 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
9089 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
9090 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
9091 temp, colorable_p. Add new member add_data.
9092 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
9093 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
9094 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
9095 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
9096 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
9097 (ALLOCNO_ADD_DATA): New macro.
9098 (ira_emit_data_t): New typedef.
9099 (struct ira_emit_data): New. Move mem_optimized_dest_p,
9100 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
9101 from struct ira_allocno.
9102 (ALLOCNO_EMIT_DATA): New macro.
9103 (ira_allocno_emit_data, allocno_emit_reg): New.
9104 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 9105 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
9106 (OBJECT_ADD_DATA): New macro.
9107 (ira_reallocate): Remove.
9108 (ira_initiate_emit_data, ira_finish_emit_data): New.
9109 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
9110 (ira_init_register_move_cost_if_necessary): New.
9111 (ira_object_conflict_iter_next): Merge into
9112 ira_object_conflict_iter_cond.
7a81008b 9113 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 9114
f60c2554 9115 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
9116 ira_init_register_move_cost_if_necessary. Use
9117 ira_register_move_cost instead of ira_get_register_move_cost.
9118
9119 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
9120
9121 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
9122
9123 * ira-costs.c: Fix formatting.
9124 (cost_classes, cost_classes_num): Remove.
9125 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
9126 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
9127 (cost_classes_del, cost_classes_htab): New.
9128 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
9129 (initiate_regno_cost_classes, setup_cost_classes): New.
9130 (setup_regno_cost_classes_by_aclass): New.
7a81008b 9131 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
9132 (record_reg_classes): Use regno_cost_classes instead of
9133 cost_classes. Move checking opposite operand up.
9134 (record_address_regs): Use regno_cost_classes
9135 instead of cost_classes.
9136 (scan_one_insn): Ditto. Use always general register.
9137 (print_allocno_costs): Use regno_cost_classes instead of
9138 cost_classes.
9139 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
9140 (find_costs_and_classes): Set up cost classes for each registers.
9141 Use also their mode for this. Use regno_cost_classes instead of
9142 cost_classes.
9143 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
9144 cost_classes.
9145 (free_ira_costs, ira_init_costs): Don't use cost_classes.
9146 (ira_costs, ira_set_pseudo_classes): Call
9147 initiate_regno_cost_classes and finish_regno_cost_classes.
9148
9149 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
9150
9151 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
9152
9153 * target.def (ira_cover_classes): Remove.
9154
7a81008b 9155 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
9156
9157 * doc/tm.texi.in: Ditto.
9158
9159 * ira-conflicts.c: Remove mentioning cover classes from the file.
9160 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 9161 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
9162
9163 * targhooks.c (default_ira_cover_classes): Remove.
9164
9165 * targhooks.h (default_ira_cover_classes): Ditto.
9166
9167 * haifa-sched.c: Remove mentioning cover classes from the file.
9168 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
9169 ira_pressure_classes and ira_pressure_classes_num instead of
9170 ira_reg_class_cover_size and ira_reg_class_cover. Use
9171 sched_regno_pressure_class instead of sched_regno_cover_class.
9172 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
9173 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9174
9175 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
9176 classes from the file.
9177 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
9178 (struct object_hard_regs, struct object_hard_regs_node): New.
9179 (struct ira_object): New members profitable_hard_regs,
9180 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
9181 (struct ira_allocno): Rename cover_class to aclass. Rename
9182 cover_class_cost and updated_cover_class_cost to class_cost and
9183 updated_class_cost. Remove splay_removed_p and
9184 left_conflict_size. Add new members colorable_p.
9185 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
9186 (ALLOCNO_COLORABLE_P): New macro.
9187 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
9188 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
9189 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
9190 (OBJECT_...): Rename parameter C to O.
9191 (OBJECT_PROFITABLE_HARD_REGS): New macro.
9192 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
9193 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
9194 (struct target_ira_int): New members x_ira_max_memory_move_cost,
9195 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
9196 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
9197 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
9198 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
9199 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
9200 x_ira_reg_class_subunion.
9201 (ira_max_memory_move_cost, ira_max_register_move_cost)
9202 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
9203 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
9204 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 9205 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
9206 (ira_reg_class_union): Rename to ira_reg_class_subunion.
9207 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
9208 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
9209 (ira_tune_allocno_costs_and_cover_classes): Rename to
9210 ira_tune_allocno_costs.
9211 (ira_debug_hard_regs_forest): New.
9212 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
9213 (ira_object_conflict_iter_next): Fix comments.
7a81008b 9214 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
9215 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
9216 cover_class to aclass.
9217 (ira_allocate_and_accumulate_costs): Ditto.
9218 (ira_allocate_and_set_or_copy_costs): Ditto.
9219
9220 * opts.c (decode_options): Remove ira_cover_class check.
9221
9222 * ira-color.c: Remove mentioning cover classes from the file. Use
9223 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
9224 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
9225 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
9226 (splay-tree.h): Remove include.
9227 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
9228 before copy_freq_compare_func.
9229 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
9230 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
9231 New definitions.
9232 (hard_regs_roots, hard_regs_node_vec): Ditto.
9233 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
9234 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
9235 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
9236 (create_new_object_hard_regs_node): Ditto.
9237 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 9238 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
9239 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
9240 Ditto.
9241 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
9242 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
9243 (remove_unused_object_hard_regs_nodes): Ditto.
9244 (enumerate_object_hard_regs_nodes): Ditto.
9245 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
9246 (object_hard_regs_subnode_t): Ditto.
9247 (struct object_hard_regs_subnode): Ditto.
9248 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
9249 (setup_object_hard_regs_subnode_index): Ditto.
9250 (get_object_hard_regs_subnodes_num): Ditto.
9251 (form_object_hard_regs_nodes_forest): Ditto.
9252 (finish_object_hard_regs_nodes_tree): Ditto.
9253 (finish_object_hard_regs_nodes_forest): Ditto.
9254 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 9255 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
9256 (pseudos_have_intersected_live_ranges_p): Rename to
9257 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
9258 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
9259 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
9260 (update_copy_costs): Remove assert. Skip cost update if the hard
9261 reg does not belong the class.
9262 (assign_hard_reg): Process only profitable hard regs.
9263 (uncolorable_allocnos_num): Make it scalar.
9264 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
9265 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
9266 and ira_reg_class_max_nregs.
9267 (bucket_allocno_compare_func): Check frequency first.
9268 (sort_bucket): Add compare function as a parameter.
9269 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
9270 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
9271 (push_allocno_to_stack): Rewrite for checking new allocno
9272 colorability.
7a81008b 9273 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
9274 (push_only_colorable): Pass new parameter to sort_bucket.
9275 (push_allocno_to_spill): Remove.
9276 (allocno_spill_priority_compare): Make it inline and rewrite.
9277 (splay_tree_allocate, splay_tree_free): Remove.
9278 (allocno_spill_sort_compare): New function.
9279 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
9280 build and use splay tree. Choose first allocno in uncolorable
9281 allocno bucket to spill. Remove setting spill cost.
9282 (all_conflicting_hard_regs): Remove.
9283 (setup_allocno_available_regs_num): Check only profitable hard
9284 regs. Print info about hard regs nodes.
9285 (setup_allocno_left_conflicts_size): Remove.
9286 (put_allocno_into_bucket): Don't call
7a81008b 9287 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
9288 (improve_allocation): New.
9289 (color_allocnos): Call setup_profitable_hard_regs,
9290 form_object_hard_regs_nodes_forest, improve_allocation,
9291 finish_object_hard_regs_nodes_forest. Setup spill cost.
9292 (print_loop_title): Use pressure classes.
9293 (color_allocnso): Ditto.
9294 (do_coloring): Remove allocation and freeing splay_tree_node_pool
9295 and allocnos_for_spilling.
9296 (ira_sort_regnos_for_alter_reg): Don't setup members
9297 {first,next}_coalesced_allocno.
9298 (color): Remove allocating and freeing removed_splay_allocno_vec.
9299 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
9300 prohibited_class_mode_regs.
9301
9302 * ira-lives.c: Remove mentioning cover classes from the file. Fix
9303 formatting.
9304 (update_allocno_pressure_excess_length): Use pressure classes.
9305 (inc_register_pressure, dec_register_pressure): Check for pressure
9306 class.
9307 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
9308 pressure class. Use ira_reg_class_nregs instead of
9309 ira_reg_class_max_nregs.
9310 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
9311 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
9312 (single_reg_class): Use ira_reg_class_nregs instead of
9313 ira_reg_class_max_nregs.
9314 (process_bb_node_lives): Use pressure classes.
9315
9316 * ira-emit.c: Remove mentioning cover classes from the file. Use
9317 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
9318 (change_loop): Use pressure classes.
9319 (modify_move_list): Call ira_set_allocno_class instead of
9320 ira_set_allocno_cover_class.
9321
9322 * ira-build.c: Remove mentioning cover classes from the file. Use
9323 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
9324 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
9325 ALLOCNO_UPDATED_CLASS_COST instead of
9326 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
9327 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
9328 (ira_create_allocno): Remove initialization of
9329 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
9330 ALLOCNO_COLORABLE_P.
9331 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
9332 Update conflict regs for the objects.
9333 (create_cap_allocno): Remove assert. Don't propagate
9334 ALLOCNO_AVAILABLE_REGS_NUM.
9335 (ira_free_allocno_costs): New function.
9336 (finish_allocno): Change a part of code into call of
9337 ira_free_allocno_costs.
9338 (low_pressure_loop_node_p): Use pressure classes.
9339 (object_range_compare_func): Don't compare classes.
9340 (setup_min_max_conflict_allocno_ids): Ditto.
9341
9342 * loop-invariant.c: Remove mentioning cover classes from the file.
9343 Use ira_pressure_classes and ira_pressure_classes_num instead of
9344 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
9345 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
9346 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9347 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
9348 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
9349 STACK_REG_COVER_CLASS.
9350 (get_regno_cover_class): Rename to get_regno_pressure_class.
9351 (move_loop_invariants): Initialize and finalize regstat.
9352
9353 * ira.c: Remove mentioning cover classes from the file. Add
9354 comments about coloring without cover classes. Use ALLOCNO_CLASS
9355 instead of ALLOCNO_COVER_CLASS. Fix formatting.
9356 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
9357 setup_class_subset_and_memory_move_costs.
9358 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
9359 (setup_cover_and_important_classes): Rename to
9360 setup_allocno_and_important_classes.
9361 (setup_class_translate_array): New.
9362 (setup_class_translate): Call it for allocno and pressure classes.
9363 (cover_class_order): Rename to allocno_class_order.
9364 (comp_reg_classes_func): Use ira_allocno_class_translate instead
9365 of ira_class_translate.
9366 (reorder_important_classes): Set up ira_important_class_nums.
9367 (setup_reg_class_relations): Set up ira_reg_class_superunion.
9368 (print_class_cover): Rename to print_classes. Add parameter.
9369 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
9370 Print pressure classes too.
9371 (find_reg_class_closure): Rename to find_reg_classes. Don't call
9372 setup_reg_subclasses.
7a81008b 9373 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
9374 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
9375 (setup_prohibited_class_mode_regs): Use
7a81008b 9376 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
9377 (clarify_prohibited_class_mode_regs): New function.
9378 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
9379 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
9380 (ira_init_once): Initialize them.
9381 (free_register_move_costs): Process them.
9382 (ira_init): Move calls of find_reg_classes and
9383 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
9384 Call clarify_prohibited_class_mode_regs.
9385 (ira_no_alloc_reg): Remove.
9386 (too_high_register_pressure_p): Use pressure classes.
9387
9388 * sched-deps.c: Remove mentioning cover classes from the file.
9389 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
9390 ira_pressure_classes and ira_pressure_classes_num instead of
9391 ira_reg_class_cover_size and ira_reg_class_cover.
9392 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
9393 sched_regno_pressure_class instead of sched_regno_cover_class.
9394 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
9395 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
9396
9397 * ira.h: Add 2010 to Copyright.
9398 (ira_no_alloc_reg): Remove external.
9399 (struct target_ira): Rename x_ira_hard_regno_cover_class,
9400 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
9401 x_ira_class_translate to x_ira_hard_regno_allocno_class,
9402 x_ira_allocno_classes_num, x_ira_allocno_classes, and
9403 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
9404 x_ira_pressure_classes, x_ira_pressure_class_translate, and
9405 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
9406 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
9407 x_ira_no_alloc_regs.
7a81008b 9408 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
9409 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
9410 ira_allocno_classes_num and ira_allocno_classes.
9411 (ira_class_translate): Rename to ira_allocno_class_translate.
9412 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
9413 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
9414 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
9415 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
9416 (ira_no_alloc_regs): New.
9417
9418 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
9419 classes from the file. Use ALLOCNO_CLASS instead of
9420 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
9421 ALLOCNO_COVER_CLASS_COST.
9422 (regno_cover_class): Rename to regno_aclass.
9423 (record_reg_classes): Use ira_reg_class_subunion instead of
9424 ira_reg_class_union.
9425 (record_address_regs): Check overflow.
9426 (scan_one_insn): Ditto.
7a81008b 9427 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
9428 (print_pseudo_costs): Use REG_N_REFS.
9429 (find_costs_and_classes): Use classes intersected with them on the
9430 1st pass. Check overflow. Use ira_reg_class_subunion instead of
9431 ira_reg_class_union. Use ira_allocno_class_translate and
9432 regno_aclass instead of ira_class_translate and regno_cover_class.
9433 Modify code for finding regno_aclass. Setup preferred classes for
9434 the next pass.
9435 (setup_allocno_cover_class_and_costs): Rename to
9436 setup_allocno_class_and_costs. Use regno_aclass instead of
9437 regno_cover_class. Use ira_set_allocno_class instead of
9438 ira_set_allocno_cover_class.
9439 (init_costs, finish_costs): Use regno_aclass instead of
9440 regno_cover_class.
9441 (ira_costs): Use setup_allocno_class_and_costs instead of
9442 setup_allocno_cover_class_and_costs.
9443 (ira_tune_allocno_costs_and_cover_classes): Rename to
9444 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
9445 by processing objects. Use ira_reg_class_max_nregs instead of
9446 ira_reg_class_nregs.
9447
9448 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
9449
9450 * sched-int.h: Remove mentioning cover classes from the file.
9451 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
9452
9453 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
9454 classes from the file.
9455 (struct reg_pref): Rename coverclass into allocnoclass.
9456 (reg_cover_class): Rename to reg_allocno_class.
9457
7a81008b 9458 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
9459
9460 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
9461
9462 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
9463
9464 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
9465
9466 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
9467
9468 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
9469
9470 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
9471
9472 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
9473
9474 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
9475
9476 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
9477
9478 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
9479 (i386_ira_cover_classes): Ditto.
9480
9481 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
9482
9483 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
9484
9485 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
9486
9487 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
9488
9489 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
9490
9491 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
9492
9493 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
9494 (mips_ira_cover_classes): Ditto.
9495
9496 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
9497
9498 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
9499
9500 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
9501
9502 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
9503
9504 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
9505
9506 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
9507 (IRA_COVER_CLASSES_VSX): Ditto.
9508
9509 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
9510 (rs6000_ira_cover_classes): Ditto.
9511
9512 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
9513
9514 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
9515
9516 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
9517
9518 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
9519
9520 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
9521
9522 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
9523
9524 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
9525
9526 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
9527
9528 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
9529
9530 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
9531
2b80199f
JJ
95322011-03-29 Jakub Jelinek <jakub@redhat.com>
9533
71dae1fe
JJ
9534 PR debug/48253
9535 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
9536 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
9537 dw_fde_unlikely_section_end_label, cold_in_std_section,
9538 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
9539 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
9540 fields.
9541 (output_fde): Use dw_fde_second_{begin,end} if second is
9542 true, otherwise dw_fde_{begin,end}.
9543 (output_call_frame_info): Test dw_fde_second_begin != NULL
9544 instead of dw_fde_switched_sections.
9545 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
9546 fields, initialize new fields. Initialize in_std_section
9547 unconditionally from the first partition.
9548 (dwarf2out_end_epilogue): Don't override dw_fde_end when
9549 dw_fde_second_begin is non-NULL.
9550 (dwarf2out_switch_text_section): Stop initializing removed
9551 dw_fde_struct fields, initialize new fields, initialize
9552 also dw_fde_end here. Set dw_fde_switch_cfi even when
9553 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
9554 (struct var_loc_list_def): Add last_before_switch field.
9555 (arange_table, arange_table_allocated, arange_table_in_use,
9556 ARANGE_TABLE_INCREMENT, add_arange): Removed.
9557 (size_of_aranges): Count !in_std_section and !second_in_std_section
9558 hunks in fdes, instead of looking at arange_table_in_use.
9559 (output_aranges): Add aranges_length argument, don't call
9560 size_of_aranges here. Instead of using aranges_table*
9561 emit ranges for fdes when !in_std_section resp.
9562 !second_in_std_section.
9563 (dw_loc_list): Break ranges crossing section switch.
9564 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 9565 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
9566 (gen_subprogram_die): Don't call add_arange. Use
9567 dw_fde_{begin,end} for first partition and if switched
9568 section dw_fde_second_{begin,end} for the second.
9569 (var_location_switch_text_section_1,
9570 var_location_switch_text_section): New functions.
9571 (dwarf2out_begin_function): Initialize cold_text_section even
9572 when function_section () isn't text_section.
9573 (prune_unused_types): Don't walk arange_table.
9574 (dwarf2out_finish): Don't needlessly test
9575 flag_reorder_blocks_and_partition when testing cold_text_section_used.
9576 If info_section_emitted, call size_of_aranges and if it indicates
9577 non-empty .debug_aranges, call output_aranges with the computed
9578 size. Stop using removed dw_fde_struct fields, use
9579 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
9580 for second.
9581
2b80199f
JJ
9582 PR debug/48203
9583 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
9584 create ENTRY_VALUE if incoming or address of incoming's MEM
9585 is a hard REG.
9586 * dwarf2out.c (mem_loc_descriptor): Don't emit
9587 DW_OP_GNU_entry_value of DW_OP_fbreg.
9588 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
9589 on ENTRY_VALUE is able to find the canonical parameter VALUE.
9590 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
9591 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
9592 ENTRY_VALUE_EXPs.
9593 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
9594 is a REG_P or MEM_P with REG_P address, compute hash directly
9595 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
9596 (preserve_only_constants): Don't clear VALUES forwaring
9597 ENTRY_VALUE to some other VALUE.
9598
8a445129
RS
95992011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
9600
9601 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
9602 instead of GEN_INT.
9603
c82fee88
EB
96042011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9605
9606 * cfgexpand.c (expand_gimple_cond): Always set the source location and
9607 block before expanding the statement.
9608 (expand_gimple_stmt_1): Likewise. Set them here...
9609 (expand_gimple_stmt): ...and not here. Tidy.
9610 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
9611 unknown.
9612
e45425ec
SB
96132011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9614
9615 * Makefile.in: New rule for cprop.o.
9616 * gcse.c: Move constant/copy propagation to cprop.c.
9617 (compute_local_properties): Only handle expression tables.
9618 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
9619 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
9620 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
9621 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 9622 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
9623 compute_cprop_data, find_used_regs, try_replace_reg,
9624 find_avail_set, cprop_jump, constprop_register, cprop_insn,
9625 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
9626 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
9627 find_bypass_set, reg_killed_on_edge, bypass_block,
9628 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
9629 execute_rtl_cprop, pass_rtl_cprop): Move to...
9630 * cprop.c: ...here. New file, constant/copy propagation for RTL
9631 moved from gcse.c to here with minor cleanups in duplicated code.
9632
c09d5426
L
96332011-03-28 H.J. Lu <hongjiu.lu@intel.com>
9634
9635 * config/i386/i386.c (flag_opts): Fix a typo in
9636 -mavx256-split-unaligned-store.
9637
9eaa7740
AS
96382011-03-28 Anatoly Sokolov <aesok@post.ru>
9639
9640 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
9641 LIBCALL_VALUE): Remove macros.
9642 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9643 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9644 (h8300_function_value, h8300_libcall_value,
9645 h8300_function_value_regno_p): New functions.
9646
dcec2be2
AS
96472011-03-28 Anatoly Sokolov <aesok@post.ru>
9648
9649 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
9650
520af9ec
JL
96512011-03-28 Jeff Law <law@redhat.com>
9652
9653 * tree-ssa-threadupdate.c (redirect_edges): Call
9654 create_edge_and_update_destination_phis as needed.
9655 (create_edge_and_update_destination_phis): Accept new BB argument.
9656 All callers updated.
9657 (thread_block): Do not update the profile when threading around
9658 intermediate blocks.
9659 (thread_single_edge): Likewise.
9660 (determine_bb_domination_status): If BB is not a successor of the
9661 loop header, return NONDOMINATING.
9662 (register_jump_thread): Note when we register a jump thread around
9663 an intermediate block.
9664 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
9665 (thread_across_edge): Use it.
9666
7450b54f
TG
96672011-03-28 Tristan Gingold <gingold@adacore.com>
9668
9669 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
9670 when for_return is 2.
9671
649beb33
JL
96722011-03-28 Jeff Law <law@redhat.com>
9673
9674 * var-tracking.c (canonicalize_values_mark): Delete unused
9675 lhs assignment.
9676 (canonicalize_values_star, set_variable_part): Likewise.
9677 (clobber_variable_part, delete_variable_part): Likewise.
9678
d5b8da97
SB
96792011-03-28 Steven Bosscher <steven@gcc.gnu.org>
9680
9681 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
9682
322dd859
MJ
96832011-03-28 Martin Jambor <mjambor@suse.cz>
9684
9685 * tree-inline.c (expand_call_inline): Do not check that destination
9686 node is analyzed.
9687 (optimize_inline_calls): Assert that destination node is analyzed.
9688 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
9689 not call tree_lowering_passes.
9690 * cgraph.h (cgraph_analyze_function): Declare.
9691 * cgraphunit.c (cgraph_analyze_function): Make public.
9692
aa53e58b
JM
96932011-03-28 Joseph Myers <joseph@codesourcery.com>
9694
9695 * config/sparc/sparc-opts.h: New.
9696 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
9697 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
9698 (sparc_option_override): Store processor_type enumeration rather
9699 than string in cpu_default. Remove name and enumeration from
9700 cpu_table. Directly default -mcpu then default -mtune from -mcpu
9701 without using sparc_select. Use target_flags_explicit instead of
9702 fpu_option_set.
9703 * config/sparc/sparc.h (enum processor_type): Move to
9704 sparc-opts.h.
9705 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
9706 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
9707 HeaderInclude entry.
9708 (mcpu=, mtune=): Use Var and Enum.
9709 (sparc_processor_type): New Enum and EnumValue entries.
9710
dd350eba
RO
97112011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9712 Iain Sandoe <iains@gcc.gnu.org>
9713
9714 PR target/48245
9715 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
9716
1b29f05e
EB
97172011-03-28 Eric Botcazou <ebotcazou@adacore.com>
9718
9719 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
9720 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
9721 Insert new statements at it in lieu of STMT.
9722 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
9723 * tree-vect-stmts.c (vectorizable_store): Likewise.
9724 (vectorizable_load): Likewise.
9725
506e6808
UB
97262011-03-28 Uros Bizjak <ubizjak@gmail.com>
9727
9728 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
9729 (divtf3): Ditto.
9730 (multf3): Ditto.
9731 (subtf3): Ditto.
9732
2e939ee9
L
97332011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9734
9735 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
9736 unaligned 256bit load/store.
9737 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
9738 (*avx_movdqu<avxmodesuffix>): Likewise.
9739
5e85ab88
JDA
97402011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9741
9742 PR target/48288
9743 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
9744 * config/pa/pa.md (iordi3): Use new predicate in expander.
9745 (iorsi3): Likewise.
9746
47be3d6d
AS
97472011-03-27 Anatoly Sokolov <aesok@post.ru>
9748
506e6808 9749 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 9750 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
9751 * config/mips/mips-protos.h (mips_function_value): Remove.
9752 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
9753 (mips_function_value_1): ... this. Make static. Handle receiving
9754 the function type in 'fn_decl_or_type' argument.
9755 (mips_function_value, mips_libcall_value,
9756 mips_function_value_regno_p): New function.
9757 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
9758 TARGET_FUNCTION_VALUE_REGNO_P): Define.
9759
d253656a
L
97602011-03-27 H.J. Lu <hongjiu.lu@intel.com>
9761
9762 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
9763 and -mavx256-split-unaligned-store.
9764 (ix86_option_override_internal): Split 32-byte AVX unaligned
9765 load/store by default.
9766 (ix86_avx256_split_vector_move_misalign): New.
9767 (ix86_expand_vector_move_misalign): Use it.
9768
9769 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
9770 -mavx256-split-unaligned-store.
9771
9772 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
9773 256bit load/store. Generate unaligned store on misaligned memory
9774 operand.
9775 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
9776 256bit load/store.
9777 (*avx_movdqu<avxmodesuffix>): Likewise.
9778
9779 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
9780 -mavx256-split-unaligned-store.
9781
1ea9206a
RS
97822011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9783
9784 PR target/38598
9785 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
9786 Update commentary.
9787
b99ce2a8
RS
97882011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
9789
9790 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
9791 opno arguments with an expand_operand. Use create_input_operand.
9792 (mips_prepare_builtin_target): Delete.
9793 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
9794 functions.
9795 (mips_expand_builtin_direct): Use create_output_operand and
9796 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
9797 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
9798 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
9799
69d52339
IR
98002011-03-27 Ira Rosen <ira.rosen@linaro.org>
9801
9802 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
9803 function.
9804 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
9805
ba5e9aca
EB
98062011-03-26 Eric Botcazou <ebotcazou@adacore.com>
9807
9808 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
9809 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
9810 basic blocks and call commit_edge_insertions directly.
9811 (fixup_abnormal_edges): Move from here to...
9812 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
9813 on the edges and return whether some have actually been inserted.
9814 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
9815 compensation code.
9816
5d369d58
AB
98172011-03-26 Andrey Belevantsev <abel@ispras.ru>
9818
9819 PR rtl-optimization/48144
9820 * sel-sched-ir.c (merge_history_vect): Factor out from ...
9821 (merge_expr_data): ... here.
9822 (av_set_intersect): Rename to av_set_code_motion_filter.
9823 Update all callers. Call merge_history_vect when an expression
9824 is found in both sets.
9825 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
9826
f082c000
AM
98272011-03-26 Alan Modra <amodra@gmail.com>
9828
9829 * config/rs6000/predicates.md (word_offset_memref_op): Handle
9830 cmodel medium addresses.
9831 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
9832 64-bit gpr loads and stores.
9833 (rs6000_secondary_reload_ppc64): New function.
9834 * config/rs6000/rs6000-protos.h: Declare it.
9835 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
9836
8ac5e12e
AM
98372011-03-26 Alan Modra <amodra@gmail.com>
9838
9839 PR target/47487
9840 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
9841 GNU Go in traceback table.
9842
c2654ded
RH
98432011-03-25 Richard Henderson <rth@redhat.com>
9844
9845 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
9846 if there are exactly 6 operands.
9847 (set_storage_via_setmem): Similarly.
9848
ba78087b
KT
98492011-03-25 Kai Tietz <ktietz@redhat.com>
9850
9851 * collect2.c (write_c_file_stat): Handle backslash
9852 as right-hand directory separator.
9853 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
9854 checking just for slash.
9855 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
9856 instead of checking for trailing slash.
9857 * gcc.c (record_temp_file): Use filename_cmp instead
9858 of strcmp.
9859 (do_spec_1): Likewise.
9860 (replace_outfile_spec_function): Likewise.
9861 (is_directory): Use filename_ncmp instead of strncmp.
9862 (print_multilib_info): Likewise.
9863 * gcov.c (find_source): Use filename_cmp instead
9864 instead of strcmp.
9865 (make_gcov_file_name): Fix order of slash/backslash
9866 checks.
9867 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
9868 (add_standard_paths): Likewise.
9869 * mips-tfile.c (saber_stop): Handle backslash.
9870 * prefix.c (update_path): Use filename_ncmp instead of
9871 strncmp.
9872 * profile.c (output_location): Use filename_cmp instead
9873 of strcmp.
9874 * read-md.c (handle_toplevel_file): Handle backslash.
9875 * tlink.c (frob_extension): Likewise.
9876 * tree-cfg.c (same_line_p): Use filename_cmp instead of
9877 strcmp.
9878 * tree-dump.c (dequeue_and_dump): Handle backslash.
9879 * tree.c (get_file_function_name): Likewise.
9880 * gengtype.c (read_input_list): Likewise.
9881 (get_file_realbasename): Likewise.
9882 (get_output_file_with_visibility): Use filename_cmp
9883 instead of strcmp.
9884
75f6ec9a
RS
98852011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
9886
9887 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
9888 case to VFPv1.
9889
6c4e2997
NF
98902011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9891
9892 * fold-const.c (expr_location_or): New function.
9893 (fold_truth_not_expr): Call it.
9894
0edf1bb2
JL
98952011-03-25 Jeff Law <law@redhat.com>
9896
9897 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
9898 va_end.
9899 * c-family/c-common.c (def_fn_type): Likewise.
9900 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
9901 * emit-rtl.c (gen_rtvec): Likewise.
9902 * lto/lto-lang.c (def_fn_type): Likewise.
9903
fdc2de95
RG
99042011-03-25 Richard Guenther <rguenther@suse.de>
9905
9906 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
9907 also generate copies.
9908 (fini_copy_prop): Handle constant values properly.
9909
21385db0
JJ
99102011-03-25 Jakub Jelinek <jakub@redhat.com>
9911
9912 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
9913 mode size instead of bitsize with DWARF2_ADDR_SIZE.
9914 (hash_loc_operands, compare_loc_operands): Handle
9915 DW_OP_GNU_entry_value.
9916
6510e8bb
KT
99172011-03-25 Kai Tietz <ktietz@redhat.com>
9918
9919 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
9920 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
9921 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
9922 comment and use macro TARGET_64BIT_MS_ABI instead.
9923 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
9924 and change default behavior for 32-bit MS_ABI.
9925 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
9926 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
9927 32-bit, too.
9928 (ix86_cfun_abi): Likewise.
9929 (ix86_maybe_switch_abi): Adjust comment.
9930 (init_cumulative_args): Check for bit-ness in MS_ABI case.
9931 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
9932 instead of checking for SYSV_ABI.
9933 (ix86_nsaved_sseregs): Likewise.
9934 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
9935 to 16 bytes.
9936 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
9937 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
9938 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
9939 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
9940 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
9941
34019e28
RG
99422011-03-25 Richard Guenther <rguenther@suse.de>
9943
9944 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
9945 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9946 (verify_gimple): Remove.
9947 * tree-cfg.c (verify_gimple_call): Merge verification
9948 from verify_stmts.
9949 (verify_gimple_phi): Merge verification from verify_stmts.
9950 (verify_gimple_label): New function.
9951 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
9952 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
9953 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
9954 (verify_stmts): Rename to verify_gimple_in_cfg.
9955 (verify_gimple_in_cfg): New function.
9956 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
9957 * tree-ssa.c (verify_ssa): Likewise.
9958 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
9959
605896f5
RG
99602011-03-25 Richard Guenther <rguenther@suse.de>
9961
9962 * passes.c (init_optimization_passes): Add FRE pass after
9963 early SRA.
9964
7baa7c13
BS
99652011-03-25 Bernd Schmidt <bernds@codesourcery.com>
9966 Andrew Stubbs <ams@codesourcery.com>
9967
9968 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
9969 for Cortex-A8.
9970 (arm_movdi_vfp_cortexa8): New pattern.
9971 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
9972 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
9973 instructions when tuning for Cortex-A8. Set attribute "arch".
9974 * config/arm/arm.md: Move include arm-tune.md up a bit.
9975 (define_attr "arch"): Add "onlya8" and "nota8" values.
9976 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
9977
45dbce1b
NF
99782011-03-25 Nathan Froyd <froydnj@codesourcery.com>
9979
4ff08abf 9980 PR bootstrap/48282
45dbce1b
NF
9981 Revert:
9982 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
9983
9984 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
9985 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
9986 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
9987 * passes.c (init_optimization_passes): Move
9988 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
9989
ac9a30ae
KT
99902011-03-25 Kai Tietz <ktietz@redhat.com>
9991
9992 * c-typeck.c (comptypes_internal): Replace target
9993 hook call of comp_type_attributes by version in tree.c file.
9994 * gimple.c (gimple_types_compatible_p_1): Likewise.
9995 * tree-ssa.c (useless_type_conversion_p): Likewise.
9996 * tree.c (build_type_attribute_qual_variant): Likewise.
9997 (attribute_value_equal): New static helper function.
9998 (comp_type_attributes): New function.
9999 (merge_attributes): Use attribute_value_equal for comparison.
10000 (attribute_list_contained): Likewise.
10001 * tree.h (comp_type_attributes): New prototype.
10002
afdac116
RG
100032011-03-25 Richard Guenther <rguenther@suse.de>
10004
10005 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
10006 of complex types at -O0.
10007 (verify_gimple_assign_binary): Likewise.
10008 (verify_gimple_assign_ternary): Likewise.
10009
ec6165f8
MW
100102011-03-24 Mark Wielaard <mjw@redhat.com>
10011
10012 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
10013 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
10014
2a5ac39a
MW
100152011-03-24 Mark Wielaard <mjw@redhat.com>
10016
10017 PR debug/48041
10018 * dwarf2out.c (output_abbrev_section): Only write table when
10019 abbrev_die_table_in_use > 1.
10020
e533b2a4
RH
100212011-02-24 Richard Henderson <rth@redhat.com>
10022
10023 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
10024 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
10025 (alpha_expand_unaligned_load_words): Use extql.
10026 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
10027 (emit_insxl): Handle all modes for consistency.
10028
0b2a7367
RH
100292011-02-24 Richard Henderson <rth@redhat.com>
10030
10031 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
10032 (alpha_expand_unaligned_load): Likewise.
10033 (alpha_expand_unaligned_store): Likewise.
10034 (alpha_expand_unaligned_load_words): Likewise.
10035 (alpha_expand_unaligned_store_words): Likewise.
10036 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
10037 (alpha_split_lock_test_and_set_12): Likewise.
10038 (print_operand, alpha_fold_builtin_extxx): Likewise.
10039 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
10040 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
10041 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
10042 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
10043 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
10044 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
10045 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
10046 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
10047 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
10048 (extwl, extll, extql): Similarly.
10049 (inswh, inslh, insqh): Similarly.
10050 (mskbl, mskwl, mskll, mskql): Similarly.
10051 (mskwh, msklh, mskqh): Similarly.
10052
315b2bef
RH
100532011-02-24 Richard Henderson <rth@redhat.com>
10054
10055 * config/alpha/alpha.md (attribute isa): Add er, ner.
10056 (attribute enabled): Handle them.
10057 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
10058
67102517
RH
100592011-02-24 Richard Henderson <rth@redhat.com>
10060
10061 * config/alpha/alpha.md (attribute isa): Add vms.
10062 (attribute enabled): Handle it.
10063 (*movsf): Merge *movsf_{nofix,fix,nofp}.
10064 (*movdf): Merge *movdf_{nofix,fix,nofp}.
10065 (*movtf): Rename from *movtf_internal for consistency.
10066 (*movsi): Merge with *movsi_nt_vms.
10067 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
10068 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
10069 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
10070 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
10071
6aba5cb4
RH
100722011-02-24 Richard Henderson <rth@redhat.com>
10073
10074 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
10075 (extendqisi2, extendhisi2): Likewise.
10076 (extendqidi2): Simplify BWX/non-BWX expansions.
10077 (extendhidi2): Similarly.
10078
bdfb351b
RH
100792011-02-24 Richard Henderson <rth@redhat.com>
10080
10081 * config/alpha/alpha.md (attribute isa): New.
10082 (attribute enabled): New.
10083 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
10084 (zero_extendqisi2, zero_extendqidi2): Similarly.
10085 (zero_extendhisi2, zero_extendhidi2): Similarly.
10086 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
10087
6abe71eb
RH
100882011-02-24 Richard Henderson <rth@redhat.com>
10089
10090 * config/alpha/predicates.md (input_operand): Revert last change;
10091 update comment to mention 32-bit VMS rather than Windows.
10092
7114321e
NF
100932011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10094
10095 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
10096 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
10097 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
10098 * passes.c (init_optimization_passes): Move
10099 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
10100
c8679567
EB
101012011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10102
10103 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
10104
27173058
UB
101052011-03-24 Uros Bizjak <ubizjak@gmail.com>
10106
10107 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
10108 correctly.
10109
6f0c9f06
JJ
101102011-03-24 Jakub Jelinek <jakub@redhat.com>
10111
10112 PR debug/48204
10113 * simplify-rtx.c (simplify_const_unary_operation): Call
10114 real_convert when changing mode class with FLOAT_EXTEND.
10115
662666e5
NC
101162011-03-24 Nick Clifton <nickc@redhat.com>
10117
10118 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
10119 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
10120 * config/rx/rx.c (rx_option_override): Set align_jumps,
10121 align_loops and align_labels if not set by the user.
10122 (rx_align_for_label): New function.
10123 (rx_max_skip_for_label): New function.
10124 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
10125 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
10126 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
10127 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
10128 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
10129
2b99b2b8
RS
101302011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10131
10132 PR rtl-optimization/48263
10133 * optabs.c (expand_binop_directly): Reinstate convert_modes code
10134 and original commutative_p handling. Use maybe_gen_insn.
10135
ccecd6ea
AK
101362011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10137
10138 * reload.c (find_reloads_subreg_address): Add address_reloaded
10139 parameter and return true there if the full address has been
10140 reloaded.
10141 (find_reloads_toplev): Pass address_reloaded flag.
10142 (find_reloads_address_1): Don't use address_reloaded parameter.
10143
67295642
JL
101442011-03-24 Jeff Law <law@redhat.com>
10145
10146 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
10147 unused variable "ann".
10148 (remove_unused_locals): Likewise.
10149
10150 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
10151 statement.
10152
10153 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
10154 after it is freed.
10155
212aa74f
AK
101562011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10157
10158 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
10159 for invalid symbolic addresses.
10160 (s390_secondary_reload): Don't use s390_check_symref_alignment for
10161 larl operands.
10162
fe784e0d
EB
101632011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10164
10165 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
10166 the argument in calls to fold_truth_not_expr.
10167
63ee8641
NF
101682011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10169
10170 * tree.c (record_node_allocation_statistics): New function.
10171 (make_node_stat, copy_node_stat, build_string): Call it.
10172 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
10173 (build1_stat, build_omp_clause): Likewise.
10174
61be2a1c
RS
101752011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10176
10177 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
10178 last commit.
10179
a881aaa7
RG
101802011-03-24 Richard Guenther <rguenther@suse.de>
10181
10182 PR tree-optimization/48271
10183 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
10184 blocks that still exist.
10185
dbaa912c
RG
101862011-03-24 Richard Guenther <rguenther@suse.de>
10187
10188 PR tree-optimization/48270
10189 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
10190 not free datarefs before ddrs.
10191
1d60cc55
EB
101922011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10193
10194 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
10195 from the address built for a reference with variable offset.
10196
c78dd519
UB
101972011-03-24 Uros Bizjak <ubizjak@gmail.com>
10198
10199 PR target/48237
10200 * config/i386/i386.md (*movdf_internal_rex64): Do not split
10201 alternatives that can be handled with movq or movabsq insn.
10202 (*movdf_internal): Disable for !TARGET_64BIT.
10203 (*movdf_internal_nointeger): Ditto.
10204 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
10205
b25b9e8f
NF
102062011-03-24 Nathan Froyd <froydnj@codesourcery.com>
10207
10208 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
10209 (FUNCTION_ARG_ADVANCE): Likewise.
10210 * tm.texi.in: Change references to them to hook references.
10211 * tm.texi: Regenerate.
c78dd519 10212 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
10213 (default_function_incoming_arg): Likewise.
10214 (default_function_arg_advance): Likewise.
c78dd519 10215 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
10216 (function_arg_advance): Likewise.
10217 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
10218
190b2187
RG
102192011-03-24 Richard Guenther <rguenther@suse.de>
10220
10221 PR middle-end/48269
10222 * tree-object-size.c (addr_object_size): Do not double-account
10223 for MEM_REF offsets.
10224
a183b5c7
DN
102252011-03-24 Diego Novillo <dnovillo@google.com>
10226
10227 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 10228 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
10229 (lto_input_data_block): Move from lto-opts.c. Make extern.
10230 Update all users.
10231 (lto_input_string): Rename from input_string. Make extern.
10232 Update all users.
10233 * lto-streamer-out.c (lto_output_string_with_length): Rename from
10234 output_string_with_length.
10235 Output 0 to indicate a non-NULL string. Update all callers to
10236 not emit 0.
10237 (lto_output_string): Rename from output_string. Make extern.
10238 Update all users.
10239 (lto_output_decl_state_streams): Make extern.
10240 (lto_output_decl_state_refs): Make extern.
10241 * lto-streamer.h (lto_input_string): Declare.
10242 (lto_input_data_block): Declare.
10243 (lto_output_string): Declare.
10244 (lto_output_string_with_length): Declare.
10245 (lto_output_decl_state_streams): Declare.
10246 (lto_output_decl_state_refs): Declare.
10247
cfef45c8
RG
102482011-03-24 Richard Guenther <rguenther@suse.de>
10249
10250 PR tree-optimization/46562
10251 * tree.c (build_invariant_address): New function.
10252 * tree.h (build_invariant_address): Declare.
10253 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
10254 a renamed function moved ...
10255 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
10256 Take valueization callback parameter.
10257 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
10258 * gimple-fold.h: New file.
10259 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
10260 (ccp_fold, fold_const_aggregate_ref,
10261 fold_ctor_reference, fold_nonarray_ctor_reference,
10262 fold_array_ctor_reference, fold_string_cst_ctor_reference,
10263 get_base_constructor): Move ...
10264 * gimple-fold.c: ... here.
10265 (gimple_fold_stmt_to_constant_1): New function
10266 split out from ccp_fold. Take a valueization callback parameter.
10267 Valueize all operands.
10268 (gimple_fold_stmt_to_constant): New wrapper function.
10269 (fold_const_aggregate_ref_1): New function split out from
10270 fold_const_aggregate_ref. Take a valueization callback parameter.
10271 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
10272 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
10273 invariant POINTER_PLUS_EXPRs to invariant form.
10274 (vn_valueize): New function.
10275 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
10276 * tree-vrp.c (vrp_valueize): New function.
10277 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
10278 to fold statements to constants.
10279 * tree-ssa-pre.c (eliminate): Properly guard propagation of
10280 function declarations.
10281 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
10282 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
10283
5e0a7e40
RS
102842011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
10285
10286 * config/h8300/predicates.md (jump_address_operand): Fix register
10287 mode check.
10288
bfe068c3
IR
102892011-03-24 Ira Rosen <ira.rosen@linaro.org>
10290
10291 * doc/invoke.texi (max-stores-to-sink): Document.
10292 * params.h (MAX_STORES_TO_SINK): Define.
10293 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
10294 if either vectorization or if-conversion is disabled.
10295 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
10296 tree-vect-data-refs.c vect_equal_offsets.
10297 (dr_equal_offsets_p): New function.
10298 (find_data_references_in_bb): Remove static.
10299 * tree-data-ref.h (find_data_references_in_bb): Declare.
10300 (dr_equal_offsets_p): Likewise.
10301 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
10302 (vect_drs_dependent_in_basic_block): Update calls to
10303 vect_equal_offsets.
10304 (vect_check_interleaving): Likewise.
10305 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
10306 (cond_if_else_store_replacement): Rename to...
10307 (cond_if_else_store_replacement_1): ... this. Change arguments and
10308 documentation.
10309 (cond_if_else_store_replacement): New function.
10310 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
10311 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
10312
4908b0bf
CLT
103132011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
10314
10315 PR target/46934
10316 * config/arm/arm.md (casesi): Use the gen_int_mode() function
10317 to subtract lower bound instead of GEN_INT().
10318
2be478a2
JW
103192011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
10320
10321 PR other/48179
10322 PR other/48221
10323 PR other/48234
10324 * doc/extend.texi (Alignment): Move section to match order in TOC.
10325 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
10326 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
10327
0c617be4
JL
103282011-03-23 Jeff Law <law@redhat.com>
10329
10330 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
10331 before removing the edge.
10332
10333 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
10334 it may have been freed by redirect_branch_edge or
10335 redirect_edge_succ_nodup.
10336
58da96fe
RG
103372011-03-23 Richard Guenther <rguenther@suse.de>
10338
c78dd519 10339 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
10340 (check_va_list_escapes): Likewise.
10341 (check_all_va_list_escapes): Likewise.
10342
b8beb4d1
RG
103432011-03-23 Richard Guenther <rguenther@suse.de>
10344
10345 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
10346 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
10347 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
10348 (alias.o): Likewise.
10349 (ipa-type-escape.o): Remove.
10350 (ipa-struct-reorg.o): Likewise.
10351 (GTFILES): Remove ipa-struct-reorg.c.
10352 * alias.c: Do not include ipa-type-escape.h.
10353 * tree-ssa-alias.c: Likewise.
10354 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
10355 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
10356 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
10357 and ipa-type-escape passes.
10358 * tree-pass.h (pass_ipa_type_escape): Remove.
10359 (pass_ipa_struct_reorg): Likewise.
10360 * ipa-struct-reorg.h: Remove.
10361 * ipa-struct-reorg.c: Likewise.
10362 * ipa-type-escape.h: Likewise.
10363 * ipa-type-escape.c: Likewise.
10364 * doc/invoke.texi (-fipa-struct-reorg): Remove.
10365 (--param struct-reorg-cold-struct-ratio): Likewise.
10366 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
10367 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
10368 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
10369
f137aa63
AK
103702011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10371
10372 * config/s390/2084.md: Enable all insn reservations also for z9_ec
10373 cpu attribute value.
10374 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
10375 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
10376 * config/s390/s390.c (processor_flags_table): New constant array.
10377 (s390_handle_arch_option): Remove.
10378 (s390_handle_option): Remove s390_handle_arch_option invocations
10379 and OPT_mwarn_framesize_ handling.
10380 (s390_option_override): Remove s390_handle_arch_option invocation.
10381 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
10382 warnings.
10383 * config/s390/s390.md (cpu attribute): Add z9_ec value.
10384 * config/s390/s390.opt (s390_tune, s390_arch)
10385 (march=): Replace s390_arch_option enum and values with
10386 processor_type. Set variable name to s390_arch. Set
10387 initialization value.
10388 (mtune=): Replace s390_arch_option with processor_type. Set
10389 variable name to s390_tune. Set initialization value.
10390
bf90208f
JB
103912011-03-23 Julian Brown <julian@codesourcery.com>
10392
10393 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
10394 accesses which are not naturally aligned.
10395
3460fdf3
RS
103962011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
10397
10398 PR target/47553
10399 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
10400
a5c7d693
RS
104012011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
10402
10403 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
10404 parameter from "int" to "enum insn_code".
10405 (expand_operand_type): New enum.
10406 (expand_operand): New structure.
10407 (create_expand_operand): New function.
10408 (create_fixed_operand, create_output_operand): Likewise
10409 (create_input_operand, create_convert_operand_to): Likewise.
10410 (create_convert_operand_from, create_address_operand): Likewise.
10411 (create_integer_operand): Likewise.
10412 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
10413 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
10414 (expand_insn, expand_jump_insn): Likewise.
10415 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
10416 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
10417 (expand_movstr, expand_builtin___clear_cache): Likewise.
10418 (expand_builtin_lock_release): Likewise.
10419 * explow.c (allocate_dynamic_stack_space): Likewise.
10420 (probe_stack_range): Likewise. Allow check_stack to FAIL,
10421 and use the default handling in that case.
10422 * expmed.c (check_predicate_volatile_ok): Delete.
10423 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
10424 (emit_cstore): Likewise.
10425 * expr.c (emit_block_move_via_movmem): Likewise.
10426 (set_storage_via_setmem, expand_assignment): Likewise.
10427 (emit_storent_insn, try_casesi): Likewise.
10428 (emit_single_push_insn): Likewise. Allow the expansion to fail.
10429 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
10430 (expand_vec_shift_expr, expand_binop_directly): Likewise.
10431 (expand_twoval_unop, expand_twoval_binop): Likewise.
10432 (expand_unop_direct, emit_indirect_jump): Likewise.
10433 (emit_conditional_move, vector_compare_rtx): Likewise.
10434 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
10435 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
10436 (expand_sync_lock_test_and_set): Likewise.
10437 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
10438 (emit_unop_insn): Likewise.
10439 (expand_copysign_absneg): Change icode to an insn_code.
10440 (create_convert_operand_from_type): New function.
10441 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
10442 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
10443 (expand_insn, expand_jump_insn): Likewise.
10444 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
10445 than const_int_operand for operand 2.
10446
78fadbab
AK
104472011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10448
10449 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
10450 if possible.
10451
5f02387d
NF
104522011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10453
10454 * emit-rtl.c (emit_pattern_before_noloc): New function.
10455 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
10456 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
10457 (emit_pattern_after_noloc): New function.
10458 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
10459 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
10460
fdf3e18a
NF
104612011-03-22 Nathan Froyd <froydnj@codesourcery.com>
10462
10463 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
10464 (__ffsDI2): Likewise.
10465
42d085c1
RH
104662011-03-22 Richard Henderson <rth@redhat.com>
10467
10468 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
10469 of !TARGET_ABI_OPEN_VMS.
10470 (alpha_trampoline_init, alpha_start_function): Likewise.
10471 (alpha_expand_epilogue, alpha_file_start): Likewise.
10472 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
10473 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
10474 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
10475 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
10476 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
10477
cabbe12a
JM
104782011-03-22 Joseph Myers <joseph@codesourcery.com>
10479
10480 * config/s390/s390-opts.h: New.
10481 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
10482 s390_arch_flags, s390_warn_framesize, s390_stack_size,
10483 s390_stack_guard): Remove.
10484 (s390_handle_arch_option): Return void. Take enum
10485 s390_arch_option value instead of string and searching array.
10486 (s390_handle_option): Don't assert that global structures are in
10487 use. Access variables via opts pointer. Use error_at. Don't use
10488 sscanf for -mstack-guard= or -mstack-size=. Update call to
10489 s390_handle_arch_option.
10490 (s390_option_override): Update call to s390_handle_arch_option.
10491 (s390_emit_prologue): Use %d format for s390_stack_size in
10492 diagnostic. Use %wd for HOST_WIDE_INT.
10493 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
10494 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
10495 * config/s390/s390.opt (config/s390/s390-opts.h): New
10496 HeaderInclude entry.
10497 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
10498 s390_arch_flags, s390_warn_framesize): New Variable entries.
10499 (s390_arch_option): New Enum and EnumValue entries.
10500 (march=): Use Enum instead of Var.
10501 (mstack-guard=, mstack-size=): Use UInteger and Var.
10502 (mtune=): Use Enum.
10503
05b12036
JM
105042011-03-22 Joseph Myers <joseph@codesourcery.com>
10505
10506 * config/score/score.c (score_handle_option): Don't assert that
10507 global structures are in use. Access target_flags via opts
10508 pointer. Use value of -march= option to determine target_flags
10509 settings.
10510 * config/score/score.opt (march=): Use Enum.
10511 (score_arch): New Enum and EnumValue entries.
10512
dd51e35a
JM
105132011-03-22 Joseph Myers <joseph@codesourcery.com>
10514
10515 * config/mep/mep.c (option_mtiny_specified): Remove.
10516 (mep_option_override): Move register handling for -mivc2 from
10517 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
10518 instead of option_mtiny_specified.
10519 (mep_handle_option): Access target_flags via opts pointer. Don't
10520 assert that global structures are in use. Defer part of -mivc2
10521 handling and move it to mep_option_override.
10522 * config/mep/mep.opt (IVC2): New Mask entry.
10523 (mivc2): Use Var and Defer instead of Mask.
10524
4a8d3d91
JM
105252011-03-22 Joseph Myers <joseph@codesourcery.com>
10526
10527 * config/v850/v850-opts.h: New.
10528 * config/v850/v850.c (small_memory): Replace with
10529 small_memory_physical_max array. Make that array static const.
10530 (v850_handle_memory_option): Take integer value of argument. Take
10531 gcc_options pointer, option text and location. Return void.
10532 Update for changes to small memory structures.
10533 (v850_handle_option): Access target_flags via opts pointer. Don't
10534 assert that global structures are in use. Update calls to
10535 v850_handle_memory_option.
c78dd519
UB
10536 (v850_encode_data_area): Update references to small memory settings.
10537 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
10538 (enum small_memory_type): Move to v850-opts.h.
10539 * config/v850/v850.opt (config/v850/v850-opts.h): New
10540 HeaderInclude entry.
10541 (small_memory_max): New Variable entry.
10542 (msda): Replace by pair of options msda= and msda-. Use UInteger.
10543 (mtda, mzda): Likewise.
10544
117fdbfa
JM
105452011-03-22 Joseph Myers <joseph@codesourcery.com>
10546
10547 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
10548 pointer. Don't assert that global structures are in use.
10549
d715091c
JM
105502011-03-22 Joseph Myers <joseph@codesourcery.com>
10551
10552 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
10553 via opts pointer. Don't assert that global structures are in use.
10554
1bb721dc
JM
105552011-03-22 Joseph Myers <joseph@codesourcery.com>
10556
10557 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
10558 (munix=93): Use Var.
10559 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
10560 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
10561 * config/pa/pa-opts.h: New.
10562 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
10563 (pa_handle_option): Don't assert that global structures are in
10564 use. Access target_flags via opts pointer. Don't handle
10565 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
10566 OPT_munix_98 here.
10567 (pa_option_override): Handle deferred OPT_mfixed_range_.
10568
cd8d8754
JM
105692011-03-22 Joseph Myers <joseph@codesourcery.com>
10570
10571 * config/mn10300/mn10300-opts.h: New.
10572 * config/mn10300/mn10300.c (mn10300_processor,
10573 mn10300_tune_string): Remove.
10574 (mn10300_handle_option): Don't assert that global structures are
10575 in use. Access mn10300_processor via opts pointer. Don't handle
10576 OPT_mtune_ here.
10577 * config/mn10300/mn10300.h (enum processor_type): Move to
10578 mn10300-opts.h.
10579 (mn10300_processor): Remove.
10580 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
10581 HeaderInclude entry.
10582 (mn10300_processor): New Variable entry.
10583 (mtune=): Use Var.
10584
24e6e6b1
JM
105852011-03-22 Joseph Myers <joseph@codesourcery.com>
10586
10587 * config/microblaze/microblaze.c: Don't include opts.h.
10588 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
10589 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
10590 (mno-clearbss): Use Var and Warn.
10591
8a784afb
JM
105922011-03-22 Joseph Myers <joseph@codesourcery.com>
10593
10594 * config/m32r/m32r-opts.h: New.
10595 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
10596 (m32r_handle_option): Don't assert that global structures are in
10597 use. Access target_flags and m32r_cache_flush_func via opts
10598 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
10599 OPT_mno_flush_trap here.
10600 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
10601 include of m32r-opts.h.
10602 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
10603 HeaderInclude entry.
10604 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
10605 (mmodel=): Use Enum and Var.
10606 (m32r_model): New Enum and EnumValue entries.
10607 (mno-flush-trap): Use Var.
10608 (msdata=): Use Enum and Var.
10609 (m32r_sdata): New Enum and EnumValue entries.
10610
bbfc9a8c
JM
106112011-03-22 Joseph Myers <joseph@codesourcery.com>
10612
10613 * config/m32c/m32c.c: Don't include opts.h.
10614 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
10615 m32c_handle_option): Remove.
10616 (m32c_option_override): Check global_options_set.x_target_memregs
10617 instead of target_memregs_set.
10618 * config/m32c/m32c.h (target_memregs): Remove.
10619 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
10620 variable.
10621
e24b8335
JM
106222011-03-22 Joseph Myers <joseph@codesourcery.com>
10623
10624 * config/iq2000/iq2000-opts.h: New.
10625 * config/iq2000/iq2000.c: Don't include opts.h.
10626 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10627 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
10628 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
10629 HeaderInclude entry.
10630 (iq2000_tune): New Variable entry.
10631 (march=): Add comment. Use Enum.
10632 (iq2000_arch): New Enum and EnumValue entries.
10633 (mcpu=): Use Enum and Var.
10634 (iq2000_tune): New Enum and EnumValue entries.
10635
e6cc0c98
JM
106362011-03-22 Joseph Myers <joseph@codesourcery.com>
10637
10638 * config/ia64/ia64-opts.h: New.
10639 * config/ia64/ia64.c (ia64_tune): Remove.
10640 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
10641 here. Use error_at.
10642 (ia64_option_override): Handle deferred OPT_mfixed_range_.
10643 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
10644 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
10645 HeaderInclude entry.
10646 (ia64_tune): New Variable entry.
10647 (mfixed-range=): Use Defer and Var.
10648 (mtune=): Use Enum and Var.
10649 (ia64_tune): New Enum and EnumValue entries.
10650
db25893c
JM
106512011-03-22 Joseph Myers <joseph@codesourcery.com>
10652
10653 * config/frv/frv-opts.h: New.
10654 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
10655 frv-opts.h.
10656 (frv_cpu_type): Remove.
10657 * config/frv/frv.c: Don't include opts.h.
10658 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 10659 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
10660 (frv_cpu_type): New Variable entry.
10661 (frv_cpu): New Enum and EnumValue entries.
10662
6c223f5d
JM
106632011-03-22 Joseph Myers <joseph@codesourcery.com>
10664
10665 * config/cris/cris.c (cris_handle_option): Access target_flags via
10666 opts pointer. Don't assert that global structures are in use.
10667 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
10668 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
10669
bbd399cf
JM
106702011-03-22 Joseph Myers <joseph@codesourcery.com>
10671
10672 * config/bfin/bfin-opts.h: New.
10673 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
10674 bfin_si_revision, bfin_workarounds): Remove.
10675 (bfin_cpus): Make static const.
10676 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
10677 not bfin_lib_id_given.
10678 (bfin_handle_option): Don't set bfin_lib_id_given. Access
10679 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 10680 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
10681 * config/bfin/bfin.h: Include bfin-opts.h.
10682 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
10683 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
10684 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
10685 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
10686 entries.
10687
5e1b4d5a
JM
106882011-03-22 Joseph Myers <joseph@codesourcery.com>
10689
10690 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
10691 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
10692 or -msoft-float here.
10693 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
10694 -msoft-float and -mhard-float.
c78dd519 10695 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
10696 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10697 msoft-float.
10698 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
10699 -msoft-float.
10700 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
10701 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
10702 not mhard-float.
10703 (LIBGCC_SPEC): Don't handle -msoft-float.
10704 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
10705 -mhard-float.
10706 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
10707 msoft-float.
10708 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
10709 -mfloat-abi=*, not -msoft-float and -mhard-float.
10710 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
10711 -msoft-float.
10712 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
10713 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
10714 mhard-float and msoft-float.
10715 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
10716 mfloat-abi=soft in comments, not mhard-float and msoft-float.
10717 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
10718 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
10719 mhard-float.
10720 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
10721 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
10722 msoft-float.
10723 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
10724 not mhard-float.
10725 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
10726 not msoft-float.
10727
800d1de1
RH
107282011-03-22 Richard Henderson <rth@redhat.com>
10729
10730 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
10731 TARGET_ABI_WINDOWS_NT.
10732 (alpha_output_function_end_prologue): Likewise.
10733 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
10734 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10735 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
10736 (trap, *movsi_nt_vms): Likewise.
10737 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
10738 (*tablejump_osf_nt_internal): Remove.
10739 * config/alpha/predicates.md (input_operand): Only test Pmode.
10740
c59ddd2b
JM
107412011-03-22 Joseph Myers <joseph@codesourcery.com>
10742
10743 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
10744 via opts pointer. Use error_at. Don't assert that global
10745 structures are in use.
10746
1333f97f
JM
107472011-03-22 Joseph Myers <joseph@codesourcery.com>
10748
10749 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
10750 (ix86_handle_option): Access ix86_isa_flags and
10751 ix86_isa_flags_explicit via opts pointer. Don't assert that
10752 global structures are in use.
10753 (ix86_function_specific_save, ix86_function_specific_restore):
10754 Update ix86_isa_flags_explicit field name.
c78dd519 10755 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
10756 (ix86_isa_flags_explicit): Rename TargetSave entry to
10757 x_ix86_isa_flags_explicit.
10758
75db85d8
RH
107592011-03-22 Richard Henderson <rth@redhat.com>
10760
10761 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
10762 (alpha_option_override, direct_return): Likewise.
10763 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
10764 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
10765 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
10766 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
10767 (alpha_expand_epilogue, alpha_end_function): Likewise.
10768 (alpha_init_libfuncs): Likewise.
10769 (struct machine_function): Remove unicosmk members.
10770 (print_operand) ['t']: Remove.
10771 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
10772 unicosmk_output_module_name, unicosmk_output_common,
10773 current_section_align, unicosmk_output_text_section_asm_op,
10774 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
10775 unicosmk_section_type_flags, unicosmk_unique_section,
10776 unicosmk_asm_named_section, unicosmk_insert_attributes,
10777 unicosmk_output_align, unicosmk_defer_case_vector,
10778 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
10779 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
10780 unicosmk_output_ssib, unicosmk_add_call_info_word,
10781 unicosmk_extern_head, unicosmk_output_default_externs,
10782 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
10783 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
10784 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
10785 * config/alpha/alpha-protos.h: Update.
10786 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
10787 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
10788 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
10789 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
10790 (*mulsi_se, mulvsi3): Likewise.
10791 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
10792 (*divmodsi_internal, call, call_value, realign): Likewise.
10793 (moddi3, umoddi3): Likewise; remove duplicate expander.
10794 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
10795 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
10796 (*movdi_nofix): Remove r/U alternative.
10797 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
10798 * config/alpha/constraints.md ("U"): Remove.
10799 * config/alpha/predicates.md (call_operand"): Don't test
10800 TARGET_ABI_UNICOSMK.
10801
96e45421
JM
108022011-03-22 Joseph Myers <joseph@codesourcery.com>
10803
10804 * target.def (handle_option): Take gcc_options and
10805 cl_decoded_option pointers and location_t.
10806 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
10807 * doc/tm.texi: Regenerate.
10808 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
10809 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
10810 * lto-opts.c (lto_reissue_options): Generate option structure for
10811 targetm.handle_option call.
10812 * opts.c (target_handle_option): Update call to
10813 targetm.handle_option. Remove assertions about values now passed
10814 down to hook.
10815 * targhooks.c (default_target_handle_option): New.
10816 * targhooks.h (default_target_handle_option): Declare.
10817 * config/alpha/alpha.c: Include opts.h.
10818 (alpha_handle_option): Update to new hook interface.
10819 * config/arm/arm.c: Include opts.h.
10820 (arm_handle_option): Update to new hook interface.
10821 * config/arm/t-arm (arm.o): Update dependencies.
10822 * config/bfin/bfin.c: Include opts.h.
10823 (bfin_handle_option): Update to new hook interface.
10824 * config/cris/cris.c: Include opts.h.
10825 (cris_handle_option): Update to new hook interface.
10826 * config/frv/frv.c: Include opts.h.
10827 (frv_handle_option): Update to new hook interface.
10828 * config/i386/i386.c: Include opts.h.
10829 (ix86_handle_option): Update to new hook interface.
10830 (ix86_valid_target_attribute_inner_p): Generate option structure
10831 for call to ix86_handle_option.
10832 * config/i386/t-i386 (i386.o): Update dependencies.
10833 * config/ia64/ia64.c: Include opts.h.
10834 (ia64_handle_option): Update to new hook interface.
10835 * config/ia64/t-ia64 (ia64.o): Update dependencies.
10836 * config/iq2000/iq2000.c: Include opts.h.
10837 (iq2000_handle_option): Update to new hook interface.
10838 * config/m32c/m32c.c: Include opts.h.
10839 (m32c_handle_option): Update to new hook interface.
10840 * config/m32r/m32r.c: Include opts.h.
10841 (m32r_handle_option): Update to new hook interface.
10842 * config/m68k/m68k.c: Include opts.h.
10843 (m68k_handle_option): Update to new hook interface.
10844 * config/mep/mep.c: Include opts.h.
10845 (mep_handle_option): Update to new hook interface.
10846 * config/microblaze/microblaze.c: Include opts.h.
10847 (microblaze_handle_option): Update to new hook interface.
10848 * config/mips/mips.c: Include opts.h.
10849 (mips_handle_option): Update to new hook interface.
10850 * config/mn10300/mn10300.c: Include opts.h.
10851 (mn10300_handle_option): Update to new hook interface.
10852 * config/pa/pa.c: Include opts.h.
10853 (pa_handle_option): Update to new hook interface.
10854 * config/pdp11/pdp11.c: Include opts.h.
10855 (pdp11_handle_option): Update to new hook interface.
10856 * config/rs6000/rs6000.c: Include opts.h.
10857 (rs6000_handle_option): Update to new hook interface.
10858 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
10859 * config/rx/rx.c: Include opts.h.
10860 (rx_handle_option): Update to new hook interface.
10861 * config/s390/s390.c: Include opts.h.
10862 (s390_handle_option): Update to new hook interface.
10863 * config/score/score.c: Include opts.h.
10864 (score_handle_option): Update to new hook interface.
10865 * config/sh/sh.c: Include opts.h.
10866 (sh_handle_option): Update to new hook interface.
10867 * config/sparc/sparc.c: Include opts.h.
10868 (sparc_handle_option): Update to new hook interface.
10869 * config/v850/v850.c: Include opts.h.
10870 (v850_handle_option): Update to new hook interface.
10871
66017846
JM
108722011-03-22 Joseph Myers <joseph@codesourcery.com>
10873
10874 * gcc.c (driver_unknown_option_callback): Only permit and save
10875 unknown -Wno- options.
10876 (driver_wrong_lang_callback): Save options directly instead of via
10877 driver_unknown_option_callback.
10878
e8b97ccd
EB
108792011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10880
10881 * combine.c (simplify_set): Try harder to find the best CC mode when
10882 simplifying a nested COMPARE on the RHS.
10883
ebb9f8b0
JM
108842011-03-22 Joseph Myers <joseph@codesourcery.com>
10885
10886 * config/alpha/gnu.h: Remove.
10887 * config/arc: Remove directory.
10888 * config/arm/netbsd.h: Remove.
10889 * config/arm/t-pe: Remove.
10890 * config/crx: Remove directory.
10891 * config/i386/netbsd.h: Remove.
10892 * config/m68hc11: Remove directory.
10893 * config/m68k/uclinux-oldabi.h: Remove.
10894 * config/mcore/mcore-pe.h: Remove.
10895 * config/mcore/t-mcore-pe: Remove.
10896 * config/netbsd-aout.h: Remove.
10897 * config/rs6000/gnu.h: Remove.
10898 * config/sh/sh-symbian.h: Remove.
10899 * config/sh/symbian-base.c: Remove.
10900 * config/sh/symbian-c.c: Remove.
10901 * config/sh/symbian-cxx.c: Remove.
10902 * config/sh/symbian-post.h: Remove.
10903 * config/sh/symbian-pre.h: Remove.
10904 * config/sh/t-symbian: Remove.
10905 * config/svr3.h: Remove.
10906 * config/vax/netbsd.h: Remove.
10907 * config.build: Don't handle i[34567]86-*-pe.
10908 * config.gcc: Remove handling of deprecations for most deprecated
10909 targets.
10910 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
10911 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
10912 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
10913 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
10914 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
10915 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
10916 Remove cases.
10917 * config.host: Don't handle i[34567]86-*-pe.
10918 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
10919 (ASM_SPEC32): Don't handle -mcall-gnu.
10920 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
10921 -mcall-gnu.
10922 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
10923 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
10924 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
10925 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
10926 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
10927 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
10928 conditional on SYMBIAN.
10929 * configure.ac: Don't handle powerpc*-*-gnu*.
10930 * configure: Regenerate.
10931 * doc/extend.texi (interrupt attribute): Don't mention CRX.
10932 * doc/install-old.texi (m6811, m6812): Don't mention.
10933 * doc/install.texi (arc-*-elf*): Don't document multilib option.
10934 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
10935 (m68k-uclinuxoldabi): Don't mention.
10936 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
10937 Remove.
10938 (-mcall-gnu): Remove.
10939 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
10940 families): Remove constraint documentation.
10941
999a7d80
MS
109422011-03-22 Marius Strobl <marius@FreeBSD.org>
10943
10944 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
10945 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
10946 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
10947
45540bcf
MM
109482011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
10949
10950 PR target/48226
10951 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
10952 vector when peeking at the next token for vector, don't expand the
10953 keywords.
10954
980a0ff4
GJL
109552011-03-21 Georg-Johann Lay <avr@gjlay.de>
10956
10957 * config/avr/avr-protos.h (expand_epilogue): Change prototype
10958 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
10959 * config/avr/avr.c (init_cumulative_args)
10960 (avr_function_arg_advance): Use it.
10961 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
10962 sibcall epilogues.
10963 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
10964 (avr_function_ok_for_sibcall): ...this new function.
10965 (avr_lookup_function_attribute1): New static Function.
10966 (avr_naked_function_p, interrupt_function_p)
10967 (signal_function_p, avr_OS_task_function_p)
10968 (avr_OS_main_function_p): Use it.
10969 * config/avr/avr.md ("sibcall", "sibcall_value")
10970 ("sibcall_epilogue"): New expander.
10971 ("*call_insn", "*call_value_insn"): New insn.
10972 ("call_insn", "call_value_insn"): Remove
10973 ("call", "call_value", "epilogue"): Change expander to handle
10974 sibling calls.
10975
49168734
NC
109762011-03-21 Nick Clifton <nickc@redhat.com>
10977
10978 * doc/invoke.texi (Overall Options): Move closing brace to end of
10979 options list.
10980 (Optimization Options): Add missing @gol.
10981 (Directory Options): Likewise.
10982 (i386 and x86-64 Options): Likewise.
10983 (RS6000 and PowerPC Options): Likewise.
10984 (i386 and x86-64 Windows Options): Likewise.
10985 (V850 Options): Add text missing from descriptions.
10986
bdfe906f
RH
109872011-03-22 Richard Henderson <rth@redhat.com>
10988
10989 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
10990 (avr_incoming_return_addr_rtx): New.
10991 (emit_push_byte): New.
10992 (expand_prologue): Use it. Remove incorrect dwarf annotation for
10993 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
10994 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
10995 (emit_pop_byte): New.
10996 (expand_epilogue): Use it. Pop frame pointer by bytes.
10997 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
10998 (INCOMING_RETURN_ADDR_RTX): New.
10999 (INCOMING_FRAME_SP_OFFSET): New.
11000 (ARG_POINTER_CFA_OFFSET): New.
11001 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
11002 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
11003 (pophi): Remove.
11004
d090a5aa
RH
11005 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
11006
fdf3e18a
NF
110072011-03-22 Nathan Froyd <froydnj@codesourcery.com>
11008
11009 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
11010 (FUNCTION_ARG_ADVANCE): Likewise.
11011 * tm.texi.in: Change references to them to hook references.
11012 * tm.texi: Regenerate.
11013 * targhooks.c (default_function_arg): Eliminate check for target
11014 macro.
11015 (default_function_incoming_arg): Likewise.
11016 (default_function_arg_advance): Likewise.
c78dd519 11017 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
11018 (function_arg_advance): Likewise.
11019 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
11020
009d3fcf
NF
110212011-03-22 Nathan Froyd <froydnj@codesourcery.com>
11022
11023 * tree.c (build_call_1): New function.
11024 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
11025
7bec30e1
RG
110262011-03-22 Richard Guenther <rguenther@suse.de>
11027
11028 PR tree-optimization/48228
11029 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
11030 for single-arg PHIs.
11031
0b7e851b
AB
110322011-03-22 Andrey Belevantsev <abel@ispras.ru>
11033
11034 PR rtl-optimization/48143
11035 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
11036 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
11037 sse2_cvtps2pd): Likewise.
11038
d89afca5
AK
110392011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11040
11041 * recog.c (canonicalize_change_group): Use validate_unshare_change.
11042
f471fe72
RG
110432011-03-22 Richard Guenther <rguenther@suse.de>
11044
11045 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
11046 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
11047 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
11048 and REALIGN_LOAD_EXPR.
11049 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
11050 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
11051 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
11052 DOT_PROD_EXPR case ...
11053 (expand_expr_real_2): ... here.
11054 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
11055 and REALIGN_LOAD_EXPR.
11056 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
11057 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
11058 (vect_create_epilog_for_reduction): Likewise.
11059 (vectorizable_reduction): Likewise.
11060 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
11061 * tree-vect-stmts.c (vectorizable_load): Likewise.
11062
f2f81d57
EB
110632011-03-22 Eric Botcazou <ebotcazou@adacore.com>
11064
11065 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
11066
ab081dd6
AK
110672011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11068
11069 * config/s390/s390.c (s390_delegitimize_address): Fix offset
11070 handling for PLTOFF/GOTOFF.
11071
6fd5332b
NC
110722011-03-22 Nick Clifton <nickc@redhat.com>
11073
11074 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
11075 trailing backslash from the end of the macro definition.
11076
01841ac0
AK
110772011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11078
11079 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
11080 and PLT unspecs.
11081
2ef6ce06
RS
110822011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
11083
11084 * expr.h (prepare_operand): Move to...
11085 * optabs.h (prepare_operand): ...here and change the insn code
11086 parameter from "int" to "enum insn_code".
11087 (insn_operand_matches): Declare.
11088 * expr.c (init_expr_target): Use insn_operand_matches.
11089 (compress_float_constant): Likewise.
11090 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
11091 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
11092 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
11093 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
11094 Likewise.
2ef6ce06
RS
11095 (gen_cond_trap): Likewise.
11096 (prepare_operand): Likewise. Change icode to an insn_code.
11097 (insn_operand_matches): New function.
11098 * reload.c (find_reloads_address_1): Use insn_operand_matches.
11099 * reload1.c (gen_reload): Likewise.
11100 * targhooks.c (default_secondary_reload): Likewise.
11101
9e43ad68
UB
111022011-03-21 Uros Bizjak <ubizjak@gmail.com>
11103
9a96da32
UB
11104 * config/alpha/alpha.md (unspec): New define_c_enum.
11105 (unspecv): Ditto.
11106
111072011-03-21 Uros Bizjak <ubizjak@gmail.com>
11108
11109 PR debug/48214
9e43ad68
UB
11110 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
11111 between a call and its CALL_ARG_LOCATION note.
11112
31408f60
EB
111132011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11114
11115 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
11116
111172011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
11118
11119 PR c/42544
11120 PR c/48197
11121 * c-common.c (shorten_compare): If primopN is first sign-extended
11122 to opN and then zero-extended to result type, set primopN to opN.
11123
9dfd55f5
DJ
111242011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
11125
11126 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
11127 for barrier handlers.
11128
f3c33d9d
MM
111292011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
11130
11131 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
11132 UNSPEC constants to be in the unspec enumeration, and redefine
11133 all UNSPECV constants to be in the unspecv enumeration, so that
11134 dumps print which unspec/unspec_volatile this is.
11135 * config/rs6000/vector.md (UNSPEC_*): Ditto.
11136 * config/rs6000/paired.md (UNSPEC_*): Ditto.
11137 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
11138 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
11139 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
11140
11141 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
11142 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
11143 UNSPECV_LWSYNC, since these are used as unspec_volatile.
11144 * config/rs6000/sync.md (isync, lwsync): Ditto.
11145
ac43f774
RG
111462011-03-21 Richard Guenther <rguenther@suse.de>
11147
11148 * params.def (lto-min-partition): Fix typo.
11149
411cdbd8
RG
111502011-03-21 Richard Guenther <rguenther@suse.de>
11151
11152 PR c/47939
11153 * c-decl.c (grokdeclarator): Drop to the main variant only
11154 for array types. Drop flag_gen_aux_info check.
11155
1cd9e416
RG
111562011-03-21 Richard Guenther <rguenther@suse.de>
11157
11158 PR translation/47911
11159 * params.def (lto-partitions): Fix typo.
11160 (lto-min-partition): Fix wording.
11161
ada5ad67
AT
111622011-03-21 Andreas Tobler <andreast@fgznet.ch>
11163
11164 * config/rs6000/t-freebsd: Remove duplication from file.
11165
f9613c9a
RG
111662011-03-21 Richard Guenther <rguenther@suse.de>
11167
11168 PR middle-end/47661
11169 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
11170
9bfbc1eb
RG
111712011-03-21 Richard Guenther <rguenther@suse.de>
11172
11173 PR lto/48210
11174 * params.def (lto-partitions): Require at least 1 partition.
11175
a2268084
RO
111762011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11177
11178 * gthr-solaris.h: Remove.
11179 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
11180 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
11181 (LIB_SPEC): Likewise.
11182 * config/sol2.opt (threads): Remove.
9e43ad68 11183 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
11184 (sparc*-*-solaris2*): Likewise.
11185 * configure.ac (enable_threads): Enable solaris support.
11186 * configure: Regenerate.
9e43ad68 11187 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
11188 * doc/install.texi (Configuration, --enable-threads=lib): Remove
11189 solaris.
11190
c43d9a1b
RO
111912011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11192
11193 * config.gcc: Obsolete *-*-solaris2.8*.
11194 * doc/install.texi (Specific, *-*-solaris2*): Document it.
11195
084239f4
RO
111962011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11197
11198 PR bootstrap/48135
11199 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
11200 reference. Solaris 8 perl works.
11201
64cadbe7
RO
112022011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11203
11204 PR bootstrap/48135
11205 * doc/install.texi (Prerequisites): Move jar etc. up.
11206 Explain support library version requirements.
11207
eb975109
RO
112082011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11209
11210 PR bootstrap/48135
11211 * doc/install.texi (Prerequisites): Move Perl to build
11212 requirements. Always necessary on Solaris 2 with Sun ld.
11213
8a509ffd
RO
112142011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11215
11216 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
11217 binutils 2.21.
11218 (Specific, i?86-*-solaris2.[89]): Likewise.
11219 (Specific, i?86-*-solaris2.10): Likewise.
11220 (Specific, mips-sgi-irix6): Likewise.
11221 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
11222 Update for binutils 2.21.
11223
8fbc58a1
RO
112242011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11225
11226 * configure.ac (gcc_cv_lto_plugin): Fix typo.
11227 Allow -fuse-linker-plugin for non-default plugin linker.
11228 * configure: Regenerate.
11229
7e84ad0b
NP
112302011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
11231
11232 PR bootstrap/48167
11233 * gengtype.c (files_rules): Added rule for cp/parser.h.
11234
2f36e14b
JJ
112352011-03-21 Jakub Jelinek <jakub@redhat.com>
11236
11237 PR target/48213
11238 * config/s390/s390.c (s390_delegitimize_address): Don't call
11239 lowpart_subreg if orig_x has BLKmode.
11240
62d784f7
KT
112412011-03-21 Kai Tietz <ktietz@redhat.com>
11242
11243 PR target/12171
9e43ad68
UB
11244 * doc/plugins.texi: Adjust documentation for plugin register_callback.
11245 * tree.h (attribute_spec): Add new member affects_type_identity.
11246 * attribs.c (empty_attribute_table): Adjust attribute_spec
11247 initializers.
62d784f7
KT
11248 * config/alpha/alpha.c: Likewise.
11249 * config/arc/arc.c: Likewise.
11250 * config/arm/arm.c: Likewise.
11251 * config/avr/avr.c: Likewise.
11252 * config/bfin/bfin.c: Likewise.
11253 * config/crx/crx.c: Likewise.
11254 * config/darwin.h: Likewise.
11255 * config/h8300/h8300.c: Likewise.
11256 * config/i386/cygming.h: Likewise.
11257 * config/i386/i386.c: Likewise.
11258 * config/ia64/ia64.c: Likewise.
11259 * config/m32c/m32c.c: Likewise.
11260 * config/m32r/m32r.c: Likewise.
11261 * config/m68hc11/m68hc11.c: Likewise.
11262 * config/m68k/m68k.c: Likewise.
11263 * config/mcore/mcore.c: Likewise.
11264 * config/mep/mep.c: Likewise.
11265 * config/microblaze/microblaze.c: Likewise.
11266 * config/mips/mips.c: Likewise.
11267 * config/rs6000/rs6000.c: Likewise.
11268 * config/rx/rx.c: Likewise.
11269 * config/sh/sh.c: Likewise.
11270 * config/sol2.h: Likewise.
11271 * config/sparc/sparc.c: Likewise.
11272 * config/spu/spu.c: Likewise.
11273 * config/stormy16/stormy16.c: Likewise.
11274 * config/v850/v850.c: Likewise.
11275
54833ec0
CLT
112762011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
11277
11278 * simplify-rtx.c (simplify_binary_operation_1): Handle
11279 (xor (and A B) C) case when B and C are both constants.
11280
14a41392
MX
112812011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
11282
11283 * tree-dfa.c (add_referenced_var): Fix typo in comment.
11284
806c3492
EB
112852011-03-20 Eric Botcazou <ebotcazou@adacore.com>
11286
11287 PR bootstrap/48168
11288 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
11289
65e0a0f3
JJ
112902011-03-20 Jakub Jelinek <jakub@redhat.com>
11291
11292 PR rtl-optimization/48156
11293 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
11294 assume df and df_lr are not NULL.
11295
b6a75dda
RR
112962011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11297
11298 PR debug/48023
11299 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
11300 between a call and its CALL_ARG_LOCATION note.
11301
5969b52d
KK
113022011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
11303
11304 PR debug/48178
11305 * config/sh/sh.c (find_barrier): Don't emit a constant pool
11306 between a call and its corresponding CALL_ARG_LOCATION note.
11307
f773c2bd
AS
113082011-03-19 Anatoly Sokolov <aesok@post.ru>
11309
11310 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
11311 instead of loop. Use HARD_REGISTER_NUM_P predicate.
11312 * haifa-sched.c (setup_ref_regs): Ditto.
11313 * caller-save.c (add_used_regs_1): Ditto.
11314 * dse.c (look_for_hardregs): Ditto.
11315 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
11316 * sched-rgn.c (check_live_1): Ditto.
11317
8bf872f9
JM
113182011-03-18 Joseph Myers <joseph@codesourcery.com>
11319
11320 * c-decl.c (diagnose_mismatched_decls): Give an error for
11321 redefining a typedef with variably modified type.
11322
ff8e2159
JM
113232011-03-18 Joseph Myers <joseph@codesourcery.com>
11324
11325 * c-decl.c (grokfield): Don't allow typedefs for structures or
11326 unions with no tag by default.
11327 * doc/extend.texi (Unnamed Fields): Update.
11328
16cc4440
UB
113292011-03-18 Uros Bizjak <ubizjak@gmail.com>
11330
11331 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
11332 Rewrite using indirect functions.
11333 (lwp_slwpcb): Ditto.
11334 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
11335 (avx_vinsertf128<mode>): Ditto.
11336
e101e12e
AK
113372011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11338
11339 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
11340 unspecs.
11341
4627c7fb
AK
113422011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11343
11344 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 11345 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 11346
2d36b47f
MK
113472011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
11348
11349 PR rtl-optimization/48170
11350 * gcse.c (hoist_code): Remove bogus asserts.
11351
2a3d7659
JL
113522011-03-18 Georg-Johann Lay <avr@gjlay.de>
11353
11354 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
11355 computation for prologue/epilogue.
11356
34c3ef05
RO
113572011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11358
11359 * Makefile.in (check-consistency): Remove.
11360
81f2b976
JJ
113612011-03-18 Jakub Jelinek <jakub@redhat.com>
11362
11363 PR debug/48176
11364 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
11365 arange_table_in_use is 0, but either text_section_used or
11366 cold_text_section_used is true. Don't call it if
11367 !info_section_emitted.
11368
68fd7765
AS
113692011-03-18 Anatoly Sokolov <aesok@post.ru>
11370
11371 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
11372 FUNCTION_VALUE_REGNO_P): Remove.
11373 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
11374 Remove.
11375 * config/avr/avr.c (avr_ret_register): Make static inline.
11376 (avr_function_value_regno_p): New function.
11377 (avr_libcall_value): Make static. Add 'func' argument.
11378 (avr_function_value): Make static. Rename 'func' argument to
11379 'fn_decl_or_type', forward it to avr_libcall_value. Call
11380 avr_ret_register function instead of RET_REGISTER macro.
11381 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
11382
b4ef8aac
JM
113832011-03-18 Jason Merrill <jason@redhat.com>
11384
11385 PR c++/23372
11386 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
11387
09a52fc3
RG
113882011-03-18 Richard Guenther <rguenther@suse.de>
11389
11390 * doc/install.texi (--enable-gold): Remove.
11391 (--with-plugin-ld): Document.
11392 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
11393
2a3d7659 113942011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
11395
11396 PR middle-end/47790
11397 * expr.c (optimize_bitfield_assignment_op): Revamp to work
11398 again after expansion changes.
11399
2abbb0fe
CLT
114002011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
11401
11402 * combine.c (try_combine): Do simplification only call of
11403 subst() on i2 even when i1 is present. Update comments.
11404
2efd0aa6
KK
114052011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
11406
11407 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
11408 and UNSPEC_PCREL_SYMOFF.
11409
30a49b23
AK
114102011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11411
11412 * config/s390/s390.md: Use define_c_enum for the unspec constant
11413 definitions.
11414
419e1853
JJ
114152011-03-18 Richard Henderson <rth@redhat.com>
11416 Jakub Jelinek <jakub@redhat.com>
11417
11418 PR bootstrap/48161
11419 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
11420 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
11421
37875856
L
114222011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11423
11424 PR middle-end/47725
11425 * combine.c (cant_combine_insn_p): Don't check zero/sign
11426 extended hard registers.
11427
76069764
L
114282011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11429
11430 PR middle-end/47725
11431 * combine.c (cant_combine_insn_p): Check zero/sign extended
11432 hard registers.
11433
24da2019
AS
114342011-03-17 Anatoly Sokolov <aesok@post.ru>
11435
11436 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
11437 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
11438 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
11439 Change return type to bool.
11440 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
11441
a82ff31f
JJ
114422011-03-17 Jakub Jelinek <jakub@redhat.com>
11443
8b29c87a
JJ
11444 PR debug/48163
11445 * var-tracking.c (prepare_call_arguments): If CALL target
11446 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
11447 pc instead of looking it up using cselib_lookup and use
11448 Pmode for it if x has VOIDmode.
11449 * dwarf2out.c (gen_subprogram_die): If also both first and
11450 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
11451
a82ff31f
JJ
11452 PR debug/48163
11453 * function.c (assign_parms): For data.passed_pointer parms
11454 use MEM of data.entry_parm instead of data.entry_parm itself
11455 as DECL_INCOMING_RTL.
11456 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
11457 also when passed and declared mode is the same, DECL_RTL
11458 is a MEM with pseudo as address and DECL_INCOMING_RTL is
11459 a MEM too.
11460
82ce305c
JL
114612011-03-16 Jeff Law <law@redhat.com>
11462
11463 PR rtl-optimization/37273
11464 * ira-costs.c (scan_one_insn): Detect constants living in memory and
11465 handle them like argument loads from stack slots. Do not double
11466 count memory for memory constants and argument loads from stack slots.
11467
fe58e02b
L
114682011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11469
11470 PR debug/48160
11471 * var-tracking.c (prepare_call_arguments): Check SUBREG.
11472
6fc4dbc7
L
114732011-03-17 H.J. Lu <hongjiu.lu@intel.com>
11474
11475 PR target/48171
11476 * config/i386/i386.opt: Add Save to -mavx and -mfma.
11477
db3ed0b3
JJ
114782011-03-17 Jakub Jelinek <jakub@redhat.com>
11479
8054a389
JJ
11480 PR bootstrap/48153
11481 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
11482 if dwarf_strict.
11483 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
11484 Clear call_arg_locations and call_arg_loc_last always.
11485
db3ed0b3
JJ
11486 PR middle-end/48152
11487 * var-tracking.c (prepare_call_arguments): If argument needs to be
11488 passed by reference, adjust argtype and mode.
11489
1bce4ff3
RG
114902011-03-17 Richard Guenther <rguenther@suse.de>
11491
11492 PR middle-end/48134
11493 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
11494 a value make sure to fold the statement.
11495
7c71147d
CLT
114962011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
11497
11498 PR target/43872
11499 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
11500 return condition with !cfun->calls_alloca.
11501
0e1ee172
RG
115022011-03-17 Richard Guenther <rguenther@suse.de>
11503
11504 PR bootstrap/48148
11505 * lto-cgraph.c (input_overwrite_node): Clear the abstract
11506 origin for decls in other ltrans units.
11507 (input_varpool_node): Likewise.
11508
f8bce518
RG
115092011-03-17 Richard Guenther <rguenther@suse.de>
11510
11511 PR middle-end/48165
11512 * tree-object-size.c (compute_object_offset): Properly return
11513 the offset operand of MEM_REFs as sizetype.
11514
1b6fa860
JJ
115152011-03-17 Jakub Jelinek <jakub@redhat.com>
11516
dabd47e7
JJ
11517 PR rtl-optimization/48141
11518 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
11519 * dse.c: Include params.h.
11520 (active_local_stores_len): New variable.
11521 (add_wild_read, dse_step1): Clear it when setting active_local_stores
11522 to NULL.
11523 (record_store, check_mem_read_rtx): Decrease it when removing
11524 from the chain.
11525 (scan_insn): Likewise. Increase it when adding to chain, if it
11526 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
11527 set active_local_stores to NULL before the addition.
11528 * Makefile.in (dse.o): Depend on $(PARAMS_H).
11529
1b6fa860
JJ
11530 PR rtl-optimization/48141
11531 * dse.c (record_store): If no positions are needed in an insn
11532 that cannot be deleted, at least unchain it from active_local_stores.
11533
7b5cb7d6
DS
115342011-03-16 Dodji Seketeli <dodji@redhat.com>
11535
11536 PR debug/47510
11537 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
11538 (lookup_type_die_strip_naming_typedef): ... here.
11539 (get_context_die): Use it.
11540 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
11541 the anonymous struct named by the naming typedef.
11542
585e9d9d
L
115432011-03-16 H.J. Lu <hongjiu.lu@intel.com>
11544
11545 PR target/48154
11546 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
11547 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11548
6261ab0e
JL
115492011-03-16 Jeff Law <law@redhat.com>
11550
11551 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 11552 check for operands of conditional. Allow type to be a pointer.
6261ab0e 11553
0b0081ec
RG
115542011-03-16 Richard Guenther <rguenther@suse.de>
11555
11556 PR tree-optimization/48149
11557 * fold-const.c (fold_binary_loc): Fold
11558 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
11559
64a3d647
RG
115602011-03-16 Richard Guenther <rguenther@suse.de>
11561
11562 PR tree-optimization/26134
11563 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
11564 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
11565 (non_rewritable_mem_ref_base): Handle complex type component
11566 accesses, constrain offsets for vector and complex extracts
11567 more properly.
11568
ef13324e
RG
115692011-03-16 Richard Guenther <rguenther@suse.de>
11570
11571 PR tree-optimization/48146
11572 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
11573 operands avoiding the need for renaming.
11574
f0eddb90
RG
115752011-03-16 Richard Guenther <rguenther@suse.de>
11576
11577 * gimple-fold.c (maybe_fold_reference): Open-code relevant
11578 constant folding. Move MEM_REF canonicalization first.
11579 Rely on fold_const_aggregate_ref for initializer folding.
11580 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
11581
e42348b8
JJ
115822011-03-16 Jakub Jelinek <jakub@redhat.com>
11583
29f10e71
JJ
11584 PR middle-end/48136
11585 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
11586 arg0/arg1 or their arguments are always fold converted to matching
11587 types.
11588
e42348b8
JJ
11589 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
11590 to nargs.
11591
55b46574
RO
115922011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11593
11594 PR lto/46944
11595 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
11596 Handle in-tree gold.
11597 (ld_vers): Extract binutils version for gold.
11598 (gcc_cv_ld_hidden): Handle gold here.
11599 (gcc_cv_lto_plugin): Determine level of linker plugin support.
11600 * configure: Regenerate.
11601 * config.in: Regenerate.
11602 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
11603 -fuse-linker-plugin otherwise.
11604 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
11605 (LINK_COMMAND_SPEC): Use it.
11606 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
11607
2b1c5433
JJ
116082011-03-16 Jakub Jelinek <jakub@redhat.com>
11609
c2969d8e
JJ
11610 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
11611 * calls.c: Remove debug.h include.
11612 (emit_call_1): Don't call virtual_call_token debug hook.
11613 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
11614 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
11615 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
11616 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
11617 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
11618 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
11619 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
11620 dwarf2out_virtual_call): Remove.
11621 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
11622 copy_call_info and virtual_call hooks.
11623 (dwarf2out_init): Don't initialize vcall_insn_table,
11624 debug_dcall_section and debug_vcall_section.
11625 (prune_unused_types): Don't mark nodes from dcall_table.
11626 (dwarf2out_finish): Don't output dcall or vcall tables.
11627 * final.c (final_scan_insn): Don't call direct_call or
11628 virtual_call debug hooks.
11629 * debug.h (struct gcc_debug_hooks): Remove direct_call,
11630 virtual_call_token, copy_call_info and virtual_call hooks.
11631 (debug_nothing_uid): Remove prototype.
11632 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
11633 copy_call_info and virtual_call hooks.
11634 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
11635 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
11636 * debug.c (do_nothing_debug_hooks): Likewise.
11637 (debug_nothing_uid): Remove.
11638 * doc/invoke.texi (-fenable-icf-debug): Remove.
11639 * common.opt (-fenable-icf-debug): Likewise.
11640
325f5379
JJ
11641 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
11642 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
11643 call's MEM. Handle functions returning aggregate through a hidden
11644 first pointer. For virtual calls add clobbered pc to call arguments
11645 chain.
11646 * dwarf2out.c (gen_subprogram_die): Emit
11647 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
11648 can't be emitted.
11649
a58a8e4b
JJ
11650 PR debug/45882
11651 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
11652 * rtl.h (ENTRY_VALUE_EXP): Define.
11653 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
11654 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
11655 * print-rtl.c (print_rtx): Likewise.
11656 * gengtype.c (adjust_field_rtx_def): Likewise.
11657 * var-tracking.c (vt_add_function_parameter): Adjust
11658 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
11659 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
11660 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
11661 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
11662 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
11663
2b1c5433
JJ
11664 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
11665 Call var_location debug hook even on CALL_INSNs.
11666 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
11667 * rtl.def (ENTRY_VALUE): New.
11668 * dwarf2out.c: Include cfglayout.h.
11669 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
11670 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
11671 (struct call_arg_loc_node): New type.
11672 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
11673 tail_call_site_count): New variables.
11674 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
11675 DW_TAG_GNU_call_site_parameter.
11676 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
11677 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
11678 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
11679 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
11680 and DW_AT_GNU_all_source_call_sites.
11681 (mem_loc_descriptor): Handle ENTRY_VALUE.
11682 (add_src_coords_attributes): Don't add enything if
11683 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
11684 (dwarf2out_abstract_function): Save and clear call_arg_location,
11685 call_site_count and tail_call_site_count around dwarf2out_decl call.
11686 (gen_call_site_die): New function.
11687 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
11688 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
11689 (dwarf2out_function_decl): Clear call_arg_locations,
11690 call_arg_loc_last, set call_site_count and tail_call_site_count
11691 to -1 and free block_map.
11692 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
11693 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
11694 followed by any real instructions.
11695 (dwarf2out_begin_function): Set call_site_count and
11696 tail_call_site_count to 0.
11697 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
11698 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
11699 attempt to force a DIE for it and worst case remove the attribute.
11700 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
11701 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
11702 the decl itself.
11703 * var-tracking.c: Include tm_p.h.
11704 (vt_stack_adjustments): For calls call note_register_arguments.
11705 (argument_reg_set): New variable.
11706 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
11707 ensure the VALUE is resolved.
11708 (call_arguments): New variable.
11709 (prepare_call_arguments): New function.
11710 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
11711 (struct expand_loc_callback_data): Add ignore_cur_loc field.
11712 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
11713 always use the best expression.
11714 (vt_expand_loc): Add ignore_cur_loc argument.
11715 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
11716 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
11717 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
11718 note for all calls.
11719 (vt_add_function_parameter): Use cselib_lookup_from_insn.
11720 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
11721 argument. Don't call cselib_preserve_only_values and
11722 cselib_reset_table.
11723 (note_register_arguments): New function.
11724 (vt_initialize): Compute argument_reg_set. Call
11725 vt_add_function_parameters before processing basic blocks instead of
11726 afterwards. For calls call prepare_call_arguments before calling
11727 cselib_process_insn.
11728 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
11729 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
11730 (var-tracking.o): Depend on $(TM_P_H).
11731 * cfglayout.h (insn_scope): New prototype.
11732 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
11733 * cfglayout.c (insn_scope): No longer static.
11734 * insn-notes.def (CALL_ARG_LOCATION): New.
11735 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
11736 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
11737 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
11738 nothing for DECL_EXTERNAL BLOCK_VARS.
11739
9ef13bd0
AM
117402011-03-16 Alan Modra <amodra@gmail.com>
11741
11742 PR target/45844
11743 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
11744 create invalid offset address for vsx splat insn.
11745 * config/rs6000/predicates.md (splat_input_operand): New.
11746 * config/rs6000/vsx.md (vsx_splat_*): Use it.
11747
56b67510
XDL
117482011-03-15 Xinliang David Li <davidxl@google.com>
11749
11750 PR c/47837
11751 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
11752 (normalize_preds): New function.
11753 (is_use_properly_guarded): Normalize def predicates.
11754
80fffdef
RR
117552011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
11756
732f37c6 11757 PR target/46788
80fffdef
RR
11758 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
11759 in the output template.
11760
930672ad
RG
117612011-03-15 Richard Guenther <rguenther@suse.de>
11762
11763 PR middle-end/47650
11764 * tree-pretty-print.c (dump_function_declaration): Properly
11765 dump unprototyped and varargs function types.
11766
c7ee7b45
RG
117672011-03-15 Richard Guenther <rguenther@suse.de>
11768
11769 PR tree-optimization/13954
11770 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
11771 and friends.
11772
b2ad5e37
RG
117732011-03-15 Richard Guenther <rguenther@suse.de>
11774
11775 PR tree-optimization/48037
11776 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
11777 selects into BIT_FIELD_REFs.
11778 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
11779 vector select.
11780
7ee93d4e
JJ
117812011-03-15 Jakub Jelinek <jakub@redhat.com>
11782
11783 PR tree-optimization/48129
11784 * builtins.c (fold_builtin_snprintf): Convert to type of
11785 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
11786 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
11787
e106efc7
RG
117882011-03-15 Richard Guenther <rguenther@suse.de>
11789
11790 PR tree-optimization/41490
11791 * tree-ssa-dce.c (propagate_necessity): Handle returns without
11792 value but with VUSE.
11793 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
11794 return statements.
11795 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
11796 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
11797 * tree-tailcall.c (find_tail_calls): Ignore returns.
11798
17dea42f
RG
117992011-03-15 Richard Guenther <rguenther@suse.de>
11800
11801 PR middle-end/48031
11802 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
11803 or variable-indexed array accesses when in gimple form.
11804
01c77a60
RG
118052011-03-15 Richard Guenther <rguenther@suse.de>
11806
16cc4440 11807 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 11808
77b0791e
AM
118092011-03-15 Alan Modra <amodra@gmail.com>
11810
11811 PR target/48032
11812 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
11813 presume symbol_refs without a symbol_ref_decl are suitably
11814 aligned, nor other trees we may see here. Handle anchor symbols.
11815 (legitimate_constant_pool_address_p): Comment. Add mode param.
11816 Check cmodel=medium addresses. Adjust all calls.
11817 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
11818 creating cmodel=medium optimized access to locals.
11819 * config/rs6000/constraints.md (R): Pass QImode to
11820 legitimate_constant_pool_address_p.
11821 * config/rs6000/predicates.md (input_operand): Pass mode to
11822 legitimate_constant_pool_address_p.
11823 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
11824 Update prototype.
11825
35f61ba4
MM
118262011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
11827
11828 PR target/48053
11829 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
11830 64-bit constants being loaded into registers other than GPRs such
11831 as loading 0 into a VSX register.
11832
07332e6d
RO
118332011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11834
16cc4440 11835 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 11836
de888d90
JJ
118372011-03-14 Jakub Jelinek <jakub@redhat.com>
11838
ba3ceb2d
JJ
11839 PR middle-end/47917
11840 * builtins.c (fold_builtin_snprintf): New function.
11841 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
11842 (fold_builtin_4): Likewise.
11843
2e64f8b8
JJ
11844 PR middle-end/38878
11845 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
11846 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
11847 and C - X == X also strip nops from +/-/p+ operand.
11848 When optimizing -X == C, fold C to arg0's type.
11849
de888d90
JJ
11850 PR debug/47946
11851 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
11852 emit it as add_AT_int instead of add_AT_unsigned.
11853
118542011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
11855
11856 * unwind-dw2.c: Include sys/sdt.h if it exists.
11857 (_Unwind_DebugHook): Use STAP_PROBE2.
11858 * config.in, configure: Rebuild.
11859 * configure.ac: Check for sys/sdt.h.
11860
d34abfd2
UB
118612011-03-14 Uros Bizjak <ubizjak@gmail.com>
11862
11863 * config/i386/i386.md (ROUND_FLOOR): New constant.
11864 (ROUND_CEIL): Ditto.
11865 (ROUND_TRUNC): Ditto.
11866 (ROUND_MXCSR): Ditto.
11867 (ROUND_NO_EXC): Ditto.
11868 (rint<mode>2): Use new defines instead of numerical constants.
11869 (floor<mode>2): Ditto.
11870 (ceil<mode>2): Ditto.
11871 (btrunc<mode>2): Ditto.
11872 * config/i386/i386-builtin-types.def: Define ROUND function type
11873 aliases.
11874 * config/i386/i386.c (enum ix86_builtins): Add
11875 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
11876 (struct builtin_description): Add
11877 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
11878 (ix86_expand_sse_round): New static function.
11879 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
11880 function types.
11881 (ix86_builtin_vectorized_function): Handle
11882 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
11883
87f9e23d
TT
118842011-03-14 Tom Tromey <tromey@redhat.com>
11885
11886 * c-parser.c (c_parser_asm_string_literal): Clear
11887 warn_overlength_strings.
11888
b3ab9ea2
TT
118892011-03-14 Tom Tromey <tromey@redhat.com>
11890
11891 * c-parser.c (disable_extension_diagnostics): Save
11892 warn_overlength_strings.
11893 (restore_extension_diagnostics): Restore warn_overlength_strings.
11894
6bd73dd8
JJ
118952011-03-14 Jakub Jelinek <jakub@redhat.com>
11896
11897 * BASE-VER: Change to 4.7.0.
11898
7f4d6e1b
RG
118992011-03-14 Richard Guenther <rguenther@suse.de>
11900
11901 PR middle-end/48098
11902 * tree.c (build_vector_from_val): Adjust assert to requirements
11903 and reality.
11904
c6104ef1
JJ
119052011-03-14 Jakub Jelinek <jakub@redhat.com>
11906
11907 PR bootstrap/48102
d34abfd2 11908 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 11909
dfa95e19
AT
119102011-03-14 Andreas Tobler <andreast@fgznet.ch>
11911
f60c2554 11912 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
11913 terms of target_flags_explicit. Adjust copyright year.
11914
11915 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
11916 * config/rs6000/t-freebsd: New file. Add override for
11917 LIB2FUNCS_EXTRA.
11918
bb322018
CD
119192011-03-13 Chris Demetriou <cgd@google.com>
11920
11921 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
11922 (-fno-diagnostics-show-option): this, to reflect current default.
11923 (-Werror=): Update text about -fno-diagnostics-show-option.
11924
12b1c80b
PB
119252011-03-12 Peter Bergner <bergner@vnet.ibm.com>
11926
11927 PR target/48053
11928 * config/rs6000/predicates.md (easy_vector_constant_add_self,
11929 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
11930 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
11931 mode is not V2DImode or V2DFmode.
11932 (vspltis_constant): Do not handle V2DImode and V2DFmode.
11933 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
11934 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
11935 registers to 0.
11936 (movdi_internal64): Likewise.
11937
57d598f7
SP
119382011-03-12 Sebastian Pop <sebastian.pop@amd.com>
11939
11940 PR tree-optimization/47127
11941 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
11942 parameter.
11943 (set_cloog_options): Same.
11944 (scop_to_clast): Same.
11945 (print_clast_stmt): Do not call cloog_state_malloc and
11946 cloog_state_free.
11947 (print_generated_program): Same.
11948 (gloog): Same.
11949 * graphite-clast-to-gimple.h (cloog_state): Declared.
11950 (scop_to_clast): Adjust declaration.
11951 * graphite.c (cloog_state): Defined here.
11952 (graphite_initialize): Call cloog_state_malloc.
11953 (graphite_finalize): Call cloog_state_free.
11954
f231b5ff
JM
119552011-03-11 Jason Merrill <jason@redhat.com>
11956
11957 * attribs.c (lookup_attribute_spec): Take const_tree.
11958 * tree.h: Adjust.
11959
6a4e2bd5
JM
119602011-03-11 Joseph Myers <joseph@codesourcery.com>
11961
11962 * config/sparc/sparc.c (sparc_option_override): Use
11963 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
11964
a758fd67
RG
119652011-03-11 Richard Guenther <rguenther@suse.de>
11966
11967 PR tree-optimization/48067
11968 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
11969 multiplication result will be only used once on the target
11970 stmt.
11971
03dfda54
RG
119722011-03-11 Richard Guenther <rguenther@suse.de>
11973
11974 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
11975
5f11a50a
RG
119762011-03-11 Richard Guenther <rguenther@suse.de>
11977
11978 PR lto/48073
11979 * tree.c (find_decls_types_r): Do not walk types only reachable
11980 from IDENTIFIER_NODEs.
11981
4074f163
JJ
119822011-03-11 Jakub Jelinek <jakub@redhat.com>
11983
11984 PR middle-end/48044
11985 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
11986 all vnode->force_output nodes as needed.
11987
30f7cdcd
JM
119882011-03-11 Jason Merrill <jason@redhat.com>
11989
11990 PR c++/48069
11991 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
11992 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
11993
62ecfeb8
MJ
119942011-03-11 Martin Jambor <mjambor@suse.cz>
11995
11996 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
11997 cgraph_node.
11998
e89e03ab
JJ
119992011-03-11 Jakub Jelinek <jakub@redhat.com>
12000
12001 PR tree-optimization/48063
12002 * ipa-inline.c (cgraph_decide_inlining): Don't try to
12003 inline functions called once if !tree_can_inline_p (node->callers).
12004
efbe978b 120052011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 12006
efbe978b
EB
12007 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
12008 extra_objs.
9d6193a7
CL
12009 * config/score/score3.c: Delete.
12010 * config/score/score3.h: Delete.
12011 * config/score/mul-div.S: Delete.
12012 * config/score/sfp-machine.h: Add new file.
12013 * config/score/constraints.md: Add new file.
12014 * config/score/t-score-softfp: Add new file.
efbe978b 12015 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
12016 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
12017 (score7_extra_constraint): Delete.
efbe978b 12018 (score7_option_override): Remove unused code.
9d6193a7
CL
12019 * config/score/score.c: Remove score3 and score5 define and code.
12020 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 12021 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
12022 * config/score/score.opt: Remove score3 and score5 options.
12023
5de27cca
JDA
120242011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12025
12026 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
12027 when _HPUX_SOURCE is defined.
12028 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
12029
18d92053
JM
120302011-03-10 Jason Merrill <jason@redhat.com>
12031
12032 PR c++/48029
12033 * stor-layout.c (layout_type): Don't set structural equality
12034 on arrays of incomplete type.
12035 * tree.c (type_hash_eq): Handle comparing them properly.
12036
67a2f76d
JJ
120372011-03-10 Jakub Jelinek <jakub@redhat.com>
12038
12039 PR debug/48043
18d92053 12040 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
12041 result mode matches original rtl mode.
12042
d845b2f9
NC
120432011-03-10 Nick Clifton <nickc@redhat.com>
12044
12045 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 12046 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 12047
db7ec035
JJ
120482011-03-09 Jakub Jelinek <jakub@redhat.com>
12049
12050 PR rtl-optimization/47866
12051 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
12052 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
12053 if target wasn't scalar.
12054 * function.c (assign_stack_temp_for_type): Assert that neither
12055 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
12056 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
12057 macro.
12058 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
12059
5d304e47
AK
120602011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12061
12062 * config/s390/s390-protos.h (s390_label_align): New prototype.
12063 * config/s390/s390.c (s390_label_align): New function.
12064 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
12065
93b826f0
MM
120662011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
12067
12068 PR target/47755
12069 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
12070 V2DI/V2DF constants. Only all 0's or all 1's are easy.
12071 (output_vec_const_move): Ditto.
12072
ef78aed6
AS
120732011-03-08 Anatoly Sokolov <aesok@post.ru>
12074
12075 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
12076 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
12077 * config/mips/mips.c (mips_preferred_reload_class): Make static.
12078 Change 'rclass' argument and result type to reg_class_t.
12079 (TARGET_PREFERRED_RELOAD_CLASS): Define.
12080
5f892aa0
GJL
120812011-03-08 Georg-Johann Lay <avr@gjlay.de>
12082
9e43ad68
UB
12083 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
12084 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
12085 (TARGET_MEMORY_MOVE_COST): Define.
12086 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 12087
32bd2409
JJ
120882011-03-08 Jakub Jelinek <jakub@redhat.com>
12089
530a4800
JJ
12090 PR debug/47881
12091 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
12092 removed anything.
12093
32bd2409
JJ
12094 PR tree-optimization/48022
12095 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
12096 for EQ/NE_EXPR.
12097
c7148991
JJ
120982011-03-07 Jakub Jelinek <jakub@redhat.com>
12099
12100 PR debug/47991
12101 * var-tracking.c (find_use_val): Return NULL for
12102 cui->sets && cui->store_p BLKmode MEMs.
12103
43070a6e
AS
121042011-03-07 Anatoly Sokolov <aesok@post.ru>
12105
12106 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
12107 Remove.
12108 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
12109 xstormy16_print_operand_address): Remove.
12110 * config/stormy16/stormy16.c (xstormy16_print_operand,
12111 xstormy16_print_operand_address): Make static.
12112 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
12113
efbe978b 121142011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
12115
12116 PR target/47862
12117 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
12118 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
12119 before definition.
12120
cec8ac0b
ZD
121212011-03-07 Zdenek Dvorak <ook@ucw.cz>
12122
12123 PR bootstrap/48000
12124 * cfgloopmanip.c (fix_bb_placements): Return immediately
12125 if FROM is BASE_LOOP's header.
12126
59527282
PW
121272011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
12128
12129 * gimplify.c (gimplify_function_tree): Fix building calls
12130 to __builtin_return_address.
12131
617718f7
AM
121322011-03-07 Alan Modra <amodra@gmail.com>
12133
12134 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
12135 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
12136 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
12137 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
12138 return_mode args.
12139 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
12140 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
12141 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
12142 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
12143 * config/rs6000/rs6000.c
12144 (rs6000_elf_end_indicate_exec_stack): Rename to..
12145 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
12146 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
12147 (rs6000_file_start): ..here.
12148 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
12149 file scope variables.
12150 (call_ABI_of_interest): New function.
12151 (init_cumulative_args): Set above vars when function return value
12152 is a float, vector, or small struct.
12153 (rs6000_function_arg_advance_1): Likewise for function args.
12154 (rs6000_va_start): Set rs6000_passes_float if variable arg function
12155 references float args.
12156
38528d50
MX
121572011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
12158
12159 * doc/cfg.texi: Remove "See" before @ref.
12160 * doc/invoke.texi: Likewise.
12161
f42cf4f4
JM
121622011-03-05 Jason Merrill <jason@redhat.com>
12163
12164 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
12165
804a304d
AG
121662011-03-05 Anthony Green <green@moxielogic.com>
12167
12168 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
12169
634ee309
ZD
121702011-03-05 Zdenek Dvorak <ook@ucw.cz>
12171
12172 PR rtl-optimization/47899
12173 * cfgloopmanip.c (fix_bb_placements): Fix first argument
12174 to flow_loop_nested_p when moving the loop upward.
12175
6fe471c8
RE
121762011-03-05 Richard Earnshaw <rearnsha@arm.com>
12177
12178 PR target/47719
12179 * arm.md (movhi_insn_arch4): Accept any immediate constant.
12180
cc58ceee
JJ
121812011-03-05 Jakub Jelinek <jakub@redhat.com>
12182
12183 PR tree-optimization/47967
12184 * ipa-cp.c (build_const_val): Return NULL instead of creating
12185 VIEW_CONVERT_EXPR for mismatching sizes.
12186 (ipcp_create_replace_map): Return NULL if build_const_val failed.
12187 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
12188 give up on versioning.
12189
ea868305
AM
121902011-03-05 Alan Modra <amodra@gmail.com>
12191
12192 PR target/47986
12193 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
12194 full cmodel medium/large lo_sum + high addresses.
12195
bc6ce334
AK
121962011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12197
12198 * config/s390/s390.c (s390_decompose_address): Reject non-literal
12199 pool references in UNSPEC_LTREL_OFFSET.
12200
87e7b310
JH
122012011-03-04 Jan Hubicka <jh@suse.cz>
12202
12203 PR lto/47497
12204 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
12205 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
12206 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
12207 Add node pointers.
87e7b310
JH
12208 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
12209 cgraph_add_thunk): Add node pointers.
12210 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
12211 associated to right node.
12212 (input_node): Update use of cgraph_same_body_alias
12213 and cgraph_add_thunk.
12214
d9c64246
CF
122152011-03-04 Changpeng Fang <changpeng.fang@amd.com>
12216
12217 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
12218 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
12219 modes when the flag -mprefer-avx128 is on.
d9c64246 12220
08707076
RS
122212011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
12222
12223 * dwarf2out.c (compare_loc_operands): Fix address handling.
12224
52517c81
AM
122252011-03-04 Alan Modra <amodra@gmail.com>
12226
12227 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
12228
b147c5b9
RG
122292011-03-04 Richard Guenther <rguenther@suse.de>
12230
12231 PR middle-end/47968
12232 * expmed.c (extract_bit_field_1): Prefer vector modes that
12233 vec_extract patterns can handle.
12234
8750672f
RG
122352011-03-04 Richard Guenther <rguenther@suse.de>
12236
12237 PR middle-end/47975
12238 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
12239
9eac0f2a
RH
122402011-03-04 Richard Henderson <rth@redhat.com>
12241
12242 * explow.c (emit_stack_save): Remove 'after' parameter.
12243 (emit_stack_restore): Likewise.
12244 * expr.h: Update to match.
12245 * builtins.c, calls.c, stmt.c: Likewise.
12246 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
12247 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
12248 * function.c (expand_function_end): Insert the emit_stack_save
12249 sequence before parm_birth_insn instead of after.
12250
dfee1406
UB
122512011-03-03 Uros Bizjak <ubizjak@gmail.com>
12252
12253 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
12254 (ssse3_pmaddubsw128): Ditto.
12255 (ssse3_pmaddubsw): Ditto.
12256
f1d4c3de
SE
122572011-03-03 Steve Ellcey <sje@cup.hp.com>
12258
12259 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
12260
71f3a3f5
JJ
122612011-03-03 Jakub Jelinek <jakub@redhat.com>
12262
423ed416
JJ
12263 PR c/47963
12264 * gimplify.c (omp_add_variable): Only call omp_notice_variable
12265 on TYPE_SIZE_UNIT if it is a DECL.
12266
71f3a3f5
JJ
12267 PR debug/47283
12268 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
12269 first operand is not is_gimple_mem_ref_addr, try to fold it.
12270 If the operand still isn't is_gimple_mem_ref_addr, clear
12271 MEM_EXPR on op0.
12272
4b1a5c0d
RG
122732011-03-03 Richard Guenther <rguenther@suse.de>
12274
12275 PR middle-end/47283
12276 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
12277 match comment.
12278 (refs_may_alias_p_1): For release branches return true if
12279 we are confused by our input.
12280
b46616fd
AK
122812011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
12282
12283 * config/s390/s390.c (s390_function_value): Rename to ...
12284 (s390_function_and_libcall_value): ... this.
12285 (s390_function_value): New function.
12286 (s390_libcall_value): New function.
dfee1406 12287 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
12288 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
12289 target macro definitions.
12290 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
12291
46d8fabb
JM
122922011-03-02 Joseph Myers <joseph@codesourcery.com>
12293
12294 * config/i386/freebsd64.h (CC1_SPEC): Define.
12295 * config/i386/linux64.h (CC1_SPEC): Define.
12296 * config/i386/x86-64.h (CC1_SPEC): Don't define.
12297
6b1ce545
AS
122982011-03-02 Anatoly Sokolov <aesok@post.ru>
12299
12300 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
12301 Remove.
12302 * config/stormy16/stormy16.c: Include reload.h.
12303 (xstormy16_memory_move_cost): New function.
12304 (TARGET_MEMORY_MOVE_COST): Define.
12305
34161e98
RS
123062011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
12307
12308 PR rtl-optimization/47925
12309 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
12310 with side effects. Remove the more-specific check for volatile asms.
12311
f60a97cf
AM
123122011-03-02 Alan Modra <amodra@gmail.com>
12313
12314 PR target/47935
12315 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
12316 toc relative addresses for valid offsets.
12317
f2ca11ca
RG
123182011-03-01 Richard Guenther <rguenther@suse.de>
12319
12320 PR tree-optimization/47890
12321 * tree-vect-loop.c (get_initial_def_for_induction): Set
12322 related stmt properly.
12323
7a00d9ea
RG
123242011-03-01 Richard Guenther <rguenther@suse.de>
12325
12326 PR lto/47924
12327 * lto-streamer.c (lto_record_common_node): Also register
12328 the canonical type.
12329
06c7edcc
RG
123302011-03-01 Richard Guenther <rguenther@suse.de>
12331
12332 PR lto/46911
12333 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
12334 Do not stream DECL_ABSTRACT_ORIGIN.
12335 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
12336 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
12337 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
12338 Do not stream DECL_ABSTRACT_ORIGIN.
12339 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
12340 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
12341
998871e9
AS
123422011-02-28 Anatoly Sokolov <aesok@post.ru>
12343
12344 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
12345 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 12346 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
12347 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
12348 Add 'outgoing' argument.
12349 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
12350 function.
12351 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
12352 TARGET_FUNCTION_VALUE_REGNO_P): Define.
12353
94369251
KT
123542011-02-28 Kai Tietz <kai.tietz@onevision.com>
12355
12356 PR debug/28047
12357 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
12358 (lookup_filename): Likewise.
b2e2ea67 12359 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 12360
80a832cd
JJ
123612011-02-28 Bernd Schmidt <bernds@codesourcery.com>
12362 Jakub Jelinek <jakub@redhat.com>
12363
12364 PR middle-end/47893
12365 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
12366 (assign_stack_local_1): Change last argument type to int.
12367 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
12368 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 12369 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
12370 (assign_stack_local): Adjust caller.
12371 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
12372 of assign_stack_local, pass 0 as last argument.
12373 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
12374 callers.
12375
1b500976
JJ
123762011-02-28 Jakub Jelinek <jakub@redhat.com>
12377
f61c6f34
JJ
12378 PR debug/47283
12379 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
12380 Use target address_mode and pointer_mode hooks instead of hardcoded
12381 Pmode and ptr_mode. Handle some simple cases of extending if
12382 POINTERS_EXTEND_UNSIGNED < 0.
12383 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
12384 Call convert_debug_memory_address.
12385 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
12386 convert_debug_memory_address.
12387
1b500976
JJ
12388 PR middle-end/46790
12389 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
12390 * configure: Regenerated.
12391 * config.in: Regenerated.
12392 * varasm.c (default_function_section): Return NULL
b2e2ea67 12393 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 12394
2f2935b6
MJ
123952011-02-28 Martin Jambor <mjambor@suse.cz>
12396
12397 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
12398 the description to match the printed values.
12399
474086eb
RG
124002011-02-28 Richard Guenther <rguenther@suse.de>
12401
12402 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
12403 of the copied scope tree.
12404
15bf6f3a
RW
124052011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12406
12407 * doc/extend.texi (Function Attributes): Avoid deeply (and
12408 wrongly) nested tables.
12409
f6b439c9
JJ
124102011-02-27 Jakub Jelinek <jakub@redhat.com>
12411
12412 PR middle-end/47903
12413 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
12414 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
12415 r isn't op0 nor op1.
12416
1d8ca2c7
GJL
124172011-02-23 Georg-Johann Lay <avr@gjlay.de>
12418
12419 * config/avr/avr.md: Remove magic comment for emacs.
12420
593fca4b
GJL
124212011-02-23 Georg-Johann Lay <avr@gjlay.de>
12422
12423 PR target/45261
12424 * config/avr/avr.c (avr_option_override): Use error on bad options.
12425 (avr_help): New function.
12426 (TARGET_HELP): Define.
12427
6609216e
GJL
124282011-02-22 Georg-Johann Lay <avr@gjlay.de>
12429
12430 PR target/42240
12431 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
12432 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
12433
03d458af
GP
124342011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
12435
12436 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
12437 (ARM Options): Ditto.
12438 (i386 and x86-64 Options): Ditto.
12439 (RX Options): Ditto.
12440 (SPARC Options): Ditto.
12441
1c379b78
TC
124422011-02-26 Tijl Coosemans <tijl@coosemans.org>
12443
12444 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
12445 FreeBSD 6 and later. Generally use cpu generic.
12446
d5ed058c 124472011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 12448
d5ed058c
GP
12449 * doc/cpp.texi: Update copyright years.
12450
509d65dd 124512011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 12452
509d65dd 12453 PR target/46898
308d39cd
SB
12454 * config/lm32/lm32.md (ashrsi3): Added needed variable.
12455
509d65dd 124562011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 12457
509d65dd 12458 PR target/46898
308d39cd
SB
12459 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
12460 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
12461 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
12462 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 12463 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
12464 (gen_int_relational): Move declarations to start of function.
12465
822ba6d7
EB
124662011-02-25 Eric Botcazou <ebotcazou@adacore.com>
12467
12468 PR tree-optimization/45470
12469 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
12470 can throw internally only.
12471 * tree-vect-stmts.c (vectorizable_call): Likewise.
12472
ef795fc2
AS
124732011-02-24 Anatoly Sokolov <aesok@post.ru>
12474
12475 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
12476 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
12477 * config/stormy16/stormy16-protos.h
12478 (xstormy16_preferred_reload_class): Remove.
12479 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
12480 static. Change 'rclass' argument and return type to reg_class_t.
12481 (TARGET_PREFERRED_RELOAD_CLASS,
12482 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
12483
1c3277ee
RG
124842011-02-24 Richard Guenther <rguenther@suse.de>
12485
12486 * lto-streamer-in.c (input_bb): Do not find referenced vars
12487 in debug statements.
12488
67e18edb
JM
124892011-02-23 Jason Merrill <jason@redhat.com>
12490
12491 * common.opt (fabi-version): Document v5 and v6.
12492
b14fad9d
RG
124932011-02-23 Richard Guenther <rguenther@suse.de>
12494
12495 PR tree-optimization/47849
12496 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
12497
7fcf46f5
JZ
124982011-02-23 Jie Zhang <jie@codesourcery.com>
12499
12500 * opts-common.c (decode_cmdline_option): Print empty string
12501 argument as "" in decoded->orig_option_with_args_text.
12502 * gcc.c (execute): Print empty string argument as ""
12503 in the verbose output.
12504 (do_spec_1): Keep empty string argument.
12505
f85b70fd
NF
125062011-02-23 Nathan Froyd <froydnj@codesourcery.com>
12507
12508 * config.gcc: Declare score-* and crx-* obsolete.
12509
b152a615
JZ
125102011-02-23 Jie Zhang <jie@codesourcery.com>
12511
12512 PR rtl-optimization/47763
12513 * web.c (web_main): Ignore naked clobber when replacing register.
12514
bb6e77bc
AS
125152011-02-22 Anatoly Sokolov <aesok@post.ru>
12516
12517 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
12518 Remove.
12519
68bf6491
SP
125202011-02-22 Sebastian Pop <sebastian.pop@amd.com>
12521
12522 PR doc/47848
12523 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
12524
88ee1fc7
MS
125252011-02-22 Mike Stump <mikestump@comcast.net>
12526
12527 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
12528 assembler.
12529 * configure: Regenerate.
12530
6042d1dd
CLT
125312011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
12532
12533 PR rtl-optimization/46002
12534 * ira-color.c (update_copy_costs): Change class intersection
12535 test to reg_class_contents[] test of 'hard_regno'.
12536
7de97f9e
JM
125372011-02-21 Joseph Myers <joseph@codesourcery.com>
12538
12539 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
12540 than Driver option.
12541 * config/hpux11.opt (mt): Likewise.
12542 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
12543 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
12544 * config/vax/elf.opt (mno-asm-pic): Likewise.
12545 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
12546
d1d46f9f
MS
125472011-02-21 Mike Stump <mikestump@comcast.net>
12548
12549 PR target/47822
12550 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
12551 tree so we can get save the type.
12552 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
12553 for CFString instead of trying to use past the end of the builtins.
12554 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
12555 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
12556 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
12557 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
12558 Rename to darwin_builtin_cfstring.
12559 (darwin_init_cfstring_builtins): Return the built type.
12560
23e0d930
UB
125612011-02-21 Uros Bizjak <ubizjak@gmail.com>
12562
12563 PR target/47840
12564 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
12565 (_mm256_insert_epi64): Use _mm_insert_epi64.
12566
192997cf
AS
125672011-02-21 Anatoly Sokolov <aesok@post.ru>
12568
12569 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12570 * config/stormy16/stormy16-protos.h
12571 (xstormy16_mode_dependent_address_p): Remove.
12572 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
12573 Make static. Change return type to bool. Change argument type to
12574 const_rtx. Remove dead code.
12575 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12576
e292d003
RG
125772011-02-21 Richard Guenther <rguenther@suse.de>
12578
12579 PR lto/47820
12580 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
12581 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12582 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
12583 TUs context.
23e0d930 12584 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
12585 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
12586
77f846e9
RG
125872011-02-20 Richard Guenther <rguenther@suse.de>
12588
12589 PR lto/47822
12590 * tree.c (free_lang_data_in_decl): Clean builtins from
12591 the TU decl BLOCK_VARS.
23e0d930 12592
b2cddfc8
AO
125932011-02-19 Alexandre Oliva <aoliva@redhat.com>
12594
12595 PR debug/47620
12596 PR debug/47630
12597 * haifa-sched.c (fix_tick_ready): Skip tick computation
12598 for debug insns.
12599
becf4c11
RG
126002011-02-19 Richard Guenther <rguenther@suse.de>
12601
12602 PR lto/47647
12603 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
12604 Remove lazy BLOCK_VARS streaming.
12605 (lto_input_ts_block_tree_pointers): Likewise.
12606 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
12607
27f98305
JM
126082011-02-19 Joseph Myers <joseph@codesourcery.com>
12609
12610 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
12611
064bf3f4
JM
126122011-02-19 Joseph Myers <joseph@codesourcery.com>
12613
12614 * config/i386/biarch32.h, config/i386/mach.h,
12615 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
12616
9215ddc3
JJ
126172011-02-19 Jakub Jelinek <jakub@redhat.com>
12618
12619 PR target/47800
12620 * config/i386/i386.md (peephole2 for shift and plus): Use
12621 operands[1] original mode in the first insn.
12622
8b021004
MS
126232011-02-18 Mike Stump <mikestump@comcast.net>
12624
65ded153 12625 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 12626
f84ae14c
JH
126272011-02-18 Jan Hubicka <jh@suse.cz>
12628
12629 PR middle-end/47788
65ded153
EB
12630 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
12631 to zero when the function is not inlinable at all.
f84ae14c 12632
eddabc80
JDA
126332011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12634
12635 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
12636 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
12637 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
12638 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
12639 * config/pa/t-pa64: Likewise.
12640 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
12641
ca3da783
JJ
126422011-02-18 Jakub Jelinek <jakub@redhat.com>
12643
12644 PR driver/47787
12645 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
12646
430aa868
JDA
126472011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12648
12649 PR target/47792
12650 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
12651
4bf7ff7e
AS
126522011-02-18 Anatoly Sokolov <aesok@post.ru>
12653
12654 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
12655 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
12656 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
12657 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
12658 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
12659 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
12660 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
12661 m32r_load_postinc_p, m32r_store_preinc_predec_p,
12662 m32r_legitimate_address_p): New functions.
12663 * config/m32r/constraints.md (constraint "S"): Don't use
12664 STORE_PREINC_PREDEC_P.
12665 (constraint "U"): Don't use LOAD_POSTINC_P.
12666
7efcf910
CLT
126672011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
12668
12669 PR rtl-optimization/46178
12670 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
12671 compute ira_hard_regno_cover_class[].
12672
237d6259
RG
126732011-02-18 Richard Guenther <rguenther@suse.de>
12674
12675 PR lto/47798
12676 * lto-streamer.h (lto_global_var_decls): Declare.
12677 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
12678 statics for global var processing.
12679
12d80acc
RG
126802011-02-18 Richard Guenther <rguenther@suse.de>
12681
12682 PR tree-optimization/47737
12683 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
12684 edge dominance check.
12685
abfea58d
JJ
126862011-02-18 Jakub Jelinek <jakub@redhat.com>
12687
12688 PR debug/47780
12689 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
12690 avoid invalid rtx sharing.
12691
f73c8882
GP
126922011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
12693
12694 * doc/cpp.texi (Obsolete Features): Add background on the
12695 origin of assertions.
12696
d764a8e6
IS
126972011-02-17 Iain Sandoe <iains@gcc.gnu.org>
12698
12699 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 12700 objc_abi == 2.
d764a8e6
IS
12701 * config/darwin.c (output_objc_section_asm_op): Added support for
12702 ABI v1 and v2.
12703 (is_objc_metadata): New.
12704 (darwin_objc2_section): New.
12705 (darwin_objc1_section): New.
12706 (machopic_select_section): Added support for ABI v1 and v2.
12707 (darwin_emit_objc_zeroed): New.
12708 (darwin_output_aligned_bss): Detect objc metadata and treat it
12709 appropriately.
12710 (darwin_asm_output_aligned_decl_common): Same.
12711 (darwin_asm_output_aligned_decl_local): Same.
12712 * config/darwin-sections.def: Updated for ABI v1 and v2.
12713 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
12714 compiling Objective-C code for the NeXT runtime, default to using
12715 ABI version 0 for 32-bit, and version 2 for 64-bit.
12716
0a8134ca
JM
127172011-02-17 Joseph Myers <joseph@codesourcery.com>
12718
12719 * common.opt (optimize_fast): New Variable.
12720 * opts.c (default_options_optimization): Use opts->x_optimize_fast
12721 instead of local variable ofast.
12722
0a256240
NP
127232011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
12724
12725 * doc/invoke.texi (fobjc-abi-version): Documented.
12726 (fobjc-nilcheck): Documented.
12727 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
12728 version.
12729
fa381cb2
JM
127302011-02-17 Joseph Myers <joseph@codesourcery.com>
12731
12732 PR driver/47390
12733 * common.opt (export-dynamic): New Driver option.
12734 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
12735
5437eaa6
JM
127362011-02-17 Joseph Myers <joseph@codesourcery.com>
12737
12738 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
12739
bb7e6d55
AO
127402011-02-17 Alexandre Oliva <aoliva@redhat.com>
12741 Jan Hubicka <jh@suse.cz>
12742
12743 PR debug/47106
12744 PR debug/47402
12745 * cfgexpand.c (account_used_vars_for_block): Remove.
12746 (estimated_stack_frame_size): Use referenced vars.
12747 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
12748 that were referenced in the original function. Test src_fn
12749 rather than cfun. Drop redundant get_var_ann.
12750 (setup_one_parameter): Drop redundant get_var_ann.
12751 (declare_return_variable): Likewise.
12752 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
12753 (copy_arguments_for_versioning): Drop redundant get_var_ann.
12754 * ipa-inline.c (compute_inline_parameters): Do not compute
12755 disregard_inline_limits here.
bb7e6d55
AO
12756 (compute_inlinable_for_current, pass_inlinable): New.
12757 (pass_inline_parameters): Require PROP_referenced_vars.
12758 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 12759 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
12760 (cgraph_analyze_function): Set .disregard_inline_limits.
12761 * tree-sra.c (convert_callers): Compute inliner parameters
12762 only for functions already in SSA form.
12763
f181a8a7
JM
127642011-02-17 Joseph Myers <joseph@codesourcery.com>
12765
12766 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
12767 -mlittle-endian-data.
12768
c6869789
JM
127692011-02-17 Joseph Myers <joseph@codesourcery.com>
12770
12771 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
12772 -mno-fpu, not -fpu and -no-fpu.
12773 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
12774 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
12775
fbf4bfd3
UB
127762011-02-17 Uros Bizjak <ubizjak@gmail.com>
12777
12778 PR target/43653
12779 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
12780 input reload with PLUS RTX.
12781
70be5dc7
JM
127822011-02-16 Joseph Myers <joseph@codesourcery.com>
12783
12784 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
12785 of InverseVar(MDMX).
12786
30b1646e
JM
127872011-02-16 Joseph Myers <joseph@codesourcery.com>
12788
12789 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
12790 --m4-340.
12791
ab7b71e9
JM
127922011-02-16 Joseph Myers <joseph@codesourcery.com>
12793
12794 * config/mn10300/mn10300.opt (mno-crt0): New.
12795
466f3f08
JM
127962011-02-16 Joseph Myers <joseph@codesourcery.com>
12797
12798 * config/m68k/uclinux.opt (static-libc): New Driver option.
12799
8226cd7b
JM
128002011-02-16 Joseph Myers <joseph@codesourcery.com>
12801
12802 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
12803
45cab1d7
JM
128042011-02-16 Joseph Myers <joseph@codesourcery.com>
12805
12806 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
12807 %{muser-extend-enabled}.
12808
65aab64f
RG
128092011-02-16 Richard Guenther <rguenther@suse.de>
12810
12811 PR tree-optimization/47738
12812 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
12813 the TODO from tree_predictive_commoning.
12814
fc2fa4fb
JL
128152011-02-15 Jeff Law <law@redhat.com>
12816
12817 Revert
12818 2011-01-25 Jeff Law <law@redhat.com>
12819
12820 PR rtl-optimization/37273
12821 * ira-costs.c (scan_one_insn): Detect constants living in memory and
12822 handle them like argument loads from stack slots. Do not double
12823 count memory for memory constants and argument loads from stack slots.
12824
4e380b8e
L
128252011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12826
12827 PR middle-end/47725
12828 * combine.c (cant_combine_insn_p): Revert the last change.
12829
e3a69bb4
MM
128302011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
12831
12832 PR target/47755
12833 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
12834 mode for vector constants. Remove code that checks for TImode.
12835
de650422
AO
128362011-02-15 Alexandre Oliva <aoliva@redhat.com>
12837
12838 PR debug/47106
12839 PR debug/47402
12840 * cgraph.h (compute_inline_parameters): Return void.
12841 * ipa-inline.c (compute_inline_parameters): Adjust.
12842
30925d94
AO
128432011-02-15 Alexandre Oliva <aoliva@redhat.com>
12844
12845 PR debug/47106
12846 PR debug/47402
12847 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
12848 rather than decl.
12849 * cfgexpand.c (estimated_stack_frame_size): Likewise.
12850 * ipa-inline.c (compute_inline_parameters): Adjust.
12851
1b9a784a
AO
128522011-02-15 Alexandre Oliva <aoliva@redhat.com>
12853
12854 PR debug/47106
12855 PR debug/47402
12856 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
12857 Adjust all users. Pass FN to...
12858 * tree-flow-inline.h (first_referenced_var): ... this. Add
12859 fn argument.
12860 * ipa-struct-reorg.c: Adjust.
12861 * tree-dfa.c: Adjust.
12862 * tree-into-ssa.c: Adjust.
12863 * tree-sra.c: Adjust.
12864 * tree-ssa-alias.c: Adjust.
12865 * tree-ssa-live.c: Adjust.
12866 * tree-ssa.c: Adjust.
12867 * tree-ssanames.c: Adjust.
12868 * tree-tailcall.c: Adjust.
12869
27c6b086
AO
128702011-02-15 Alexandre Oliva <aoliva@redhat.com>
12871
12872 PR debug/47106
12873 PR debug/47402
12874 * tree-flow.h (referenced_var_lookup): Add fn parameter.
12875 Adjust all callers.
12876 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
12877 * tree-flow-inline.h: Adjust.
12878 * gimple-pretty-print.c: Adjust.
12879 * tree-into-ssa.c: Adjust.
12880 * tree-ssa.c: Adjust.
12881 * cfgexpand.c: Adjust.
12882
679e8183
NF
128832011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12884
fbf4bfd3
UB
12885 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
12886 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12887 (EXTRA_CONSTRAINT): Delete.
12888 * config/iq2000/constraints.md: New file.
12889 * config/iq2000/iq2000.md: Include it.
679e8183
NF
12890 (define_insn ""): Delete.
12891 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
12892 unsupported constraint letters from patterns.
12893 (call_value, call_value_internal1): Likewise.
12894 (call_value_multiple_internal1): Likewise.
12895
a45d420a
NC
128962011-02-15 Nick Clifton <nickc@redhat.com>
12897
12898 * config/mn10300/mn10300.c: Include tm-constrs.h.
12899 (struct liw_data): New data structure describing an LIW candidate
12900 instruction.
12901 (extract_bundle): Use struct liw_data. Allow small integer
12902 operands for some instructions.
12903 (check_liw_constraints): Use struct liw_data. Remove swapped
12904 parameter. Add comments describing the checks. Fix bug when
12905 assigning the source of liw1 to the source of liw2.
12906 (liw_candidate): Delete. Code moved into extract_bundle.
12907 (mn10300_bundle_liw): Use struct liw_data. Check constraints
12908 before swapping.
12909 * config/mn10300/predicates.md (liw_operand): New predicate.
12910 Allows registers and small integer constants.
12911 * config/mn10300/constraints.md (O): New constraint. Accetps
12912 integers in the range -8 to +7 inclusive.
12913 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
12914 for moving a small integer into a register. Give this alternative
12915 LIW attributes.
12916 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
12917 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
12918 using the J,K,L and M constraints,
12919 (liw): Remove SI mode on second operands to allow for HI and QI
12920 mode values.
12921 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
12922 instruction.
12923
8a73faf1
L
129242011-02-15 H.J. Lu <hongjiu.lu@intel.com>
12925
12926 PR middle-end/47725
12927 * combine.c (cant_combine_insn_p): Check zero/sign extended
12928 hard registers.
12929
48feba28
RG
129302011-02-15 Richard Guenther <rguenther@suse.de>
12931
12932 PR tree-optimization/47743
12933 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
12934 for a non-type-compatible VN lookup bail out.
12935
ad1c1eeb
NF
129362011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12937
12938 * config/fr30/constraints.md: New file.
12939 * config/fr30/fr30.md: Include it.
12940 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
12941 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12942 (EXTRA_CONSTRAINT): Delete.
12943
49ac143d
NF
129442011-02-15 Nathan Froyd <froydnj@codesourcery.com>
12945
12946 * config/frv/constraints.md: New file.
12947 * config/frv/predicates.md: Include it.
12948 * config/frv/frv.c (reg_class_from_letter): Delete.
12949 (frv_option_override): Don't initialize it.
12950 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
12951 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
12952 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
12953 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
12954 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
12955 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12956 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
12957 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
12958 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
12959 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
12960 (REG_CLASS_FROM_CONSTRAINT): Delete.
12961
c95f9494
JJ
129622011-02-15 Jakub Jelinek <jakub@redhat.com>
12963
12964 PR middle-end/47581
12965 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
12966 if frame size is 0 in a leaf function.
12967
13aed611
RO
129682011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12969
12970 PR pch/14940
12971 * config/alpha/host-osf.c: New file.
12972 * config/alpha/x-osf: New file.
12973 * config.host (alpha*-dec-osf*): Use it.
12974
b09c3081
AS
129752011-02-14 Anatoly Sokolov <aesok@post.ru>
12976
12977 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12978 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
12979 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
12980 (rx_mode_dependent_address_p): ...this. Make static. Change argument
12981 type to const_rtx.
12982 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12983
d634083b
NF
129842011-02-14 Nathan Froyd <froydnj@codesourcery.com>
12985
12986 * config/stormy16/constraints.md: New file.
12987 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
12988 Use satisfies_constraint_Q and satisfies_constraint_R.
12989 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
12990 Delete.
12991 (xstormy16_legitiamte_address_p): Declare.
12992 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
12993 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
12994 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 12995 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
12996 Un-staticize.
12997 (xstormy16_extra_constraint_p): Delete.
12998
c7dd803e
EB
129992011-02-14 Eric Botcazou <ebotcazou@adacore.com>
13000
13001 PR tree-optimization/46494
13002 * loop-unroll.c (split_edge_and_insert): Adjust comment.
13003 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
13004 (pass_rtl_loop_done): Add TODO_verify_flow.
13005 * fwprop.c (pass_rtl_fwprop): Likewise.
13006 * modulo-sched.c (pass_sms): Likewise.
13007 * tree-ssa-dom.c (pass_dominator): Likewise.
13008 * tree-ssa-loop-ch.c (pass_ch): Likewise.
13009 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
13010 (pass_tree_loop_done): Likewise.
13011 * tree-ssa-pre.c (execute_pre): Likewise.
13012 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
13013 * tree-ssa-sink.c (pass_sink_code): Likewise.
13014 * tree-vrp.c (pass_vrp): Likewise.
13015
c6150df6
NF
130162011-02-14 Nathan Froyd <froydnj@codesourcery.com>
13017
c7dd803e
EB
13018 * config/v850/constraints.md: New file.
13019 * config/v850/v850.md: Include it.
13020 * config/v850/predicates.md (reg_or_0_operand): Use
13021 satisfies_constraint_G.
13022 (special_symbolref_operand): Use satisfies_constraint_K.
13023 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
13024 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
13025 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
13026 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
13027 (EXTRA_CONSTRAINT): Delete.
13028 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
13029 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
13030 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 13031
30dd1ea3
AS
130322011-02-14 Anatoly Sokolov <aesok@post.ru>
13033
13034 PR target/47696
13035 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
13036 description.
13037
944f4bb3
NF
130382011-02-14 Nathan Froyd <froydnj@codesourcery.com>
13039
13040 * config/mcore/constraints.md: New file.
13041 * config/mcore/mcore.md: Include it.
13042 * config/mcore/mcore.c (reg_class_from_letter): Delete.
13043 * config/mcore/mcore.h (reg_class_from_letter): Delete.
13044 (REG_CLASS_FROM_LETTER): Delete.
13045 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
13046 insn_const_int_ok_for_constraint.
13047 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
13048 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
13049 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
13050 (EXTRA_CONSTRAINT): Delete.
13051
ad56a54c
RO
130522011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13053
13054 PR ada/41929
13055 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
13056 (IS_SIGHANDLER): Define.
13057 (sparc64_is_sighandler): New function, split off from
13058 sparc64_fallback_frame_state.
13059 (sparc_is_sighandler): New function, split off from
13060 sparc_fallback_frame_state.
13061 (sparc64_fallback_frame_state): Merge with ...
13062 (sparc_fallback_frame_state): ... this into ...
13063 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
13064 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
13065 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
13066 stack instead of hardcoded offsets.
ad56a54c 13067
fbf4bfd3 130682011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
13069
13070 PR target/45808
13071 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
13072
029c8f3e
RW
130732011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13074
13075 * configure: Regenerate.
13076
a016dc83
JM
130772011-02-12 Joseph Myers <joseph@codesourcery.com>
13078
13079 PR driver/45731
13080 * gcc.c (asm_options): Correct spec matching --target-help.
13081
8957a0ec
MJ
130822011-02-12 Martin Jambor <mjambor@suse.cz>
13083
13084 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
13085 to gimple call error.
13086
6ef828bc
MS
130872011-02-12 Mike Stump <mikestump@comcast.net>
13088
13089 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
13090 comments in backslash regions.
13091
a4015be5
MS
130922011-02-12 Mike Stump <mikestump@comcast.net>
13093 Jakub Jelinek <jakub@redhat.com>
13094 Iain Sandoe <iains@gcc.gnu.org>
13095
13096 PR target/47324
13097 * dwarf2out.c (output_cfa_loc): When required, apply the
13098 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
13099 (output_loc_sequence): Likewise.
13100 (output_loc_operands_raw): Likewise.
13101 (output_loc_sequence_raw): Likewise.
13102 (output_cfa_loc): Likewise.
13103 (output_loc_list): Suppress register number adjustment when
13104 calling output_loc_sequence()
13105 (output_die): Likewise.
13106
5378dda2
AS
131072011-02-12 Anatoly Sokolov <aesok@post.ru>
13108
13109 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
13110 Remove macros.
13111 * config/xtensa/xtensa.c (xtensa_register_move_cost,
13112 xtensa_memory_move_cost): New functions.
13113 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
13114
f3d533d3
AO
131152011-02-12 Alexandre Oliva <aoliva@redhat.com>
13116
13117 PR lto/47225
13118 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
13119 in the current directory.
13120 * configure: Rebuilt.
13121
9d53403c
IS
131222011-02-12 Iain Sandoe <iains@gcc.gnu.org>
13123
13124 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 13125 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
13126 correct indents of the preceding block.
13127
a350a6c8
IS
131282011-02-12 Iain Sandoe <iains@gcc.gnu.org>
13129
13130 * gcc.c (driver_handle_option): Concatenate the argument to -F with
13131 the switch.
13132
bab79a40
JM
131332011-02-11 Joseph Myers <joseph@codesourcery.com>
13134
13135 * common.opt (nostartfiles): New Driver option.
13136
1bbc6693
XDL
131372011-02-11 Xinliang David Li <davidxl@google.com>
13138
13139 PR tree-optimization/47707
13140 * tree-chrec.c (convert_affine_scev): Keep type precision.
13141
1da7d8c0
EB
131422011-02-11 Eric Botcazou <ebotcazou@adacore.com>
13143
13144 PR tree-optimization/47420
13145 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
13146
131472011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
13148
13149 PR rtl-optimization/47614
13150 * rtl.h (check_for_inc_dec): Declare.
13151 * dse.c (check_for_inc_dec): Externalize...
13152 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
13153 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
13154
4df47bca
JM
131552011-02-11 Joseph Myers <joseph@codesourcery.com>
13156
13157 PR driver/47678
13158 * gcc.c (main): Do not compile inputs if there were errors in
13159 option handling.
13160 * opts-common.c (read_cmdline_option): Check for wrong language
13161 after other error checks.
13162
61502ca8
NF
131632011-02-11 Nathan Froyd <froydnj@codesourcery.com>
13164
13165 * cgraph.c: Fix comment typos.
13166 * cgraph.h: Likewise.
13167 * cgraphunit.c: Likewise.
13168 * ipa-cp.c: Likewise.
13169 * ipa-inline.c: Likewise.
13170 * ipa-prop.c: Likewise.
13171 * ipa-pure-const.c: Likewise.
13172 * ipa-ref.c: Likewise.
13173 * ipa-reference.c: Likewise.
13174
b63f974e
JJ
131752011-02-11 Jakub Jelinek <jakub@redhat.com>
13176
d50c5e0c
JJ
13177 PR debug/47684
13178 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 13179
6dd2a13c
RO
131802011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13181
13182 PR testsuite/47400
13183 * doc/sourcebuild.texi (Require Support): Document
13184 dg-require-ascii-locale.
13185
4a087ccf
MX
131862011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
13187
13188 * doc/lto.texi (Write summary): Fix missing parentheses.
13189
a4403164
DD
131902011-02-10 DJ Delorie <dj@redhat.com>
13191
13192 * config/m32c/m32c.c (m32c_option_override): Disable
13193 -fcombine-stack-adjustments until flag value tracking and compare
13194 optimization can be rewritten.
13195
4fac45bd
PB
131962011-02-10 Peter Bergner <bergner@vnet.ibm.com>
13197
13198 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
13199 PROCESSOR_POWER7.
13200 (PROCESSOR_DEFAULT64): Likewise.
13201
72602cd1
RH
132022011-02-10 Richard Henderson <rth@redhat.com>
13203
13204 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
13205 change from 2011-02-03.
13206 * config/rx/rx.c (flags_from_code): Likewise.
13207 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
13208 is valid, n/pz otherwise.
13209 (rx_select_cc_mode): Return CCmode if Y is not zero.
13210
ea57f573
RG
132112011-02-10 Richard Guenther <rguenther@suse.de>
13212
ea4c3e65 13213 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 13214
92b1d23b
RG
132152011-02-10 Richard Guenther <rguenther@suse.de>
13216
13217 PR tree-optimization/47677
13218 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
13219
525a2d06
JJ
132202011-02-10 Jakub Jelinek <jakub@redhat.com>
13221
13222 PR target/47665
13223 * combine.c (make_compound_operation): Only change shifts into
13224 multiplication for SCALAR_INT_MODE_P.
13225
06c969bd
JZ
132262011-02-10 Jie Zhang <jie@codesourcery.com>
13227
13228 PR testsuite/47622
13229 Revert
13230 2011-02-05 Jie Zhang <jie@codesourcery.com>
13231 PR debug/42631
13232 * web.c (entry_register): Don't clobber the number of the
13233 first uninitialized reference in used[].
13234
282ec48e
RG
132352011-02-09 Richard Guenther <rguenther@suse.de>
13236
13237 PR tree-optimization/47664
13238 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
13239 all edges again.
13240
df98c3e8
DE
132412011-02-09 David Edelsohn <dje.gcc@gmail.com>
13242
d0f21cd6
DE
13243 PR target/46481
13244 PR target/47032
df98c3e8
DE
13245 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
13246 PROCESSOR_POWER7.
13247 (PROCESSOR_DEFAULT64): Same.
13248 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
13249
67b6839f
RO
132502011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13251
13252 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
13253
4fd73214
MJ
132542011-02-09 Martin Jambor <mjambor@suse.cz>
13255
13256 PR middle-end/45505
13257 * tree-sra.c (struct access): New flags grp_scalar_read and
13258 grp_scalar_write. Changed description of assignment read and write
13259 flags.
13260 (dump_access): Dump new flags, reorder all of them.
13261 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
13262 to detect multiple scalar reads.
13263 (analyze_access_subtree): Use the new scalar read write flags instead
13264 of the old flags. Adjusted comments.
13265
91140cd3
DD
132662011-02-08 DJ Delorie <dj@redhat.com>
13267
13268 PR target/47548
13269 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
13270 patterns.
13271
4254bbfe
JM
132722011-02-08 Joseph Myers <joseph@codesourcery.com>
13273
13274 * config/m68k/uclinux.opt: New.
13275 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
13276
f1fda84e
JM
132772011-02-08 Joseph Myers <joseph@codesourcery.com>
13278
13279 * config/cris/elf.opt (sim): New Driver option.
13280
4933ae74
JM
132812011-02-08 Joseph Myers <joseph@codesourcery.com>
13282
13283 * config/xtensa/elf.opt: New.
13284 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
13285
4ad70280
JM
132862011-02-08 Joseph Myers <joseph@codesourcery.com>
13287
13288 * config/vax/elf.opt: New.
13289 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
13290
20893707
JM
132912011-02-08 Joseph Myers <joseph@codesourcery.com>
13292
13293 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
13294
b8e7038e
JM
132952011-02-08 Joseph Myers <joseph@codesourcery.com>
13296
13297 * config/gnu-user.opt: New.
13298 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
13299 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
13300 *-*-uclinux*): Use gnu-user.opt.
13301
e1c5225a
TS
133022011-02-08 Thomas Schwinge <thomas@schwinge.name>
13303
13304 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
13305 * config/i386/gnu.h (CPP_SPEC): Likewise.
13306
5e46b0c6
ILT
133072011-02-08 Ian Lance Taylor <iant@google.com>
13308
13309 * common.opt (fcx-limited-range): Add SetByCombined flag.
13310 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
13311 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
13312 (fassociative-math, freciprocal-math): Likewise.
13313 (funsafe-math-optimizations): Likewise.
13314 * opth-gen.awk: Handle SetByCombined.
13315 * optc-gen.awk: Likewise.
ea4c3e65 13316 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
13317 (set_unsafe_math_optimizations_flags): Likewise.
13318 * doc/options.texi (Option properties): Document SetByCombined.
13319
32243d46
JM
133202011-02-08 Joseph Myers <joseph@codesourcery.com>
13321
13322 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
13323 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
13324 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
13325 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
13326 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
13327
479c1fb3
SP
133282011-02-08 Sebastian Pop <sebastian.pop@amd.com>
13329
13330 PR tree-optimization/46834
13331 PR tree-optimization/46994
13332 PR tree-optimization/46995
13333 * graphite-sese-to-poly.c (used_outside_reduction): New.
13334 (detect_commutative_reduction): Call used_outside_reduction.
13335 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
13336 translate_scalar_reduction_to_array only when at least one
13337 loop-phi/close-phi tuple has been detected.
13338
3865a06f
RG
133392011-02-08 Richard Guenther <rguenther@suse.de>
13340
13341 PR middle-end/47639
13342 * tree-vect-generic.c (expand_vector_operations_1): Update
13343 stmts here ...
13344 (expand_vector_operations): ... not here. Cleanup EH info
13345 and the CFG if required.
13346
62902f3f
RG
133472011-02-08 Richard Guenther <rguenther@suse.de>
13348
13349 PR tree-optimization/47641
13350 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
13351 require type compatibility.
13352
0efb9d64
AK
133532011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13354
13355 * gimple-low.c (lower_function_body): Don't remove the location of
13356 the return statement here.
13357 (lower_gimple_return): Do it here instead but only if the return
13358 statement is actually used twice.
13359
034b8ae4
RG
133602011-02-08 Richard Guenther <rguenther@suse.de>
13361
13362 PR tree-optimization/47632
13363 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
13364 unused up_to_stmt parameter, return whether cfg-cleanup is
13365 necessary, remove EH info properly.
13366 (forward_propagate_into_gimple_cond): Adjust caller.
13367 (forward_propagate_into_cond): Likewise.
13368 (forward_propagate_comparison): Likewise.
13369 (tree_ssa_forward_propagate_single_use_vars): Make
13370 forward_propagate_comparison case similar to the two others.
13371
298362c8
NC
133722011-02-08 Nick Clifton <nickc@redhat.com>
13373
13374 * config/mn10300/mn10300.opt (mliw): New command line option.
13375 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
13376 (liw_bundling): New automaton.
13377 (liw): New attribute.
13378 (liw_op): New attribute.
13379 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
13380 (movsi_internal): Add LIW attributes.
13381 (andsi3): Likewise.
13382 (iorsi3): Likewise.
13383 (xorsi3): Likewise.
13384 (addsi3): Separate register and immediate alternatives.
13385 Add LIW attributes.
13386 (subsi3): Likewise.
13387 (cmpsi): Likewise.
13388 (aslsi3): Likewise.
13389 (lshrsi3): Likewise.
13390 (ashrsi3): Likewise.
13391 (liw): New pattern.
13392 * config/mn10300/mn10300.c (liw_op_names): New
13393 (mn10300_print_operand): Handle 'W' operand descriptor.
13394 (extract_bundle): New function.
13395 (check_liw_constraints): New function.
13396 (liw_candidate): New function.
13397 (mn10300_bundle_liw): New function.
13398 (mn10300_reorg): New function.
13399 (TARGET_MACHINE_DEPENDENT_REORG): Define.
13400 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
13401 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
13402 __LIW__ or __NO_LIW__.
13403 * doc/invoke.texi: Describe the -mliw command line option.
13404
90488014
JDA
134052011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13406
13407 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
13408 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
13409 pthread_mutex_unlock): Remove.
13410 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
13411 * config/pa/t-pa64: Likewise.
13412 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
13413 shared libc if not linking against libpthread.
13414 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
13415
689ff841
IS
134162011-02-07 Iain Sandoe <iains@gcc.gnu.org>
13417
13418 PR target/47558
13419 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
13420 on 10.6 and later to ensure that we always use the unwinder from
13421 the system. Only add -no_compact_unwind when tarteting darwin
13422 10.6 or later.
13423
821014aa
SE
134242011-02-07 Steve Ellcey <sje@cup.hp.com>
13425
13426 PR target/46997
13427 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
13428 (vec_interleave_lowv2sf): Ditto.
13429 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
13430 (vec_extract_oddv2sf): Ditto.
13431
41cf94fb
MS
134322011-02-07 Mike Stump <mikestump@comcast.net>
13433
62dea57d 13434 PR target/42333
41cf94fb
MS
13435 Add __ieee_divdc3 entry point.
13436 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
13437 entry point.
13438 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
13439 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
13440 * config/darwin.c (darwin_rename_builtins): Add.
13441 * config/darwin-protos.h (darwin_rename_builtins): Add.
13442
ee09a3dd
MM
134432011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
13444
13445 PR target/47636
13446 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
13447 for the condition.
13448
83296cd0
MS
134492011-02-07 Mike Stump <mikestump@comcast.net>
13450
ea4c3e65 13451 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 13452
0f4e946f
DC
134532011-02-07 Denis Chertykov <chertykov@gmail.com>
13454
13455 PR target/47534
13456 * config/avr/libgcc.S (exit): Move .endfunc
13457
1ec87690
RG
134582011-02-07 Richard Guenther <rguenther@suse.de>
13459
13460 PR tree-optimization/47615
13461 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
13462 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
13463 (run_scc_vn): Initialize it.
13464 (visit_reference_op_load): Use it.
13465 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
13466
b46ae6da
UW
134672011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13468
13469 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
13470 DImode trapping arithmetic libfuncs.
13471
c0aae19c
RG
134722011-02-07 Richard Guenther <rguenther@suse.de>
13473
13474 PR tree-optimization/47621
13475 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
13476 two duplicates ...
13477 (execute_update_addresses_taken): ... here. Make it more
13478 conservative in what we accept.
13479
295d926b
JM
134802011-02-06 Joseph Myers <joseph@codesourcery.com>
13481
13482 * config/sparc/freebsd.h (ASM_SPEC): Define.
13483 * config/sparc/vxworks.h (ASM_SPEC): Define.
13484
bdeb2471
JM
134852011-02-06 Joseph Myers <joseph@codesourcery.com>
13486
13487 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
13488
d5d3781a
SB
134892011-02-06 Steven Bosscher <steven@gcc.gnu.org>
13490
13491 * doc/invoke.texi: Remove reference to compiler internals from
13492 user documentation.
13493
13494 * reg-notes.def: Remove REG_VALUE_PROFILE.
13495 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
13496
c42c09fc
JJ
134972011-02-05 Jakub Jelinek <jakub@redhat.com>
13498
13499 PR middle-end/47610
13500 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 13501 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 13502
beea2755
JZ
135032011-02-05 Jie Zhang <jie@codesourcery.com>
13504
13505 PR debug/42631
13506 * web.c (entry_register): Don't clobber the number of the
13507 first uninitialized reference in used[].
13508
a130584a
SP
135092011-02-04 Sebastian Pop <sebastian.pop@amd.com>
13510
13511 PR tree-optimization/46194
13512 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
13513 (build_classic_dist_vector_1): Do not represent classic distance
13514 vectors when the access functions are variating in different loops.
13515
962101ac
JM
135162011-02-04 Joseph Myers <joseph@codesourcery.com>
13517
13518 * config/mips/iris6.opt: New.
13519 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
13520
55eaaa5b
RH
135212011-02-04 Richard Henderson <rth@redhat.com>
13522 Steve Ellcey <sje@cup.hp.com>
13523
13524 PR target/46997
13525 * config/ia64/predicates.md (mux1_brcst_element): New.
13526 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
13527 * config/ia64/ia64.c (ia64_unpack_assemble): New.
13528 (ia64_unpack_sign): New.
13529 (ia64_expand_unpack): Rewrite using new routines.
13530 (ia64_expand_widen_sum): Ditto.
13531 (ia64_expand_dot_prod_v8qi): Ditto.
13532 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
13533 routines, add endian check.
13534 (pmpy2_even): Rename from pmpy2_r, add endian check.
13535 (pmpy2_odd): Rename from pmpy2_l, add endian check.
13536 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
13537 (vec_widen_smult_hi_v4hi): Ditto.
13538 (vec_widen_umult_lo_v4hi): Ditto.
13539 (vec_widen_umult_hi_v4hi): Ditto.
13540 (mulv2si3): Change endian checks.
13541 (sdot_prodv4hi): Rewrite with new calls.
13542 (udot_prodv4hi): New.
13543 (vec_pack_ssat_v4hi): Add endian check.
13544 (vec_pack_usat_v4hi): Ditto.
13545 (vec_pack_ssat_v2si): Ditto.
13546 (max1_even): Rename from max1_r, add endian check.
13547 (max1_odd): Rename from max1_l, add endian check.
13548 (*mux1_rev): Format change.
13549 (*mux1_mix): Ditto.
13550 (*mux1_shuf): Ditto.
13551 (*mux1_alt): Ditto.
13552 (*mux1_brcst_v8qi): Use new predicate.
13553 (vec_extract_evenv8qi): Remove endian check.
13554 (vec_extract_oddv8qi): Ditto.
13555 (vec_interleave_lowv4hi): Format change.
13556 (vec_interleave_highv4hi): Ditto.
13557 (mix2_even): Rename from mix2_r, add endian check.
13558 (mix2_odd): Rename from mux2_l, add endian check.
13559 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
13560 (vec_extract_evenodd_helper): Format change.
13561 (vec_extract_evenv4hi): Remove endian check.
13562 (vec_extract_oddv4hi): Remove endian check.
13563 (vec_interleave_lowv2si): Format change.
13564 (vec_interleave_highv2si): Format change.
13565 (vec_initv2si): Remove endian check.
13566 (vecinit_v2si): Add endian check.
13567 (reduc_splus_v2sf): Add endian check.
13568 (reduc_smax_v2sf): Ditto.
13569 (reduc_smin_v2sf): Ditto.
13570 (vec_initv2sf): Remove endian check.
13571 (fpack): Add endian check.
13572 (fswap): Add endian check.
13573 (vec_interleave_highv2sf): Add endian check.
13574 (vec_interleave_lowv2sf): Add endian check.
13575 (fmix_lr): Add endian check.
13576 (vec_setv2sf): Format change.
13577 (*vec_extractv2sf_0_be): Use shift to extract operand.
13578 (*vec_extractv2sf_1_be): New.
13579 (vec_pack_trunc_v4hi): Add endian check.
13580 (vec_pack_trunc_v2si): Format change.
13581
dcde5957
JJ
135822011-02-04 Jakub Jelinek <jakub@redhat.com>
13583
13584 PR inline-asm/23200
13585 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 13586 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
13587 (stmt_is_replaceable_p): New function.
13588 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
13589 callers.
13590 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
13591 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
13592 SSA_NAME_DEF_STMT.
13593 * tree-flow.h (stmt_is_replaceable_p): New prototype.
13594
a64a8e5a
JM
135952011-02-04 Joseph Myers <joseph@codesourcery.com>
13596
13597 * config/rs6000/xilinx.opt: New.
13598 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
13599
4da2ed2f
JM
136002011-02-04 Joseph Myers <joseph@codesourcery.com>
13601
13602 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
13603
a6e508f9
AS
136042011-02-03 Anatoly Sokolov <aesok@post.ru>
13605
13606 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
13607 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
13608 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
13609 secondary_reload_info, xtensa_secondary_reload): Remove.
13610 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
13611 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
13612 (xtensa_preferred_reload_class): Make static. Change return and
13613 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
13614 Use CONST_DOUBLE_P predicate.
13615 (xtensa_preferred_output_reload_class): New function.
13616 (xtensa_secondary_reload): Make static.
13617
82dc0de3
JM
136182011-02-03 Joseph Myers <joseph@codesourcery.com>
13619
13620 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
13621 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
13622 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
13623
7fece979
JJ
136242011-02-03 Jakub Jelinek <jakub@redhat.com>
13625
13626 PR middle-end/31490
13627 * output.h (SECTION_RELRO): Define.
13628 (SECTION_MACH_DEP): Adjust.
13629 (get_variable_section): New prototype.
13630 * varpool.c (varpool_finalize_named_section_flags): New function.
13631 (varpool_assemble_pending_decls): Call it.
13632 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
13633 * cgraphunit.c (cgraph_output_in_order): Call
13634 varpool_finalize_named_section_flags.
13635 * varasm.c (get_section): Allow section flags conflicts between
13636 relro and read-only sections if the section hasn't been declared yet.
13637 Set SECTION_OVERRIDE after diagnosing section type conflict.
13638 (get_variable_section): No longer static.
13639 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
13640 readonly sections that need relocations.
13641 (decl_readonly_section_1): New function.
13642 (decl_readonly_section): Use it.
13643
13644 Revert:
509d65dd 13645 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
13646 Steve Ellcey <sje@cup.hp.com>
13647
13648 PR middle-end/31490
13649 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
13650 if section attribute used.
13651
d18d5478
JJ
136522011-02-03 Jakub Jelinek <jakub@redhat.com>
13653
13654 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
13655 * config/darwin.c (SECTION_NO_ANCHOR): Define.
13656 (darwin_init_sections): Remove assertion.
13657
6479ed4b
NC
136582011-02-03 Nick Clifton <nickc@redhat.com>
13659
13660 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
13661 lt and ge.
38be4072 13662 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
13663 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
13664 instead of "n" and "pz".
13665 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
13666 CC_FLAG_S.
13667
89843f5d
JJ
136682011-02-03 Jakub Jelinek <jakub@redhat.com>
13669
65450d64
JJ
13670 PR target/47312
13671 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
13672 fma, expand FMA_EXPR as fma{,f,l} call.
13673
7d58701c
JJ
13674 PR lto/47274
13675 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
13676 copy them into a unsigned char variable and pass address of it to
13677 lto_output_data_stream.
13678
89843f5d
JJ
13679 PR target/47564
13680 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
13681 around backend_init_target and lang_dependent_init_target calls.
13682 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
13683 (verify_cgraph_node): Don't call set_cfun here. Use
13684 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
13685 Set error_found for incorrectly represented calls to thunks.
13686
4deef538
AO
136872011-02-03 Alexandre Oliva <aoliva@redhat.com>
13688
13689 PR debug/43092
13690 PR rtl-optimization/43494
13691 * rtl.h (for_each_inc_dec_fn): New type.
13692 (for_each_inc_dec): Declare.
13693 * rtlanal.c (struct for_each_inc_dec_ops): New type.
13694 (for_each_inc_dec_find_inc_dec): New fn.
13695 (for_each_inc_dec_find_mem): New fn.
13696 (for_each_inc_dec): New fn.
13697 * dse.c (struct insn_size): Remove.
13698 (replace_inc_dec, replace_inc_dec_mem): Remove.
13699 (emit_inc_dec_insn_before): New fn.
13700 (check_for_inc_dec): Use it, along with for_each_inc_dec.
13701 (canon_address): Pass mem modes to cselib_lookup.
13702 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
13703 (cselib_lookup_from_insn): Likewise.
13704 (cselib_subst_to_values): Likewise.
13705 * cselib.c (find_slot_memmode): New var.
13706 (cselib_find_slot): New fn. Use it instead of
13707 htab_find_slot_with_hash everywhere.
13708 (entry_and_rtx_equal_p): Use find_slot_memmode.
13709 (autoinc_split): New fn.
13710 (rtx_equal_for_cselib_p): Rename and implement in terms of...
13711 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
13712 Deal with autoinc. Special-case recursion into MEMs.
13713 (cselib_hash_rtx): Likewise.
13714 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
13715 address and MEM modes.
13716 (cselib_subst_to_values): Add memmode, pass it on.
13717 Deal with autoinc.
13718 (cselib_lookup): Add memmode argument, pass it on.
13719 (cselib_lookup_from_insn): Add memmode.
13720 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
13721 (struct cselib_record_autoinc_data): New.
13722 (cselib_record_autoinc_cb): New fn.
13723 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
13724 mode to cselib_lookup. Reset autoinced REGs here instead of...
13725 (cselib_process_insn): ... here.
13726 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
13727 to cselib_lookup.
13728 (add_uses): Likewise, also to cselib_subst_to_values.
13729 (add_stores): Likewise.
13730 * sched-deps.c (add_insn_mem_dependence): Pass mode to
13731 cselib_subst_to_values.
13732 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
13733 * gcse.c (do_local_cprop): Adjusted.
13734 * postreload.c (reload_cse_simplify_set): Adjusted.
13735 (reload_cse_simplify_operands): Adjusted.
13736 * sel-sched-dump (debug_mem_addr_value): Pass mode.
13737
1551d44a
AO
137382011-02-03 Alexandre Oliva <aoliva@redhat.com>
13739
13740 PR tree-optimization/45122
13741 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
13742 unsafe assumptions when there's more than one loop exit.
13743
c9485473
MM
137442011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
13745
13746 PR target/47272
13747 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
13748 Document using vector double with the load/store builtins, and
13749 that the load/store builtins always use Altivec instructions.
13750
13751 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
13752 to use altivec memory instructions, even on VSX.
13753 (vector_altivec_store_<mode>): Ditto.
13754
13755 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
13756 function.
13757
13758 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
13759 V2DF, V2DI support to load/store overloaded builtins.
13760
13761 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
13762 altivec load/store builtins for V2DF/V2DI types.
13763
13764 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
13765 set avoid indexed addresses on power6 if -maltivec.
13766 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
13767 vector_altivec_load/vector_altivec_store builtins.
13768 (altivec_expand_st_builtin): Ditto.
13769 (altivec_expand_builtin): Add VSX memory builtins.
13770 (rs6000_init_builtins): Add V2DI types to internal types.
13771 (altivec_init_builtins): Add support for V2DF/V2DI altivec
13772 load/store builtins.
13773 (rs6000_address_for_altivec): Insure memory address is appropriate
13774 for Altivec.
13775
13776 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
13777 vec_vsx_ld and vec_vsx_st.
13778 (vsx_store_<mode>): Ditto.
13779
13780 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
13781 variables to hold long long types for VSX vector memory builtins.
13782 (RS6000_BTI_unsigned_long_long): Ditto.
13783 (long_long_integer_type_internal_node): Ditti.
13784 (long_long_unsigned_type_internal_node): Ditti.
13785
13786 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
13787 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
13788 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
13789
13790 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
13791 short cuts.
13792 (vec_vsx_st): Ditto.
13793
b24d1acf
JM
137942011-02-02 Joseph Myers <joseph@codesourcery.com>
13795
13796 * config/pa/pa-hpux10.opt: New.
13797 * config/hpux11.opt (pthread): New Driver option.
13798 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
13799 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
13800
aa18dd0f
JM
138012011-02-02 Joseph Myers <joseph@codesourcery.com>
13802
13803 * config/ia64/vms.opt: New.
13804 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
13805
28fc3eee
MM
138062011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
13807
13808 PR target/47580
13809 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
13810 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
13811 generator functions.
13812 (vsx_floatuns<VSi><mode>2): Ditto.
13813 (vsx_fix_trunc<mode><VSi>2): Ditto.
13814 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
13815
b5838b1f
JM
138162011-02-02 Joseph Myers <joseph@codesourcery.com>
13817
13818 * config/i386/djgpp.opt (posix): New Driver option.
13819
0db8fa89
GP
138202011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
13821
13822 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
13823 Move to the unsupported targets list.
13824
9cd4f22a
PB
138252011-02-02 Peter Bergner <bergner@vnet.ibm.com>
13826
13827 PR rtl-optimization/47525
13828 * df-scan.c: Update copyright years.
13829 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
13830 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
13831
9ed8059c
RO
138322011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13833
13834 * config/i386/sysv4.h (TARGET_VERSION): Remove.
13835 (SUBTARGET_RETURN_IN_MEMORY): Remove.
13836 (ASM_OUTPUT_ASCII): Remove.
13837 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
13838
2a737389
JL
138392011-02-02 Jeff Law <law@redhat.com>
13840
13841 PR middle-end/47543
13842 * reload.c (find_reloads_address): Handle reg+d address where both
13843 components are invalid by reloading the entire address.
13844
9dac82c4
SP
138452011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13846 Richard Guenther <rguenther@suse.de>
13847
13848 PR tree-optimization/40979
13849 PR bootstrap/47044
13850 * passes.c (init_optimization_passes): After LIM call copy_prop
13851 and DCE to clean up.
13852 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
13853
14dd9aab
SP
138542011-02-02 Sebastian Pop <sebastian.pop@amd.com>
13855
13856 PR tree-optimization/47576
13857 PR tree-optimization/47555
13858 * doc/invoke.texi (scev-max-expr-complexity): Documented.
13859 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13860 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
13861 * tree-scalar-evolution.c (follow_ssa_edge): Use
13862 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
13863
5cbf5c20
RG
138642011-02-02 Richard Guenther <rguenther@suse.de>
13865
13866 PR tree-optimization/47566
13867 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
13868
83d70792
AO
138692011-02-02 Alexandre Oliva <aoliva@redhat.com>
13870
e829c321
AO
13871 PR debug/47106
13872 PR debug/47402
13873 * tree-inline.c (declare_return_variable): Remove unused caller
13874 variable.
13875
83d70792
AO
13876 PR debug/47106
13877 PR debug/47402
13878 * tree-flow-inline.h (clear_is_used, is_used_p): New.
13879 * cfgexpand.c (account_used_vars_for_block): Use them.
13880 * tree-nrv.c (tree_nrv): Likewise.
13881 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
13882 (dump_scope_block): Likewise.
13883 (remove_unused_locals): Likewise.
13884
aaa2ac93
AO
13885 PR debug/47106
13886 PR debug/47402
13887 * tree-inline.c (declare_return_variable): Add result decl to
13888 local decls only once.
13889 * gimple-low.c (record_vars_into): Mark newly-created variables
13890 as referenced.
13891
a59d15cf
AO
138922011-02-02 Alexandre Oliva <aoliva@redhat.com>
13893
13894 PR debug/47498
13895 PR debug/47501
13896 PR debug/45136
13897 PR debug/45130
13898 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
13899 debug insns.
13900 (no_real_insns_p, schedule_block, set_priorities): Drop special
13901 treatment of boundary debug insns.
38be4072 13902 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
13903 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
13904 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
13905 (BOUNDARY_DEBUG_INSN_P): Likewise.
13906 (SCHEDULE_DEBUG_INSN_P): Likewise.
13907 * sched-rgn.c (init_ready_list): Drop special treatment of
13908 boundary debug insns.
13909 * final.c (rest_of_clean_state): Clear notes' BB.
13910
6fc2f091
JM
139112011-02-01 Joseph Myers <joseph@codesourcery.com>
13912
13913 * config/openbsd.opt (assert=): New Driver option.
13914
fc523387
JM
139152011-02-01 Joseph Myers <joseph@codesourcery.com>
13916
13917 * config/i386/nto.opt: New.
13918 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
13919
6d9821e5
JM
139202011-02-01 Joseph Myers <joseph@codesourcery.com>
13921
13922 * config/i386/netware.opt: New.
13923 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
13924
cef932d4
JM
139252011-02-01 Joseph Myers <joseph@codesourcery.com>
13926
13927 * config/interix.opt (posix): New Driver option.
13928
22843acd
DD
139292011-02-01 DJ Delorie <dj@redhat.com>
13930
56490b74
DD
13931 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
13932
22843acd
DD
13933 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
13934 class for A0/A1.
13935
199c8f2f
SP
139362011-02-01 Sebastian Pop <sebastian.pop@amd.com>
13937
13938 PR tree-optimization/47561
13939 * toplev.c (process_options): Print the Graphite flags. Add
13940 flag_loop_flatten to the list of options requiring Graphite.
13941
926bcf22
JM
139422011-02-01 Joseph Myers <joseph@codesourcery.com>
13943
13944 * config/i386/cygming.opt (posix): New Driver option.
13945
59793c51
JM
139462011-02-01 Joseph Myers <joseph@codesourcery.com>
13947
13948 * config/arm/vxworks.opt: New.
13949 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
13950
183c38a4
JM
139512011-02-01 Joseph Myers <joseph@codesourcery.com>
13952
13953 * config/alpha/elf.opt: New.
13954 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
13955 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
13956
9939e416
RG
139572011-02-01 Richard Guenther <rguenther@suse.de>
13958
13959 PR tree-optimization/47559
13960 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
13961 store-motion on references that can throw.
13962
4a3c9687
BS
139632011-02-01 Bernd Schmidt <bernds@codesourcery.com>
13964
13965 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
13966 * tree-pass.h (TDF_CSELIB): New macro.
13967 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
13968 cselib_lookup): Check for it rather than for TDF_DETAILS.
13969
dd3b31fb
L
139702011-02-01 H.J. Lu <hongjiu.lu@intel.com>
13971
13972 PR driver/47547
13973 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
13974 is HOST_BIT_BUCKET.
13975
13976 * opts.c (finish_options): Don't add x_aux_base_name if it is
13977 HOST_BIT_BUCKET.
13978
34c1de79
RG
139792011-02-01 Richard Guenther <rguenther@suse.de>
13980
13981 PR tree-optimization/47555
13982 Revert
13983 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
13984
13985 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
13986
dd2804d2
SB
139872011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
13988
13989 PR gcc/46692
13990 * config/lm32/t-lm32: Add multilib for all CPU options.
13991
3fd3b156
RG
139922011-02-01 Richard Guenther <rguenther@suse.de>
13993
13994 PR tree-optimization/47541
13995 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
13996 sure to have a field at offset zero.
13997
f16072b6
JM
139982011-01-31 Joseph Myers <joseph@codesourcery.com>
13999
14000 * config/arc/arc.opt (EB, EL): New Driver options.
14001
6456cf2e
JM
140022011-01-31 Joseph Myers <joseph@codesourcery.com>
14003
14004 * config/alpha/osf5.opt: New.
14005 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
14006
cdde6ab4
JM
140072011-01-31 Joseph Myers <joseph@codesourcery.com>
14008
14009 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
14010
7633415c
SP
140112011-01-31 Sebastian Pop <sebastian.pop@amd.com>
14012
14013 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
14014 -floop-interchange.
14015 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
14016 is an alias of -floop-interchange and that it requires the
14017 Graphite infrastructure.
14018 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
14019 flag_loop_interchange based on the value of flag_tree_loop_linear.
14020
0425d6f5
JJ
140212011-01-31 Jakub Jelinek <jakub@redhat.com>
14022 Richard Guenther <rguenther@suse.de>
14023
14024 PR tree-optimization/47538
14025 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
14026 type instead of r1type, except for comparisons. For right
14027 shifts and comparisons punt if there are mismatches in
14028 sizetype vs. non-sizetype types.
14029
500b16c3
RO
140302011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14031
14032 * doc/sourcebuild.texi (Effective-Target Keywords): Document
14033 avx_runtime.
14034
e279edb0
RO
140352011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14036
14037 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
14038 version number.
14039 * configure: Regenerate.
14040
c6092243
RO
140412011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14042
14043 * configure.ac (gcc_cv_ld_static_option): Define.
14044 (gcc_cv_ld_dynamic_option): Define.
14045 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
14046 instead.
14047 (HAVE_LD_STATIC_DYNAMIC): Update message.
14048 (LD_STATIC_OPTION): Define.
14049 (LD_DYNAMIC_OPTION): Define.
14050 * configure: Regenerate.
14051 * config.in: Regenerate.
14052 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
14053 HAVE_LD_STATIC_DYNAMIC]: Use them.
14054
d7862be3
NC
140552011-01-31 Nick Clifton <nickc@redhat.com>
14056
14057 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
14058 registers inside interrupt handlers if the handler is not a leaf
14059 function.
14060
ba4ec0e0
NC
140612011-01-31 Nick Clifton <nickc@redhat.com>
14062
14063 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
14064 reg_renumber returning an INVALID_REGNUM.
14065
29a63921
AO
140662011-01-31 Alexandre Oliva <aoliva@redhat.com>
14067
14068 PR libgcj/44341
14069 * doc/install.texi: Document host options discarded when cross
14070 configuring target libraries.
14071
ef591d3f
AO
140722011-01-31 Alexandre Oliva <aoliva@redhat.com>
14073
14074 Reverted:
14075 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
14076 PR debug/45136
14077 PR debug/45130
14078 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
14079 debug insns.
14080 (no_real_insns_p, schedule_block, set_priorities): Drop special
14081 treatment of boundary debug insns.
38be4072 14082 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
14083 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
14084 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
14085 (BOUNDARY_DEBUG_INSN_P): Likewise.
14086 (SCHEDULE_DEBUG_INSN_P): Likewise.
14087 * sched-rgn.c (init_ready_list): Drop special treatment of
14088 boundary debug insns.
14089 * final.c (rest_of_clean-state): Clear notes' BB.
14090
61052244
AM
140912011-01-31 Alan Modra <amodra@gmail.com>
14092
14093 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
14094 toc relative expressions as we do in print_operand_address.
14095
c4c8962b
KH
140962011-01-30 Kazu Hirata <kazu@codesourcery.com>
14097
14098 * doc/extend.texi: Follow spelling conventions.
14099 * doc/invoke.texi: Fix a typo.
14100
e543b94c
JM
141012011-01-30 Joseph Myers <joseph@codesourcery.com>
14102
14103 * config/hpux11.opt: New.
14104 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
14105 ia64*-*-hpux*): Use hpux11.opt.
14106
509d65dd 141072011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
14108
14109 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
14110 to tmake_file.
14111
7be03a0e
GP
141122011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
14113
14114 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
14115 support sites.
14116
419d1d37
GP
141172011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
14118
b596ed64
GP
14119 * doc/install.texi (Binaries): Remove outdated reference for
14120 Motorola 68HC11/68HC12 downloads.
14121
141222011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 14123
419d1d37
GP
14124 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
14125 Drepper's paper.
14126
4406d0e9
JW
141272011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
14128
14129 PR bootstrap/47147
14130 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
14131 used by NetBSD.
14132
38be4072 141332011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
14134
14135 * value-prof.c (check_counter): Corrected error message.
14136
0cd98787
JZ
141372011-01-29 Jie Zhang <jie@codesourcery.com>
14138
14139 * config/arm/arm.c (arm_legitimize_reload_address): New.
14140 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
14141 arm_legitimize_reload_address.
38be4072 14142 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 14143
9b798ac5
ILT
141442011-01-28 Ian Lance Taylor <iant@google.com>
14145
14146 * godump.c (go_define): Ignore macros whose definitions include
14147 two adjacent operands.
14148
591e29d9
JJ
141492011-01-28 Jakub Jelinek <jakub@redhat.com>
14150
14151 PR target/42894
14152 * varasm.c (force_const_mem): Store copy of x in desc->constant
14153 instead of x itself.
14154 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
14155 itself into REG_EQUAL note.
14156
62dcc44a
JM
141572011-01-28 Joseph Myers <joseph@codesourcery.com>
14158
14159 * config/freebsd.opt (posix, rdynamic): New Driver options.
14160
c9f58b9a
RO
141612011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14162
14163 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
14164 -Bstatic/-Bdynamic.
14165 * configure: Regenerate.
14166
5f02b9db
JM
141672011-01-27 Joseph Myers <joseph@codesourcery.com>
14168
14169 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
14170 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
14171
5df97412
AS
141722011-01-27 Anatoly Sokolov <aesok@post.ru>
14173
14174 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
14175 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
14176 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
14177 (s390_preferred_reload_class): Make static. Change return and
14178 'rclass' argument type to reg_class_t.
14179
779d4b91
JH
141802011-01-27 Jan Hubicka <jh@suse.cz>
14181
14182 PR middle-end/46949
14183 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
14184 (process_function_and_variable_attributes): Check defined weakrefs.
14185
e80b21ed
MJ
141862011-01-27 Martin Jambor <mjambor@suse.cz>
14187
14188 PR tree-optimization/47228
14189 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
14190 build_ref_for_offset.
14191
6dcc4f31
UW
141922011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14193
14194 * config/spu/spu-elf.h (ASM_SPEC): Remove.
14195
509d65dd 141962011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
14197
14198 PR rtl-optimization/46856
14199 * postreload.c (reload_combine_recognize_const_pattern): Do not
14200 separate cc0 setter and user on cc0 targets.
14201
04af8788
NP
142022011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
14203
14204 PR c/43082
14205 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
14206 passed a VOID_TYPE expression, immediately emit an error and
14207 return error_mark_node.
14208
f7a60085
JL
142092011-01-26 Jeff Law <law@redhat.com>
14210
14211 PR rtl-optimization/47464
14212 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
14213 rather than may_trap_p as needed.
14214
5c2917ec
DD
142152011-01-26 DJ Delorie <dj@redhat.com>
14216
14217 PR rtl-optimization/46878
14218 * combine.c (insn_a_feeds_b): Check for the implicit cc0
14219 setter/user dependency as well.
14220
bef16e87
EB
142212011-01-26 Eric Botcazou <ebotcazou@adacore.com>
14222
14223 PR rtl-optimization/44469
14224 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
14225 after removing trivially dead basic blocks.
14226
c75d884b
JM
142272011-01-26 Joseph Myers <joseph@codesourcery.com>
14228
14229 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
14230 * config/frv/frv.h (LINK_SPEC): Likewise.
14231 * config/i386/netware.h (LINK_SPEC): Likewise.
14232 * config/m68k/linux.h (ASM_SPEC): Likewise.
14233 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
14234 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14235 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14236 * config/sparc/linux.h (ASM_SPEC): Likewise.
14237 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14238 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14239
d3153553
JM
142402011-01-26 Joseph Myers <joseph@codesourcery.com>
14241
14242 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
14243 * config/frv/frv.h (ASM_SPEC): Likewise.
14244 * config/m68k/linux.h (ASM_SPEC): Likewise.
14245 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
14246 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
14247 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14248 * config/sparc/linux.h (ASM_SPEC): Likewise.
14249 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14250 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14251
b89b1e9d
JM
142522011-01-26 Joseph Myers <joseph@codesourcery.com>
14253
14254 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
14255 * config/frv/frv.h (LINK_SPEC): Likewise.
14256 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
14257
12eb1a9c
JM
142582011-01-26 Joseph Myers <joseph@codesourcery.com>
14259
14260 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
14261 * config/frv/frv.h (ASM_SPEC): Likewise.
14262 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
14263 * config/m68k/linux.h (ASM_SPEC): Likewise.
14264 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
14265 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
14266 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
14267 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
14268 * config/sparc/linux.h (ASM_SPEC): Likewise.
14269 * config/sparc/linux64.h (ASM_SPEC): Likewise.
14270 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
14271 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
14272
e435f098
SE
142732011-01-26 Steve Ellcey <sje@cup.hp.com>
14274
14275 PR target/46997
14276 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
14277 (*mux2): Ditto.
14278 (vec_extract_evenodd_help): Ditto.
14279 (vec_extract_evenv4hi): Ditto.
14280 (vec_extract_oddv4hi): Ditto.
14281 (vec_interleave_lowv2si): Ditto.
14282 (vec_interleave_highv2si): Ditto.
14283 (vec_extract_evenv2si): Ditto.
14284 (vec_extract_oddv2si: Ditto.
14285 (vec_pack_trunc_v2si): Ditto.
14286
34f0eee0
JH
142872011-01-22 Jan Hubicka <jh@suse.cz>
14288
14289 PR target/47237
14290 * cgraph.h (cgraph_local_info): New field can_change_signature.
14291 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
14292 signature can change.
14293 (ipcp_estimate_growth): Call sequence simplify only if calle signature
14294 can change.
14295 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
14296 (cgraph_function_versioning): We can not change signature of functions
14297 that don't allow that.
14298 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
14299 (lto_input_node): Likewise.
38be4072
UB
14300 * ipa-inline.c (compute_inline_parameters): Compute
14301 local.can_change_signature.
34f0eee0 14302 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
14303 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
14304 functions that can not change signature.
34f0eee0 14305 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
14306 init_cumulative_args): Do not use local calling conventions
14307 for functions that can not change signature.
34f0eee0 14308
980ca891
JH
143092011-01-22 Jan Hubicka <jh@suse.cz>
14310
14311 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
14312
768e3c60
RG
143132011-01-26 Richard Guenther <rguenther@suse.de>
14314
14315 PR tree-optimization/47190
61052244
AM
14316 * cgraphunit.c (process_common_attributes): New function.
14317 (process_function_and_variable_attributes): Use it.
768e3c60 14318
21d6a1c7
RG
143192011-01-26 Richard Guenther <rguenther@suse.de>
14320
14321 PR lto/47423
14322 * cgraphbuild.c (record_eh_tables): Record reference to personality
14323 function.
14324
48bb58b1
AO
143252011-01-26 Alexandre Oliva <aoliva@redhat.com>
14326
14327 PR debug/45454
14328 * sel-sched.c (moveup_expr): Don't let debug insns prevent
14329 non-debug insns from moving up.
14330
58c741a6
DK
143312011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
14332
14333 PR target/40125
14334 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
14335 t-dlldir{,-x} fragment for build and add it to tmake_file.
14336 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
14337 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
14338 * config/i386/t-dlldir: New file.
14339 (SHLIB_DLLDIR): Define.
14340 * config/i386/t-dlldir-x: New file.
14341 (SHLIB_DLLDIR): Define.
14342 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
14343 (SHLIB_INSTALL): Use it.
14344
bff99262
CLT
143452011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
14346
14347 PR target/47246
14348 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
14349 lower bound of the allowed Thumb-2 coprocessor load/store
14350 index range to -256. Add explaining comment.
14351
82c03907
ILT
143522011-01-25 Ian Lance Taylor <iant@google.com>
14353
14354 * godump.c (go_define): Improve lexing of macro expansion to only
14355 accept expressions which match Go spec.
14356
47ea1edf
DK
143572011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
14358
d4dba752 14359 PR c++/43601
47ea1edf
DK
14360 * tree.c (handle_dll_attribute): Handle it.
14361 * doc/extend.texi (@item dllexport): Mention it.
14362 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
14363
744f0946
ILT
143642011-01-25 Ian Lance Taylor <iant@google.com>
14365
14366 PR tree-optimization/26854
14367 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
14368 (decl_jump_unsafe): Move higher in file, with no other change.
14369 (bind): Set has_jump_unsafe_decl if appropriate.
14370 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
14371 (check_earlier_gotos): Likewise.
14372 (c_check_switch_jump_warnings): Likewise.
14373
5734f2b3
JW
143742011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
14375
14376 * doc/invoke.texi (Warning Options): Add missing hyphen.
14377 (-fprofile-dir): Minor grammatical fixes.
14378 (-fbranch-probabilities): Likewise.
14379
9bdbdcef
AO
143802011-01-25 Alexandre Oliva <aoliva@redhat.com>
14381
14382 PR debug/45136
14383 PR debug/45130
14384 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
14385 debug insns.
14386 (no_real_insns_p, schedule_block, set_priorities): Drop special
14387 treatment of boundary debug insns.
38be4072 14388 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
14389 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
14390 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
14391 (BOUNDARY_DEBUG_INSN_P): Likewise.
14392 (SCHEDULE_DEBUG_INSN_P): Likewise.
14393 * sched-rgn.c (init_ready_list): Drop special treatment of
14394 boundary debug insns.
14395 * final.c (rest_of_clean-state): Clear notes' BB.
14396
b305e3da
SP
143972011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14398
14399 * Makefile.in (LAMBDA_H): Removed.
14400 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
14401 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
14402 lambda-trans.o, and tree-loop-linear.o.
14403 (lto-symtab.o): Remove dependence on LAMBDA_H.
14404 (tree-loop-linear.o): Remove rule.
14405 (lambda-mat.o): Same.
14406 (lambda-trans.o): Same.
14407 (lambda-code.o): Same.
14408 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
14409 (tree-vect-slp.o): Same.
14410 * hwint.h (gcd): Moved here.
14411 (least_common_multiple): Same.
14412 * lambda-code.c: Removed.
14413 * lambda-mat.c: Removed.
14414 * lambda-trans.c: Removed.
14415 * lambda.h: Removed.
14416 * tree-loop-linear.c: Removed.
14417 * lto-symtab.c: Do not include lambda.h.
14418 * omega.c (gcd): Removed.
14419 * passes.c (init_optimization_passes): Remove pass_linear_transform.
14420 * tree-data-ref.c (print_lambda_vector): Moved here.
14421 (lambda_vector_copy): Same.
14422 (lambda_matrix_copy): Same.
14423 (lambda_matrix_id): Same.
14424 (lambda_vector_first_nz): Same.
14425 (lambda_matrix_row_add): Same.
14426 (lambda_matrix_row_exchange): Same.
14427 (lambda_vector_mult_const): Same.
14428 (lambda_vector_negate): Same.
14429 (lambda_matrix_row_negate): Same.
14430 (lambda_vector_equal): Same.
14431 (lambda_matrix_right_hermite): Same.
14432 * tree-data-ref.h: Do not include lambda.h.
14433 (lambda_vector): Moved here.
14434 (lambda_matrix): Same.
14435 (dependence_level): Same.
14436 (lambda_transform_legal_p): Removed declaration.
14437 (lambda_collect_parameters): Same.
14438 (lambda_compute_access_matrices): Same.
14439 (lambda_vector_gcd): Same.
14440 (lambda_vector_new): Same.
14441 (lambda_vector_clear): Same.
14442 (lambda_vector_lexico_pos): Same.
14443 (lambda_vector_zerop): Same.
14444 (lambda_matrix_new): Same.
14445 * tree-flow.h (least_common_multiple): Removed declaration.
14446 * tree-parloops.c (lambda_trans_matrix): Moved here.
14447 (LTM_MATRIX): Same.
14448 (LTM_ROWSIZE): Same.
14449 (LTM_COLSIZE): Same.
14450 (LTM_DENOMINATOR): Same.
14451 (lambda_trans_matrix_new): Same.
14452 (lambda_matrix_vector_mult): Same.
14453 (lambda_transform_legal_p): Same.
14454 * tree-pass.h (pass_linear_transform): Removed declaration.
14455 * tree-ssa-loop.c (tree_linear_transform): Removed.
14456 (gate_tree_linear_transform): Removed.
14457 (pass_linear_transform): Removed.
14458 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
14459 flag_loop_interchange.
14460
6bdfdb96
JJ
144612011-01-25 Jakub Jelinek <jakub@redhat.com>
14462
14463 PR tree-optimization/47265
14464 PR tree-optimization/47443
14465 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
14466 if name still has some uses.
14467
e4cba915
MJ
144682011-01-25 Martin Jambor <mjambor@suse.cz>
14469
14470 PR tree-optimization/47382
14471 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
14472 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
14473
509d65dd 144742011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
14475
14476 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
14477 sjlj_except_unwind_info.
14478
194313e2
RG
144792011-01-25 Richard Guenther <rguenther@suse.de>
14480
14481 PR tree-optimization/47426
14482 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
14483 visible functions results escape.
14484
147a0bcf
JJ
144852011-01-25 Jakub Jelinek <jakub@redhat.com>
14486
14487 PR target/45701
14488 * config/arm/arm.c (any_sibcall_uses_r3): New function.
14489 (arm_get_frame_offsets): Use it.
14490
db963b52
SP
144912011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14492 Jakub Jelinek <jakub@redhat.com>
14493
14494 PR tree-optimization/47271
14495 * tree-if-conv.c (bb_postdominates_preds): New.
14496 (if_convertible_bb_p): Call bb_postdominates_preds.
14497 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
14498 (predicate_scalar_phi): Call bb_postdominates_preds.
14499
bcddd3b9
NC
145002011-01-25 Nick Clifton <nickc@redhat.com>
14501
14502 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
14503 * config/rx/rx.c (rx_function_value): Likewise.
14504 (rx_promote_function_mode): Likewise.
14505 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
14506 in order to make it legitimate.
38be4072
UB
14507 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
14508 make sure that the first operand is the same as the result register.
bcddd3b9
NC
14509 (addsi3_unspec): Delete.
14510 (subdi3): Do not accept immediate operands.
14511 (subdi3_internal): Likewise.
14512
7e6cb022
JL
145132011-01-25 Jeff Law <law@redhat.com>
14514
14515 PR rtl-optimization/37273
14516 * ira-costs.c (scan_one_insn): Detect constants living in memory and
14517 handle them like argument loads from stack slots. Do not double
14518 count memory for memory constants and argument loads from stack slots.
14519
9ffa621e
JJ
145202011-01-25 Jakub Jelinek <jakub@redhat.com>
14521
14522 PR tree-optimization/47427
14523 PR tree-optimization/47428
14524 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
14525 coalesce if the new root var would be TREE_READONLY.
14526
5bd6e652
RG
145272011-01-25 Richard Guenther <rguenther@suse.de>
14528
14529 PR middle-end/47414
14530 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
14531 correct type for TBAA.
14532
7c48ea69
SP
145332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14534
14535 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
14536 (close_phi_written_to_memory): Call for_each_index with
14537 dr_indices_valid_in_loop.
14538
38013f25
SP
145392011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14540
14541 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
14542 when it is initialized.
14543
5c640e29
SP
145442011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14545
14546 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
14547 call to graphite_find_data_references_in_stmt.
14548 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
14549 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
14550 call to graphite_find_data_references_in_stmt.
14551 (analyze_drs_in_stmts): Same.
14552 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
14553 in which the scalar analysis of indices is performed.
14554 (create_data_ref): Same. Update call to dr_analyze_indices.
14555 (find_data_references_in_stmt): Update call to create_data_ref.
14556 (graphite_find_data_references_in_stmt): Same.
14557 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
14558 declaration.
14559 (create_data_ref): Same.
14560 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
14561 call to create_data_ref.
14562
ac53c069
SP
145632011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14564
14565 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 14566 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 14567
3d17df15
SP
145682011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14569
14570 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
14571 VAR_DECL, PARM_DECL, and RESULT_DECL.
14572
c513da01
SP
145732011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14574
14575 * graphite-dependences.c (reduction_dr_1): Allow several reductions
14576 in a reduction PBB.
14577 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
14578 that have already been marked as PBB_IS_REDUCTION.
14579
3a292d59
SP
145802011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14581
14582 * graphite-scop-detection.c (same_close_phi_node): New.
14583 (remove_duplicate_close_phi): New.
14584 (make_close_phi_nodes_unique): New.
14585 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
14586
ba858447
SP
145872011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14588
14589 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
14590 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
14591 of both data references to be the same.
14592
8d865c56
SP
145932011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14594
38be4072
UB
14595 * graphite-dependences.c (build_lexicographical_constraint): Remove
14596 the gdim parameter.
14597 (build_lexicographical_constraint): Adjust call to
14598 ppl_powerset_is_empty.
8d865c56
SP
14599 (dependence_polyhedron): Same.
14600 (graphite_legal_transform_dr): Same.
14601 (graphite_carried_dependence_level_k): Same.
38be4072
UB
14602 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
14603 parameter.
8d865c56
SP
14604 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
14605
50034a36
SP
146062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14607
14608 * graphite-sese-to-poly.c
14609 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
14610 (close_phi_written_to_memory): New.
14611 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
14612 and unshare_expr.
14613
0deada9e
SP
146142011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14615
14616 * doc/install.texi: Update the expected version number of PPL to 0.11.
14617 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
14618 #if PPL_VERSION_MINOR < 11.
14619
d7d3d6af
SP
146202011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14621
14622 * graphite-dependences.c: Include graphite-cloog-util.h.
14623 (new_poly_ddr): Inlined into dependence_polyhedron.
14624 (free_poly_ddr): Moved close by new_poly_ddr.
14625 (dependence_polyhedron_1): Renamed dependence_polyhedron.
14626 Early return NULL when ppl_powerset_is_empty returns true.
14627 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
14628 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
14629 (graphite_legal_transform_dr): Call new_poly_ddr.
14630 (graphite_carried_dependence_level_k): Same.
14631 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
14632 (dot_transformed_deps_stmt_1): Removed.
14633 (dot_deps_stmt_1): Call dot_deps_stmt_2.
14634 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
14635 (dot_deps_1): Call dot_deps_2.
14636 * Makefile.in (graphite-dependences.o): Add missing dependence on
14637 graphite-cloog-util.h.
14638
28c5db57
SP
146392011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14640
14641 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
14642 (build_lexicographical_constraint): Same.
14643 (dependence_polyhedron_1): Same.
14644 (graphite_legal_transform_dr): Same.
14645 (graphite_carried_dependence_level_k): Same.
14646 * graphite-ppl.c (ppl_powerset_is_empty): New.
14647 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
14648 * tree-data-ref.c (dump_data_reference): Print the basic block index.
14649
5168d98f
SP
146502011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14651
14652 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
14653 the "a followed by b" relation and document it.
14654
4a40293a
SP
146552011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14656
14657 * graphite-dependences.c (build_lexicographical_constraint): Stop the
14658 iteration when the bag of constraints is empty.
14659
271fb6fa
SP
146602011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14661
14662 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
14663
92d23680
SP
146642011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14665
14666 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
14667 nest and two loop depths as parameters.
14668 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
14669 lst_perfect_nestify.
14670
2f51deff
SP
146712011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14672
14673 * graphite-dependences.c (print_pddr): Call
14674 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
14675
07f3593c
SP
146762011-01-25 Sebastian Pop <sebastian.pop@amd.com>
14677
14678 * graphite-ppl.c (debug_gmp_value): New.
14679 * graphite-ppl.h (debug_gmp_value): Declared.
14680
3fae6099
TG
146812011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
14682
14683 * doc/install.texi: Document availability of cloog-0.16.
14684
1c3ba85b
SP
146852011-01-25 Vladimir Kargov <kargov@gmail.com>
14686
14687 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
14688 invalid postdominance info.
14689
e8ba94fc
JH
146902011-01-24 Jan Hubicka <jh@suse.cz>
14691
14692 PR c/21659
14693 * doc/extend.texi (weak pragma): Drop claim that it must
14694 appear before definition.
14695 * varasm.c (merge_weak, declare_weak): Only sanity check
14696 that DECL is not output at a time it is declared weak.
14697
2b6e2d13
KZ
146982011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
14699
14700 * machmode.def: Fixed comments.
1c3ba85b 14701
9841210f
KT
147022011-01-24 Kai Tietz <kai.tietz@onevision.com>
14703
14704 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
14705
147062011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
14707
14708 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 14709 WORDS_BIG_ENDIAN.
e046112d 14710
a6c5070a
L
147112011-01-24 H.J. Lu <hongjiu.lu@intel.com>
14712
14713 PR target/46519
14714 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
14715 (block_info): Add scanned and prev.
14716 (move_or_delete_vzeroupper_2): Return if the basic block
14717 has been scanned and the upper 128bit state is unchanged
14718 from the last scan.
14719 (move_or_delete_vzeroupper_1): Return true if the exit
14720 state is changed.
14721 (move_or_delete_vzeroupper): Visit basic blocks using the
14722 work-list based algorithm based on vt_find_locations in
14723 var-tracking.c.
14724
14725 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
14726
a40d79d7
NC
147272011-01-24 Nick Clifton <nickc@redhat.com>
14728
14729 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
14730 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
14731 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
14732 then define __v850e1__.
14733 * doc/invoke.texi: Document -mv850es.
14734
440eb8de
RH
147352011-01-24 Richard Henderson <rth@redhat.com>
14736
14737 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
14738 compound unordered comparisons.
14739 * config/rx/rx.c (rx_split_fp_compare): Remove.
14740 * config/rx/rx-protos.h: Update.
14741 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
14742 (cbranchsf4): Don't call rx_split_fp_compare.
14743 (*cbranchsf4): Use rx_split_cbranch.
14744 (*cmpsf): Don't accept "i" constraint.
14745 (*conditional_branch): Only valid after reload.
14746 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
14747
3ff79f99
MM
147482011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
14749
14750 PR target/47385
14751 * config/rs6000/altivec.md (vector constant splitters): Add
14752 support for creating vector single precision constants if -mvsx is
14753 used and we would create the constant using Altivec primitives.
14754
ff3d9d08
BS
147552011-01-23 Bernd Schmidt <bernds@codesourcery.com>
14756 Richard Sandiford <rdsandiford@googlemail.com>
14757
14758 PR rtl-optimization/47166
14759 * reload1.c (emit_reload_insns): Disable the spill_reg_store
14760 mechanism for PRE_MODIFY and POST_MODIFY.
14761 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
14762 reloadreg.
14763
7fcaf152
AS
147642011-01-23 Andreas Schwab <schwab@linux-m68k.org>
14765
8788adb6 14766 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 14767
d09b58c4
JH
147682011-01-22 Jan Hubicka <jh@suse.cz>
14769
14770 PR lto/47333
14771 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
14772
e8ff8c5a
JH
147732011-01-22 Jan Hubicka <jh@suse.cz>
14774
14775 PR tree-optimization/43884
14776 PR lto/44334
8788adb6 14777 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
14778 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
14779
ccaed3ba
AS
147802011-01-22 Anatoly Sokolov <aesok@post.ru>
14781
14782 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
14783 * config/s390/s390.c (s390_register_move_cost,
14784 s390_memory_move_cost): New.
14785 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
14786
0cecee06
UW
147872011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14788
14789 PR middle-end/47401
14790 * except.c (sjlj_assign_call_site_values): Move setting the
14791 crtl->uses_eh_lsda flag to ...
14792 (sjlj_mark_call_sites): ... here.
14793 (sjlj_emit_function_enter): Support NULL dispatch label.
14794 (sjlj_build_landing_pads): In a function with no landing pads
14795 that still has must-not-throw regions, generate code to register
14796 a personality function with empty LSDA.
14797
e692f276
RH
147982011-01-21 Richard Henderson <rth@redhat.com>
14799
1b7ae0b7
RH
14800 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
14801
3843787f
RH
14802 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
14803
e692f276
RH
14804 * compare-elim.c: New file.
14805 * Makefile.in (OBJS-common): Add it.
14806 (compare-elim.o): New.
14807 * common.opt (fcompare-elim): New.
14808 * opts.c (default_options_table): Add OPT_fcompare_elim.
14809 * tree-pass.h (pass_compare_elim_after_reload): New.
14810 * passes.c (init_optimization_passes): Add it.
14811 * recog.h: Protect against re-inclusion.
14812 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
14813 * doc/invoke.texi (-fcompare-elim): Document it.
14814 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
14815 * doc/tm.texi: Rebuild.
14816
9a7c2050
NC
148172011-01-22 Nick Clifton <nickc@redhat.com>
14818
14819 * config/rx/rx.md (cstoresf4): Pass comparison operator to
14820 rx_split_fp_compare.
14821
15ba5696
NC
148222011-01-22 Nick Clifton <nickc@redhat.com>
14823
14824 * config/rx/rx.md (UNSPEC_CONST): New.
14825 (deallocate_and_return): Wrap the amount popped off the stack in
14826 an UNSPEC_CONST in order to stop it being rejected by
14827 -mmax-constant-size.
14828 (pop_and_return): Add a "(return)" rtx.
14829 (call): Drop the immediate operand.
14830 (call_internal): Likewise.
14831 (call_value): Likewise.
14832 (call_value_internal): Likewise.
14833 (sibcall_internal): Likewise.
14834 (sibcall_value_internal): Likewise.
14835 (sibcall): Likewise. Generate an explicit call using
14836 sibcall_internal.
14837 (sibcall_value): Likewise.
14838 (mov<>): FAIL if a constant operand is not legitimate.
14839 (addsi3_unpsec): New pattern.
9a7c2050 14840
38be4072 14841 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
14842 (ok_for_max_constant): New function.
14843 (gen_safe_add): New function.
14844 (rx_expand_prologue): Use gen_safe_add.
14845 (rx_expand_epilogue): Likewise.
14846 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
14847 UNSPEC CONSTs.
14848
caaf13d3
JL
148492011-01-21 Jeff Law <law@redhat.com>
14850
14851 PR tree-optimization/47053
14852 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
14853 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
14854 statements are deleted.
14855 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
14856 is nonempty, then purge dead edges and cleanup the CFG.
14857
12c30f2f
AO
148582011-01-21 Alexandre Oliva <aoliva@redhat.com>
14859
14860 PR debug/47402
14861 Temporarily revert:
14862 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
14863 PR debug/47106
14864 * tree-dfa.c (create_var_ann): Mark variable as used.
14865
7360d2ac
JJ
148662011-01-21 Jakub Jelinek <jakub@redhat.com>
14867
aaa52a96
JJ
14868 PR middle-end/45566
14869 * except.c (convert_to_eh_region_ranges): Emit queued no-region
14870 notes from other section in hot/cold partitioning even if
14871 last_action is -3. Increment call_site_base.
14872
7360d2ac
JJ
14873 PR rtl-optimization/47366
14874 * fwprop.c (forward_propagate_into): Return bool. If
14875 any changes are made, -fnon-call-exceptions is used and
14876 REG_EH_REGION note is present, call purge_dead_edges
14877 and return true if it purged anything.
14878 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
14879 any EH edges were purged.
14880
e90b336f
JL
148812011-01-21 Jeff Law <law@redhat.com>
14882
14883 PR rtl-optimization/41619
14884 * caller-save.c (setup_save_areas): Break out code to determine
14885 which hard regs are live across calls by examining the reload chains
14886 so that it is always used.
14887 Eliminate code which checked REG_N_CALLS_CROSSED.
14888
3ffe07e1
JJ
148892011-01-21 Jakub Jelinek <jakub@redhat.com>
14890
14891 PR tree-optimization/47355
14892 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
14893 NOP has non-debug uses beyond PHIs in new_bb.
14894
1c7d0b34
AO
148952011-01-21 Alexandre Oliva <aoliva@redhat.com>
14896
14897 PR debug/47106
14898 * cfgexpand.c (account_used_vars_for_block): Only account vars
14899 that are annotated as used.
14900 (estimated_stack_frame_size): Don't set TREE_USED.
14901 * tree-dfa.c (create_var_ann): Mark variable as used.
14902
f99cc488
RG
149032011-01-21 Richard Guenther <rguenther@suse.de>
14904
14905 PR middle-end/47395
14906 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
14907
3bc27de7
RG
149082011-01-21 Richard Guenther <rguenther@suse.de>
14909
14910 PR tree-optimization/47365
14911 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
14912 (vn_reference_lookup_pieces): Adjust.
14913 (vn_reference_lookup): Likewise.
14914 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
14915 (vn_reference_lookup_3): Only look through kills if in
14916 VN_WALKREWRITE mode.
14917 (vn_reference_lookup_pieces): Adjust.
14918 (vn_reference_lookup): Likewise.
14919 (visit_reference_op_load): Likewise.
14920 (visit_reference_op_store): Likewise.
14921 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
14922 (compute_avail): Likewise.
14923 (eliminate): Likewise.
14924
d8debb1d
JJ
149252011-01-21 Jakub Jelinek <jakub@redhat.com>
14926
14927 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
14928 DECL_IGNORED_P non-reg vars if they are used.
14929
3a2df831
JJ
14930 PR tree-optimization/47391
14931 * varpool.c (const_value_known_p): Return false if
14932 decl is volatile.
14933
1dd584a2
KT
149342011-01-21 Kai Tietz <kai.tietz@onevision.com>
14935
14936 PR bootstrap/47215
14937 * config/i386/i386.c (ix86_local_alignment): Handle
14938 case for va_list_type_node is nil.
14939 (ix86_canonical_va_list_type): Likewise.
14940
7f9f095e
AM
149412011-01-21 Alan Modra <amodra@gmail.com>
14942
14943 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
14944 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
14945
837b01f6
RR
149462011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14947
14948 * config/arm/arm.md (define_attr type): Rename f_load
14949 and f_store to f_fpa_load and f_fpa_store. Update.
14950 (write_conflict): Deal with rename fallout.
14951 (*push_fp_multi): Likewise.
14952 * config/arm/fpa.md (f_load): Use f_fpa_load.
14953 (f_store): Use f_fpa_store.
14954 (*movsf_fpa): Likewise.
14955 (*movdf_fpa): Likewise.
14956 (*movxf_fpa): Likewise.
14957 (*thumb2_movsf_fpa): Likewise.
14958 (*thumb2_movdf_fpa): Likewise.
14959 (*thumb2_movxf_fpa): Likewise.
14960 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
14961 f_loadd and f_stored.
14962 (*thumb2_movdi_vfp): Likewise.
14963 (*thumb2_movsf_vfp): Fix attribute to f_loads.
14964 (*thumb2_movsi_vfp): Likewise.
14965 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
14966 Use f_loads instead of f_load.
14967 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
14968
a1a79768
AS
149692011-01-20 Anatoly Sokolov <aesok@post.ru>
14970
14971 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
14972 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
14973 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
14974 (xtensa_mode_dependent_address_p): New function.
14975 (constantpool_address_p): Make static. Change return type to bool.
14976 Change argument type to const_rtx. Use CONST_INT_P predicate.
14977
427f6cec
AO
149782011-01-20 Alexandre Oliva <aoliva@redhat.com>
14979
14980 PR debug/46583
14981 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
14982
583ac69c
JJ
149832011-01-20 Jakub Jelinek <jakub@redhat.com>
14984
14985 PR debug/47283
14986 * cfgexpand.c (expand_debug_expr): Instead of generating
14987 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
14988 etc. handling.
14989
93e452ed
RG
149902011-01-20 Richard Guenther <rguenther@suse.de>
14991
14992 PR middle-end/47370
14993 * tree-inline.c (remap_gimple_op_r): Recurse manually for
14994 the pointer operand of MEM_REFs.
14995
28fc44f3
JJ
149962011-01-20 Jakub Jelinek <jakub@redhat.com>
14997
14998 PR tree-optimization/46130
14999 * ipa-split.c (consider_split): If return_bb contains non-virtual
15000 PHIs other than for retval or if split_function would not adjust it,
15001 refuse to split.
15002
ddd268f2
RG
150032011-01-20 Richard Guenther <rguenther@suse.de>
15004
15005 PR tree-optimization/47167
15006 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
15007 Revert previous change, only avoid enumeral type changes.
15008
882020aa
MS
150092011-01-19 Mike Stump <mikestump@comcast.net>
15010
15011 * doc/tm.texi.in (BRANCH_COST): Englishify.
15012 * doc/tm.texi (BRANCH_COST): Likewise.
15013
7edb6247
DS
150142011-01-19 Dodji Seketeli <dodji@redhat.com>
15015
15016 PR c++/47291
15017 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
15018 (gen_scheduled_generic_parms_dies): New functions.
15019 (gen_struct_or_union_type_die): Schedule template parameters DIEs
15020 generation for the end of CU compilation.
15021 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 15022
23d5ed5d
AO
150232011-01-19 Alexandre Oliva <aoliva@redhat.com>
15024
15025 PR debug/46240
15026 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
15027 debug bind stmt on merge edges.
15028
37d6a488
AO
150292011-01-19 Alexandre Oliva <aoliva@redhat.com>
15030
15031 PR debug/47079
15032 PR debug/46724
15033 * function.c (instantiate_expr): Instantiate incoming rtl of
15034 implicit arguments, and recurse on VALUE_EXPRs.
15035 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
15036 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
15037
689f2c82
AO
150382011-01-19 Alexandre Oliva <aoliva@redhat.com>
15039
15040 * c-parser.c (c_parser_for_statement): Initialize
15041 collection_expression.
15042
03029de4
JM
150432011-01-19 Joseph Myers <joseph@codesourcery.com>
15044
15045 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
15046
3e03217e
JM
150472011-01-19 Joseph Myers <joseph@codesourcery.com>
15048
15049 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
15050 (LINK_SHLIB_SPEC): Don't use %(link_path).
15051 (SUBTARGET_EXTRA_SPECS): Remove link_path.
15052
5bbe9b3f
JM
150532011-01-19 Joseph Myers <joseph@codesourcery.com>
15054
15055 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
15056 (NO_SHARED_LIB_SUPPORT): Remove.
15057 (LINK_SHLIB_SPEC): Remove one conditional definition.
15058
368e0b39
JM
150592011-01-19 Joseph Myers <joseph@codesourcery.com>
15060
15061 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
15062 %{call_shared}.
15063 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
15064 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
15065 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
15066 %{call_shared} and conditionals on these options not being passed.
15067 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
15068 %{call_shared}.
15069
ed7656f6
JJ
150702011-01-19 Jakub Jelinek <jakub@redhat.com>
15071
68457901
JJ
15072 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
15073 simplify.
15074
ed7656f6
JJ
15075 * ipa-split.c: Spelling fixes.
15076
e0d1958f
RH
150772011-01-19 Richard Henderson <rth@redhat.com>
15078
15079 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
15080 (*mulsi3): Likewise.
15081
27098b6b
RH
15082 * longlong.h [__mn10300__] (count_leading_zeros): New.
15083 [__mn10300__] (umul_ppmm, smul_ppmm): New.
15084 [__mn10300__] (add_ssaaaa, subddmmss): New.
15085 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
15086 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
15087
d6be7c36
UW
150882011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15089
15090 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
15091
b1efde2a
RH
150922011-01-19 Richard Henderson <rth@redhat.com>
15093
44217823
RH
15094 * config/mn10300/mn10300.md (addsi3_flags): New.
15095 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
15096 (subsi3_flags, subc_internal, subdi3): New.
15097 (subdi3_internal, *subdi3_degenerate): New.
15098 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
15099
37a185d7
RH
15100 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
15101 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
15102 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
15103 * config/mn10300/mn10300-protos.h: Update.
15104 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
15105 (return_ret): Likewise. Rename from return_internal_regs.
15106 (return_internal): Remove.
15107
040c5757
RH
15108 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
15109 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
15110 (mn10300_legitimate_constant_p): Likewise.
15111 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
15112 (mn10300_frame_size): New.
15113 (mn10300_expand_prologue): Use it.
15114 (mn10300_expand_epilogue): Likewise.
15115 (mn10300_initial_offset): Likewise.
15116 * config/mn10300/mn10300-protos.h: Update.
15117 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
15118 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
15119 (prologue, epilogue, return_internal): Tidy output code.
15120 (mn10300_store_multiple_operation, return): Likewise.
15121 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
15122 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
15123 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
15124 (load_pic, am33_load_pic): New.
15125 (mn10300_load_pic0, mn10300_load_pic1): New.
15126
bad41521
RH
15127 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
15128 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
15129 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
15130 (cc_flags_for_mode, cc_flags_for_code): New.
15131 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
15132 overflow flag is not valid. Validate that the flags we need
15133 for the comparison are valid.
15134 (mn10300_output_cmp): Remove.
15135 (mn10300_output_add): New.
15136 (mn10300_select_cc_mode): Use cc_flags_for_code.
15137 (mn10300_split_cbranch): New.
15138 (mn10300_match_ccmode): New.
15139 (mn10300_split_and_operand_count): New.
15140 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
15141 to the function.
15142 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
15143 (addsi3): ... here. Use mn10300_output_add.
15144 (*addsi3_flags): New.
15145 (*am33_subsi3, *mn10300_subsi3): Merge...
15146 (subsi3): ... here. Use attribute isa.
15147 (*subsi3_flags): New.
15148 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
15149 when possible.
15150 (*am33_andsi3, *mn10300_andsi3): Merge...
15151 (andsi3): ... here.
15152 (*andsi3_flags): New.
15153 (andsi3 splitters): New.
15154 (*am33_iorsi3, *mn10300_iorsi3): Merge...
15155 (iorsi3): ... here.
15156 (*iorsi3_flags): New.
15157 (*am33_xorsi3, *mn10300_xorsi3): Merge...
15158 (xorsi3): ... here.
15159 (*xorsi3_flags): New.
15160 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
15161 (one_cmplsi2): ... here.
15162 (*one_cmplsi2_flags): New.
15163 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
15164 instead of "dax" in constraints. Use mn10300_split_cbranch.
15165 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
15166 use matching constraints to eliminate a self-comparison.
15167 (*integer_conditional_branch): Rename from integer_conditional_branch.
15168 Use int_mode_flags to match CC_REG.
15169 (*cbranchsi4_btst, *btstsi): New.
15170 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
15171 mn10300_split_cbranch.
15172 (*am33_cmpsf): Rename from am33_cmpsf.
15173 (*float_conditional_branch): Rename from float_conditional_branch.
15174 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
15175 (zero_extendqisi2): ... here.
15176 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
15177 (zero_extendhisi2): ... here.
15178 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
15179 (extendqisi2): ... here.
15180 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
15181 (extendhisi2): ... here.
15182 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
15183 (ashlsi3): ... here.
15184 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
15185 (lshrsi3): ... here.
15186 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
15187 (ashrsi3): ... here.
15188 (consecutive add peephole): Remove.
15189 * config/mn10300/predicates.md (label_ref_operand): New.
15190 (int_mode_flags): New.
15191 (CCZN_comparison_operator): New.
15192
9efb4993
RH
15193 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
15194 (throughput_42_latency_43): New reservation.
15195 (mulsidi3, umulsidi3): New expanders.
15196 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
15197 the MDR register to allocation; separately allocate the low and
15198 high parts of the DImode result.
15199 (umulsidi3_internal): Similarly.
15200 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
15201 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
15202 (udivsi3, umodsi3): Remove.
15203 (udivmodsi4, divmodsi4): New expanders.
15204 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
15205 (*divmodsi4): Simiarly.
15206 (ext_internal): New.
15207
c25a21f5
RH
15208 * config/mn10300/constraints.md ("z"): New constraint.
15209 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
15210 (FIXED_REGISTERS): Don't fix MDR.
15211 (CALL_USED_REGSITERS): Reformat nicely.
15212 (REG_ALLOC_ORDER): Add MDR.
15213 (enum regclass): Add MDR_REGS.
15214 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
15215 (IRA_COVER_CLASSES): Add MDR_REGS.
15216 (REGNO_REG_CLASS): Handle MDR_REG.
15217 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
15218 (mn10300_register_move_cost): Likewise.
15219 * config/mn10300/mn10300.md (MDR_REG): New.
15220 (*movsi_internal): Handle moves to/from MDR_REGS.
15221
36846b26
RH
15222 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
15223 POST_MODIFY.
15224 (mn10300_secondary_reload): Tidy combination reload classes.
15225 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
15226 addresses for AM33. Allow symbolic offsets for reg+imm.
15227 (mn10300_regno_in_class_p): New.
15228 (mn10300_legitimize_reload_address): New.
15229 * config/mn10300/mn10300.h (enum reg_class): Remove
15230 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
15231 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
15232 SP_OR_GENERAL_REGS.
15233 (REG_CLASS_NAMES): Update to match.
15234 (REG_CLASS_CONTENTS): Likewise.
15235 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
15236 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
15237 (REGNO_IN_RANGE_P): Remove.
15238 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
15239 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
15240 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
15241 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
15242 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
15243 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
15244 (REGNO_GENERAL_P): New.
15245 (HAVE_POST_MODIFY_DISP): New.
15246 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
15247 (LEGITIMIZE_RELOAD_ADDRESS): New.
15248 * config/mn10300/mn10300-protos.h: Update.
15249
8b119bb6
RH
15250 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
15251 DATA_REGS for AM33 stack-pointer destination.
15252 (mn10300_preferred_output_reload_class): Likewise.
15253 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
15254 into a form appropriate for ...
15255 (TARGET_SECONDARY_RELOAD): New.
15256 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
15257 * config/mn10300/mn10300-protos.h: Update.
15258 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
15259 reload_insi; use the "A" constraint for the scratch; handle AM33
15260 moves of sp to non-address registers.
15261
b1efde2a
RH
15262 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
15263 (*movqi_internal): ... here.
15264 (*am33_movhi, *mn10300_movhi): Merge into...
15265 (*movhi_internal): ... here.
15266 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
15267 as the source/destination of moves from/to SP.
15268 (movsf): Only allow for AM33-2.
1c3ba85b 15269 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
15270 any integer constant constraint. Only allow for AM33-2. Tidy
15271 all of the alternative outputs.
15272 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
15273 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
15274 for MN103.
15275 (udivsi3, umodsi3): New patterns for MN103 only.
15276
b899fd78
JR
152772011-01-19 Joern Rennecke <amylaar@spamcop.net>
15278
15279 * doc/tm.texi.in: Spell out that a lack of register class unions
15280 can lead to ICEs.
15281 * doc/tm.texi: Regenerate.
15282
afaaa67d
JJ
152832011-01-19 Jakub Jelinek <jakub@redhat.com>
15284
2e0642cd
JJ
15285 PR rtl-optimization/47337
15286 * dce.c (check_argument_store): New function.
15287 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
15288
afaaa67d
JJ
15289 PR tree-optimization/47290
15290 * tree-eh.c (infinite_empty_loop_p): New function.
15291 (cleanup_empty_eh): Use it.
15292
d2cd871f
SE
152932011-01-18 Steve Ellcey <sje@cup.hp.com>
15294
15295 PR target/46997
15296 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
15297 (a64_expand_widen_sum): Ditto.
15298 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
15299 (vec_extract_evenodd_help): Ditto.
15300 (vec_extract_evenv4hi): Ditto.
15301 (vec_extract_oddv4hi): Ditto.
15302 (vec_extract_evenv2si): Ditto.
15303 (vec_extract_oddv2si): Ditto.
15304 (vec_extract_evenv2sf): Ditto.
15305 (vec_extract_oddv2sf): Ditto.
15306 (vec_pack_trunc_v4hi: Ditto.
15307 (vec_pack_trunc_v2si): Ditto.
15308 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
15309 (vec_interleave_highv8qi): Ditto.
15310 (mix1_r): Ditto.
15311 (vec_extract_oddv8qi): Ditto.
15312 (vec_interleave_lowv4hi): Ditto.
15313 (vec_interleave_highv4hi): Ditto.
15314 (vec_interleave_lowv2si): Ditto.
15315 (vec_interleave_highv2si): Ditto.
15316
41a1208a
JDA
153172011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15318
15319 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
15320 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
15321 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
15322 (pa_c_mode_for_suffix): New.
15323 (TARGET_EXPAND_BUILTIN): Define.
15324 (TARGET_C_MODE_FOR_SUFFIX): Define.
15325 (pa_builtins): Define.
15326 (pa_init_builtins): Register __float128 type and init new support
15327 builtins.
15328 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
15329 * config/pa/quadlib.c (_U_Qfcopysign): New.
15330
1ecad98e
EB
153312011-01-18 Eric Botcazou <ebotcazou@adacore.com>
15332
15333 PR middle-end/46894
15334 * explow.c (allocate_dynamic_stack_space): Do not assume more than
15335 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
15336 are defined.
15337
d4f2460a
UW
153382011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
15339
15340 PR tree-optimization/47179
15341 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
15342 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
15343
4994da65
RG
153442011-01-18 Richard Guenther <rguenther@suse.de>
15345
15346 PR rtl-optimization/47216
15347 * emit-rtl.c: Include tree-flow.h.
15348 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
15349 of replicating it with different semantics.
15350 * Makefile.in (emit-rtl.o): Adjust.
15351
1eb458d1
RR
153522011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
15353
38be4072 15354 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 15355 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 15356
e7ef91dc
JJ
153572011-01-18 Jakub Jelinek <jakub@redhat.com>
15358
15359 PR rtl-optimization/47299
15360 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 15361 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
15362 * expmed.c (expand_widening_mult): Don't try to optimize constant
15363 multiplication if op0 has VOIDmode. Convert op1 constant to mode
15364 before using it.
15365
535b7874
RW
153662011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15367
15368 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
15369 spacing after 'e.g.', typos, comma, hyphenation.
15370
27bf36f3
RH
153712011-01-17 Richard Henderson <rth@redhat.com>
15372
8a5b5449
RH
15373 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
15374 (rx_restricted_mem_operand): New.
15375 (rx_shift_operand): Use register_operand.
15376 (rx_source_operand, rx_compare_operand): Likewise.
15377 * config/rx/rx.md (addsi3_flags): New expander.
15378 (adddi3): Rewrite as expander.
15379 (adc_internal, *adc_flags, adddi3_internal): New patterns.
15380 (subsi3_flags): New expander.
15381 (subdi3): Rewrite as expander.
15382 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
15383
784f69be
RH
15384 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
15385 (rx_init_builtins): Remove sat builtin.
15386 (rx_expand_builtin): Likewise.
15387 * config/rx/rx.md (ssaddsi3): New.
15388 (*sat): Rename from sat. Represent the CC_REG input.
15389
f033541c
RH
15390 * config/rx/predicates.md (rshift_operator): New.
15391 * config/rx/rx.c (rx_expand_insv): Remove.
15392 * config/rx/rx-protos.h: Update.
15393 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
15394 operand to the canonical position.
15395 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
15396 (*bitclr, *bitclr_in_memory): Similarly.
15397 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
15398 (insv): Retain the zero_extract in the expansion.
15399
34fee389
RH
15400 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
15401 (bswaphi2, bitinvert, revw): Likewise.
15402
265c835f
RH
15403 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
15404 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
15405 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
15406 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
15407 (bitset, bitset_in_memory): Likewise.
15408 (bitinvert, bitinvert_in_memory): Likewise.
15409 (bitclr, bitclr_in_memory): Likewise.
15410 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
15411 (rx_strend, rx_cmpstrn): Likewise.
15412 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
15413 (bitop peep2 patterns): Remove.
15414
b4d83be3
RH
15415 * config/rx/rx.c (rx_match_ccmode): New.
15416 * config/rx/rx-protos.h: Update.
15417 * config/rx/rx.md (abssi2): Clobber, don't set flags.
15418 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
15419 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
15420 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
15421 (fix_truncsfsi2, floatsisf2): Likewise.
15422 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
15423 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
15424 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
15425 (*subsi3_flags, *xorsi3_flags): New.
15426
d0acb939
RH
15427 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
15428
c06fc3d9
RH
15429 * config/rx/rx.c (rx_print_operand): Remove workaround for
15430 unsplit comparison operations.
15431
2882702b
RH
15432 * config/rx/rx.md (movsicc): Split after reload.
15433 (*movsicc): Merge *movsieq and *movsine via match_operator.
15434 (*stcc): New pattern.
15435
6f7310f2
RH
15436 * config/rx/rx.c (rx_float_compare_mode): Remove.
15437 * config/rx/rx.h (rx_float_compare_mode): Remove.
15438 * config/rx/rx.md (cstoresi4): Split after reload.
15439 (*sccc): New pattern.
15440
e963cb1a
RH
15441 * config/rx/predicates.md (label_ref_operand): New.
15442 (rx_z_comparison_operator): New.
15443 (rx_zs_comparison_operator): New.
15444 (rx_fp_comparison_operator): New.
15445 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
15446 Validate that the flags are set properly for the comparison.
15447 (rx_gen_cond_branch_template): Remove.
15448 (rx_cc_modes_compatible): Remove.
15449 (mode_from_flags): New.
15450 (flags_from_code): Rename from flags_needed_for_conditional.
15451 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
15452 (rx_select_cc_mode): Likewise.
15453 (rx_split_fp_compare): New.
15454 (rx_split_cbranch): New.
15455 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
15456 (*cbranchsi4): Use match_operator and rx_split_cbranch.
15457 (*cbranchsf4): Similarly.
15458 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
15459 match_operator and rx_split_cbranch.
15460 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
15461 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
15462 (*cmpsi): Rename from cmpsi.
15463 (*tstsi): Rename from tstsi.
15464 (*cmpsf): Rename from cmpsf; use CC_Fmode.
15465 (*conditional_branch): Rename from conditional_branch.
15466 (*reveresed_conditional_branch): Remove.
15467 (b<code>): Remove expander.
15468 * config/rx/rx-protos.h: Update.
15469
af530bb4
RH
15470 * config/rx/rx.c (rx_compare_redundant): Remove.
15471 * config/rx/rx.md (cmpsi): Don't use it.
15472 * config/rx/rx-protos.h: Update.
15473
27bf36f3
RH
15474 * config/rx/rx-modes.def (CC_F): New mode.
15475 * config/rx/rx.c (rx_select_cc_mode): New.
15476 * config/rx/rx.h (SELECT_CC_MODE): Use it.
15477 * config/rx/rx-protos.h: Update.
15478
d7fde127
RH
154792011-01-17 Richard Henderson <rth@redhat.com>
15480
15481 * except.c (dump_eh_tree): Fix stray ; after for statement.
15482
6ff38230
RG
154832011-01-17 Richard Guenther <rguenther@suse.de>
15484
15485 PR tree-optimization/47313
15486 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
15487 handling before copying the body. Properly deal with
15488 by-reference result in SSA form.
15489
114ce554
ILT
154902011-01-17 Ian Lance Taylor <iant@google.com>
15491
bf5cd92b 15492 PR target/47219
114ce554
ILT
15493 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
15494 (struct_value_alias_set): Don't define.
15495 (sparc_option_override): Don't set sparc_sr_alias_set and
15496 struct_value_alias_set.
15497 (save_or_restore_regs): Use gen_frame_mem rather than calling
15498 set_mem_alias_set.
15499 (sparc_struct_value_rtx): Likewise.
15500
98c6d93c
L
155012011-01-17 H.J. Lu <hongjiu.lu@intel.com>
15502
15503 PR target/47318
7a81008b 15504 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
15505 (_mm_maskstore_pd): Likewise.
15506 (_mm_maskload_ps): Likewise.
15507 (_mm_maskstore_ps): Likewise.
15508 (_mm256_maskload_pd): Change mask to __m256i.
15509 (_mm256_maskstore_pd): Likewise.
15510 (_mm256_maskload_ps): Likewise.
15511 (_mm256_maskstore_ps): Likewise.
15512
15513 * config/i386/i386-builtin-types.def: Updated.
15514 (ix86_expand_special_args_builtin): Likewise.
15515
15516 * config/i386/i386.c (bdesc_special_args): Update
15517 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
15518 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
15519 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
15520 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
15521
15522 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
15523 Use <avxpermvecmode> on mask register.
15524 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
15525
b9361af2 155262011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
15527 Michael Haubenwallner <michael.haubenwallner@salomon.at>
15528 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
15529
15530 PR target/46655
15531 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
15532 if <= USHRT_MAX in 32-bit mode.
15533
b7ae9eb5
RW
155342011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15535
15536 * doc/install.texi (Configuration, Specific): Wrap long
15537 lines in examples. Allow line wrapping in long options
15538 and URLs where beneficial for PDF output.
15539
4377fad9
RS
155402011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
15541
15542 * config/mips/mips.c (mips_classify_symbol): Don't return
15543 SYMBOL_PC_RELATIVE for nonlocal labels.
15544
55959ffa 155452011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 15546
55959ffa
EB
15547 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
15548
155492011-01-15 Jan Hubicka <jh@suse.cz>
15550
15551 PR tree-optimization/47276
be46831f
JH
15552 * ipa.c (function_and_variable_visibility): Do not try to mark alias
15553 declarations as needed.
15554
05842ff5
MJ
155552011-01-15 Martin Jambor <mjambor@suse.cz>
15556
15557 * common.opt (fdevirtualize): New flag.
15558 * doc/invoke.texi (Option Summary): Document it.
15559 * opts.c (default_options_table): Add devirtualize flag.
15560 * ipa-prop.c (detect_type_change): Return immediately if
15561 devirtualize flag is not set.
15562 (detect_type_change_ssa): Likewise.
15563 (compute_known_type_jump_func): Likewise.
15564 (ipa_analyze_virtual_call_uses): Likewise.
15565
f65cf2b7
MJ
155662011-01-14 Martin Jambor <mjambor@suse.cz>
15567
15568 PR tree-optimization/45934
15569 PR tree-optimization/46302
15570 * ipa-prop.c (type_change_info): New type.
15571 (stmt_may_be_vtbl_ptr_store): New function.
15572 (check_stmt_for_type_change): Likewise.
15573 (detect_type_change): Likewise.
15574 (detect_type_change_ssa): Likewise.
15575 (compute_complex_assign_jump_func): Check for dynamic type change.
15576 (compute_complex_ancestor_jump_func): Likewise.
15577 (compute_known_type_jump_func): Likewise.
15578 (compute_scalar_jump_functions): Likewise.
15579 (ipa_analyze_virtual_call_uses): Likewise.
15580 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
15581
eb5bb0fd
JM
155822011-01-14 Joseph Myers <joseph@codesourcery.com>
15583
15584 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
15585 * config/i386/i386.opt (msse5): New Alias.
15586
f2060fbe
JM
155872011-01-14 Joseph Myers <joseph@codesourcery.com>
15588
15589 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
15590 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15591 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15592 * config/sparc/sparc.h (CC1_SPEC): Likewise.
15593
3a7b4385
JM
155942011-01-14 Joseph Myers <joseph@codesourcery.com>
15595
15596 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
15597 -mcpu options.
15598 * config/sparc/linux64.h (CC1_SPEC): Likewise.
15599 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
15600 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
15601 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
15602 Likewise.
15603 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
15604
a7b778f8
JM
156052011-01-14 Joseph Myers <joseph@codesourcery.com>
15606
38be4072 15607 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 15608
a7edae0a
MS
156092011-01-14 Mike Stump <mikestump@comcast.net>
15610
15611 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
15612 * config/fr30/fr30.md: Likweise
15613 (movsi_push): Likewise.
15614 (movsi_pop): Likewise.
15615 (enter_func): Likewise.
15616 * config/moxie/moxie.md (movsi_push): Likewise.
15617 (movsi_pop): Likewise.
15618
cbabf03f
JM
156192011-01-14 Joseph Myers <joseph@codesourcery.com>
15620
15621 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
15622 %{no_archive} %{exact_version}.
15623 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
15624 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
15625 %{no_archive} %{exact_version}.
15626 * config/mips/openbsd.h (LINK_SPEC): Likewise.
15627 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
15628 * config/mips/vxworks.h: Likewise.
15629
438da41a
JM
156302011-01-14 Joseph Myers <joseph@codesourcery.com>
15631
38be4072 15632 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 15633
da290a42
JM
156342011-01-14 Joseph Myers <joseph@codesourcery.com>
15635
15636 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
15637 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
15638
8989d00e
JM
156392011-01-14 Joseph Myers <joseph@codesourcery.com>
15640
15641 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
15642 -nodefaultlib.
15643
a3010a69
JM
156442011-01-14 Joseph Myers <joseph@codesourcery.com>
15645
15646 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
15647 for mcpu not cpu.
15648 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
15649 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
15650 not cpu.
15651 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
15652 Don't handle -shlib.
15653
e7f2f537
JM
156542011-01-14 Joseph Myers <joseph@codesourcery.com>
15655
15656 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
15657 (CC1_SPEC): Don't handle -profile.
15658
34830bfd
JM
156592011-01-14 Joseph Myers <joseph@codesourcery.com>
15660
15661 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
15662 * config/mips/mips.h (CC1_SPEC): Likewise.
15663
b2d36e74
JM
156642011-01-14 Joseph Myers <joseph@codesourcery.com>
15665
15666 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
15667 * config/mips/mips.h (CC1_SPEC): Likewise.
15668
dabadc52
JM
156692011-01-14 Joseph Myers <joseph@codesourcery.com>
15670
15671 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
15672 * config/m32r/linux.h (LINK_SPEC): Likewise.
15673 * config/mips/linux.h (LINK_SPEC): Likewise.
15674 * config/mips/linux64.h (LINK_SPEC): Likewise.
15675 * config/sparc/linux.h (LINK_SPEC): Likewise.
15676 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
15677 LINK_SPEC): Likewise.
15678 * config/xtensa/linux.h (LINK_SPEC): Likewise.
15679
43ee6785
JM
156802011-01-14 Joseph Myers <joseph@codesourcery.com>
15681
15682 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
15683 %{version:-v}.
15684 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
15685
45e79dfd
JM
156862011-01-14 Joseph Myers <joseph@codesourcery.com>
15687
15688 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
15689 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
15690
37e9e71d
JM
156912011-01-14 Joseph Myers <joseph@codesourcery.com>
15692
15693 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
15694
bb127cd8
RO
156952011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15696
15697 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
15698 supports -Bstatic/-Bdynamic.
15699 * configure: Regenerate.
15700
89a012ea 157012011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 15702 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
15703
15704 PR target/46037
15705 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
15706 when checking debug_info_level. Test write_symbols instead of
15707 debug_hooks->var_location when setting flag_var_tracking_uninit.
15708
7352c013
RG
157092011-01-14 Richard Guenther <rguenther@suse.de>
15710
15711 PR tree-optimization/47179
15712 * target.def (ref_may_alias_errno): New target hook.
15713 * targhooks.h (default_ref_may_alias_errno): Declare.
15714 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
15715 (default_ref_may_alias_errno): New function.
15716 * target.h (struct ao_ref_s): Declare.
15717 * tree-ssa-alias.c: Include target.h.
15718 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
15719 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
15720 (targhooks.o): Likewise.
15721 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
15722 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
15723
9a6c9288
RG
157242011-01-14 Richard Guenther <rguenther@suse.de>
15725
15726 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
15727
0fdb0d27
RG
157282011-01-14 Richard Guenther <rguenther@suse.de>
15729
15730 PR tree-optimization/47280
15731 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
15732 return CFG changes.
15733 (tree_ssa_forward_propagate_single_use_vars): Deal with
15734 CFG changes from associate_plusminus.
15735
8f66db3b
RG
157362011-01-14 Richard Guenther <rguenther@suse.de>
15737
15738 PR middle-end/47281
15739 Revert
15740 2011-01-11 Richard Guenther <rguenther@suse.de>
15741
280d9630
EB
15742 PR tree-optimization/46076
15743 * tree-ssa.c (useless_type_conversion_p): Conversions from
15744 unprototyped to empty argument list function types are useless.
8f66db3b 15745
6c0c92e6
RG
157462011-01-14 Richard Guenther <rguenther@suse.de>
15747
15748 PR tree-optimization/47286
280d9630 15749 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 15750
db09f943
MJ
157512011-01-14 Martin Jambor <mjambor@suse.cz>
15752
15753 PR middle-end/46823
15754 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
15755
dde8a3a4
AS
157562011-01-13 Anatoly Sokolov <aesok@post.ru>
15757
15758 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
15759 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
15760 * config/xtensa/xtensa.c (xtensa_libcall_value,
15761 xtensa_function_value_regno_p): New functions.
15762 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
15763
a2b63a20
KT
157642011-01-13 Kai Tietz <kai.tietz@onevision.com>
15765
15766 PR c++/47213
15767 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
15768 PE specific hook.
15769 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
15770 New function prototype.
15771 * config/i386/winnt.c (i386_pe_assemble_visibility):
15772 Warn only if attribute was specified by user.
15773
b41f0b34
MM
157742011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
15775
15776 PR target/47251
15777 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
15778 floating point.
15779 (floatunsdidf2_fcfidu): Ditto.
15780
3f3c098d
AK
157812011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
15782
15783 * config/s390/s390.c (print_operand_address): Replace 'error' with
15784 'output_operand_lossage'.
15785 (print_operand): Likewise.
15786
29fa95ed
JL
157872011-01-13 Jeff Law <law@redhat.com>
15788
280d9630 15789 PR rtl-optimization/39077
29fa95ed
JL
15790 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
15791 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
15792 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
15793 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
15794 * gcse.c (prune_insertions_deletions): New function.
15795 (compute_pre_data): Use it.
15796
71d12276
DS
157972011-01-13 Dodji Seketeli <dodji@redhat.com>
15798
15799 PR debug/PR46973
15800 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
15801 static function.
61052244 15802 (prune_unused_types_mark): Use it.
71d12276 15803
9b0f04e7
AB
158042011-01-13 Andrey Belevantsev <abel@ispras.ru>
15805
15806 PR rtl-optimization/45352
1c3ba85b 15807 * sel-sched.c: Update copyright years.
9b0f04e7 15808 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 15809 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 15810
d6a3e264
RH
158112011-01-12 Richard Henderson <rth@redhat.com>
15812
a49b692a
RH
15813 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
15814 (TARGET_MD_ASM_CLOBBERS): New.
15815
126b1483
RH
15816 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
15817 (TARGET_DELEGITIMIZE_ADDRESS): New.
15818
f3d9d2e0
RH
15819 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
15820 (clzsi2, *bsch): New patterns.
15821
d84760c9
RH
15822 * config/mn10300/mn10300.md (INT): New mode iterator.
15823 (*mov<INT>_clr): New pattern, and peep2 to generate it.
15824
ec815d65
RH
15825 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
15826 flag_split_wide_types.
15827
d6a3e264
RH
15828 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
15829 (mn10300_trampoline_init): Rewrite without a template, an immediate
15830 load and a direct branch.
15831 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
15832
0f8ab434
AS
158332011-01-12 Anatoly Sokolov <aesok@post.ru>
15834
15835 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
15836 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
15837 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
15838 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
15839
d8a24b65
KT
158402011-01-12 Kai Tietz <kai.tietz@onevision.com>
15841
15842 PR debug/47209
15843 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
15844 of type.
15845
56e22cab
JH
158462011-01-12 Jan Hubicka <jh@suse.cz>
15847
15848 PR driver/47244
15849 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
15850 (PLUGIN_COND_CLOSE): New macro.
15851 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
15852
4b18b3c2
RG
158532011-01-12 Richard Guenther <rguenther@suse.de>
15854
15855 PR lto/47259
15856 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
15857 register variables in a MEM_REF.
15858
8e38461c
JM
158592011-01-12 Joseph Myers <joseph@codesourcery.com>
15860
15861 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
15862 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
15863 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
15864 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
15865 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
15866 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
15867 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
15868 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
15869 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
15870 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
15871 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
15872 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
15873 * config/gnu-user.h: New. Copied from linux.h.
15874 (LINUX_TARGET_STARTFILE_SPEC): Rename to
15875 GNU_USER_TARGET_STARTFILE_SPEC.
15876 (LINUX_TARGET_ENDFILE_SPEC): Rename to
15877 GNU_USER_TARGET_ENDFILE_SPEC.
15878 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
15879 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
15880 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
15881 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
15882 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
15883 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
15884 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
15885 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
15886 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
15887 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
15888 * config/arm/linux-eabi.h (CC1_SPEC): Use
15889 GNU_USER_TARGET_CC1_SPEC.
15890 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
15891 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
15892 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
15893 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
15894 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
15895 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
15896 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
15897 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
15898
a570fc16
RG
158992011-01-12 Richard Guenther <rguenther@suse.de>
15900
15901 PR other/46946
15902 * doc/invoke.texi (ffast-math): Document it is turned on
15903 with -Ofast.
15904
b0223c3e
JH
159052011-01-12 Jan Hubicka <jh@suse.cz>
15906
15907 PR tree-optimization/47233
ca1e00b3
EB
15908 * opts.c (common_handle_option): Disable ipa-reference with profile
15909 feedback.
b0223c3e 15910
1c3ba85b 159112011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
15912
15913 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
15914 error message.
15915
d853ee42
NP
159162011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
15917
15918 * c-parser.c (c_lex_one_token): Updated and reindented some
15919 comments. No changes in code.
15920
4053a5a0
ILT
159212011-01-11 Ian Lance Taylor <iant@google.com>
15922
15923 * godump.c (go_output_var): Don't output the variable if there is
15924 already a type with the same name.
15925
fa3e04d2
ILT
159262011-01-11 Ian Lance Taylor <iant@google.com>
15927
15928 * godump.c (go_format_type): Don't generate float80.
15929
885fe07c
RH
159302011-01-11 Richard Henderson <rth@redhat.com>
15931
72d6e3c5
RH
15932 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
15933 declaration. Rewrite for both speed and size.
15934 (mn10300_address_cost_1): Remove.
15935 (mn10300_register_move_cost): New.
15936 (mn10300_memory_move_cost): New.
15937 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
15938 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
15939 extensions, shifts, BSWAP, CLZ.
15940 (mn10300_wide_const_load_uses_clr): Remove.
15941 (TARGET_REGISTER_MOVE_COST): New.
15942 (TARGET_MEMORY_MOVE_COST): New.
15943 * config/mn10300/mn10300-protos.h: Update.
15944 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
15945
df37c023
RH
15946 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
15947 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
15948 * config/mn10300/mn10300-protos.h: Update.
15949 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
15950 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
15951 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
15952 (*test_int_bitfield, *test_byte_bitfield): Remove.
15953 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 15954 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 15955
85a337b5
RH
15956 * config/mn10300/constraints.md ("c"): Rename from "A".
15957 ("A", "D"): New constraint letters.
15958 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
15959 (fmssf4, fnmasf4, fnmssf4): Likewise.
15960
a5c727e3
RH
15961 * config/mn10300/mn10300.md (isa): New attribute.
15962 (enabled): New attribute.
15963
0d9e23f4
RH
15964 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
15965 (abssf2, negsf2): Define only for hardware fp.
15966 (sqrtsf2): Reformat.
15967 (addsf3, subsf3, mulsf3): Merge expander and insn.
15968
c157b3f0
RH
15969 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
15970 (DEBUGGER_AUTO_OFFSET): Remove.
15971 (DEBUGGER_ARG_OFFSET): Remove.
15972
cc909bba
RH
15973 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
15974 Emit register stores with the same offsets as the hardware.
15975 (mn10300_store_multiple_operation): Don't check that the register
15976 save offsets are monotonic.
15977 * config/mn10300/mn10300-protos.h: Update.
15978
e3b5c2f3
RH
15979 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
15980
885fe07c
RH
15981 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
15982 in terms of the value on the stack, not the MDR register.
15983
6e701822
JH
159842011-01-11 Jan Hubicka <jh@suse.cz>
15985
15986 PR lto/45721
15987 PR lto/45375
15988 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
15989 (symbol_alias_set_destroy, symbol_alias_set_contains,
15990 propagate_aliases_backward): Declare.
15991 * lto-streamer-out.c (struct sets): New sturcture.
15992 (trivally_defined_alias): New function.
15993 (output_alias_pair_p): Rewrite.
15994 (output_unreferenced_globals): Fix output of alias pairs.
15995 (produce_symtab): Likewise.
15996 * ipa.c (function_and_variable_visibility): Set weak alias destination
15997 as needed in lto.
15998 * varasm.c (symbol_alias_set_t): Remove.
15999 (symbol_alias_set_destroy): Export.
16000 (propagate_aliases_forward, propagate_aliases_backward): New functions
16001 based on ...
16002 (compute_visible_aliases): ... this one; remove.
16003 (trivially_visible_alias): New
16004 (trivially_defined_alias): New.
16005 (remove_unreachable_alias_pairs): Rewrite.
16006 (finish_aliases_1): Reorganize code checking if alias is defined.
16007 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
16008 in LTO mode.
16009
1b248907
RG
160102011-01-11 Richard Guenther <rguenther@suse.de>
16011
16012 PR tree-optimization/46076
16013 * tree-ssa.c (useless_type_conversion_p): Conversions from
16014 unprototyped to empty argument list function types are useless.
16015
b1923f0a
RG
160162011-01-11 Richard Guenther <rguenther@suse.de>
16017
16018 PR middle-end/45235
16019 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
16020 volatile MEMs as MEM_READONLY_P.
16021
e98965af
RG
160222011-01-11 Richard Guenther <rguenther@suse.de>
16023
16024 PR tree-optimization/47239
16025 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
16026
9f9ca914
JL
160272011-01-11 Jeff Law <law@redhat.com>
16028
1ee3ea05 16029 PR tree-optimization/47086
9f9ca914
JL
16030 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
16031 IVs from statements that might throw.
16032
345fdcb7
JH
160332011-01-10 Jan Hubicka <jh@suse.cz>
16034
16035 PR lto/45375
16036 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
16037
c459c97b
JH
160382011-01-10 Jan Hubicka <jh@suse.cz>
16039
16040 PR lto/45375
16041 * profile.c (read_profile_edge_counts): Ignore profile inconistency
16042 when correcting profile.
16043
06c9eb51
JH
160442011-01-10 Jan Hubicka <jh@suse.cz>
16045
16046 PR lto/46083
16047 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
16048 DECL_FINI_PRIORITY.
16049 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
16050 Restore DECL_FINI_PRIORITY.
16051
ae9fd815
RW
160522011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16053
16054 * doc/gimple.texi: Fix quoting of multi-word return values in
16055 @deftypefn statements. Ensure presence of return value. Wrap
16056 overlong @deftypefn lines.
16057 (is_gimple_operand, is_gimple_min_invariant_address): Remove
16058 descriptions of removed functions.
16059 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
16060 of multi-word return value in @deftypefn statement.
16061
0ecb4a7c
RW
160622011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16063
16064 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
16065 (Conditional Expressions, Logical Operators)
16066 (Statement and operand traversals): Do not indent smallexample
16067 code. Fix duplicate function argument in example.
16068
2e5e346d
JL
160692011-01-10 Jeff Law <law@redhat.com>
16070
1ee3ea05 16071 PR tree-optimization/47141
2e5e346d
JL
16072 * ipa-split.c (split_function): Handle case where we are
16073 returning a value and the return block has a virtual operand phi.
16074
cf9712cc
JH
160752011-01-10 Jan Hubicka <jh@suse.cz>
16076
1c3ba85b 16077 PR tree-optimization/47234
cf9712cc
JH
16078 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
16079 (pass_feedback_split_functions): Declare.
16080 * passes.c (init_optimization_passes): Add ipa-split as subpass of
16081 tree-profile.
16082 * ipa-split.c (gate_split_functions): Update comments; disable
16083 split-functions for profile_arc_flag and branch_probabilities.
16084 (gate_feedback_split_functions): New function.
16085 (execute_feedback_split_functions): New function.
16086 (pass_feedback_split_functions): New global var.
16087
94cd932c
L
160882011-01-10 H.J. Lu <hongjiu.lu@intel.com>
16089
16090 PR lto/46760
16091 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
16092 calling gimple_call_set_cannot_inline.
16093
fbbfcaf1
IS
160942011-01-10 Iain Sandoe <iains@gcc.gnu.org>
16095
16096 * config/darwin-sections.def: Remove unused section.
16097
d06865bf
DK
160982011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
16099
16100 PR c++/47218
16101 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
16102
96bbfbac
NP
161032011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
16104
16105 PR objc/47232
16106 * c-parser.c (c_parser_declaration_or_fndef): Improved
16107 error message.
16108
1ba6516f
KT
161092011-01-09 Kai Tietz <kai.tietz@onevision.com>
16110
16111 * config/i386/winnt.c (i386_pe_start_function): Make sure
16112 to switch back to function's section.
16113
0c5d770e
IS
161142011-01-09 Iain Sandoe <iains@gcc.gnu.org>
16115
16116 PR gcc/46902
16117 PR testsuite/46912
16118 * plugin.c: Move include of dlfcn.h from here...
16119 * system.h: ... to here.
16120
161212011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
16122
16123 * doc/cpp.texi (C++ Named Operators): Fix markup for header
16124 file name.
16125 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
16126 two extra empty pages in PDF output.
16127
046608a3
NP
161282011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
16129
16130 PR objc/47078
16131 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
16132 for error recovery purposes behave as if it was not specified so
16133 that the default type is usd.
16134
8cb114b9
JH
161352011-01-07 Jan Hubicka <jh@suse.cz>
16136
16137 PR tree-optmization/46469
16138 * ipa.c (function_and_variable_visibility): Clear needed flags on
16139 nodes with external decls; handle weakrefs merging correctly.
16140
b294a75e
JM
161412011-01-07 Joseph Myers <joseph@codesourcery.com>
16142
16143 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
16144 not false.
16145
96bdf9b4
JH
161462011-01-07 Jan Hubicka <jh@suse.cz>
16147
f60c2554 16148 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
16149 and no longer claim that gold is required for linker plugin.
16150 * configure: Regenerate.
16151 * gcc.c (PLUGIN_COND): New macro.
16152 (LINK_COMMAND_SPEC): Use it.
16153 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
16154 * config.in (HAVE_LTO_PLUGIN): New.
16155 * configure.ac (--with-lto-plugin): New parameter; autodetect
16156 HAVE_LTO_PLUGIN.
16157
17afc0fe
JH
161582011-01-07 Jan Hubicka <jh@suse.cz>
16159
16160 PR tree-optimization/46367
16161 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
16162 when we can update original.
16163 (cgraph_mark_inline_edge): Sanity check.
16164 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
16165
d4c48c0f
UW
161662011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16167
16168 * config/spu/spu.h (ASM_COMMENT_START): Define.
16169
96f5b137
L
161702011-01-07 H.J. Lu <hongjiu.lu@intel.com>
16171
16172 PR driver/42445
16173 * gcc.c (%>S): New.
16174 (SWITCH_KEEP_FOR_GCC): Likewise.
16175 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
16176 (do_spec_1): Handle "%>".
16177
16178 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
16179
c6a8f6de
JJ
161802011-01-07 Jakub Jelinek <jakub@redhat.com>
16181
c21bbd7a
JJ
16182 PR target/47201
16183 * config/i386/i386.c (ix86_delegitimize_address): If
16184 simplify_gen_subreg fails, return orig_x.
16185
c6a8f6de
JJ
16186 PR bootstrap/47187
16187 * value-prof.c (gimple_stringop_fixed_value): Handle
16188 lhs of the call properly.
16189
fe95fbf9
JH
161902011-01-07 Jan Hubicka <jh@suse.cz>
16191
16192 PR lto/45375
16193 * lto-opt.c (lto_reissue_options): Set flag_shlib.
16194
14d11d40
IS
161952011-01-07 Iain Sandoe <iains@gcc.gnu.org>
16196
72e961c8
EB
16197 * target.def (function_switched_text_sections): New hook.
16198 * doc/tm.texi: Regenerated.
16199 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 16200 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
16201 (final_scan_insn): Call function_switched_text_sections when a
16202 mid-function section change occurs.
14d11d40 16203 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
16204 * config/darwin-protos.h (darwin_function_switched_text_sections):
16205 Likewise.
14d11d40 16206 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 16207 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 16208
0b764288
IS
162092011-01-07 Iain Sandoe <iains@gcc.gnu.org>
16210
16211 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
16212 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
16213 the secondary code fragment when outputting for DWARF == 2.
16214
2ac6bb04
AS
162152011-01-07 Anatoly Sokolov <aesok@post.ru>
16216
16217 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
16218 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
16219 Remove.
16220 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
16221 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
16222
9f82de11
EB
162232011-01-06 Eric Botcazou <ebotcazou@adacore.com>
16224
16225 PR debug/46704
280d9630
EB
16226 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
16227 when it is not empty.
9f82de11
EB
16228
162292011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 16230
1ed72abf 16231 Bobcat Enablement
14b52538 16232 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 16233 (case ${target}): Add btver1.
14b52538 16234 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 16235 -march=native recognize btver1 processors.
14b52538 16236 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 16237 btver1 def_and_undef
14b52538 16238 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
16239 btver1 cost table.
16240 (m_BTVER1): New definition.
16241 (m_AMD_MULTIPLE): Includes m_BTVER1.
16242 (initial_ix86_tune_features): Add btver1 tune.
16243 (processor_target_table): Add btver1 entry.
16244 (static const char *const cpu_names): Add btver1 entry.
16245 (software_prefetching_beneficial_p): Add btver1.
16246 (ix86_option_override_internal): Add btver1 instruction sets.
16247 (ix86_issue_rate): Add btver1.
16248 (ix86_adjust_cost): Add btver1.
14b52538 16249 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
16250 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
16251 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
16252 * config/i386/i386.md (define_attr "cpu"): Add btver1.
16253
e1a973d8
RO
162542011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16255
16256 PR target/43309
16257 * config/i386/i386.c (legitimize_tls_address)
16258 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
16259 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
16260 (tls_initial_exec_64_sun): New pattern.
16261
c73f67c5
GP
162622011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
16263
16264 * doc/invoke.texi (Overall Options): Improve wording and markup
16265 of the description of -wrapper.
16266
bc4c6f9c
JM
162672011-01-06 Joseph Myers <joseph@codesourcery.com>
16268
16269 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
16270 rdynamic, threads): New Driver options.
16271
adb75db0
RO
162722011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16273
16274 PR target/38118
16275 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
16276 if coming from .tdata.
16277 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
16278
402c1cb4
JH
162792011-01-06 Jan Hubicka <jh@suse.cz>
16280
16281 PR lto/47188
16282 * collect2.c (main): Do not enable LTOmode when plugin is active.
16283
a4da6485
RO
162842011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16285
16286 PR other/45915
16287 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
16288 --version output if supported.
16289 * configure: Regenerate.
16290
028dbdf4
JM
162912011-01-06 Joseph Myers <joseph@codesourcery.com>
16292
16293 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
16294 Driver options.
16295
dfe776dd
JJ
162962011-01-06 Jakub Jelinek <jakub@redhat.com>
16297
16298 PR c/47150
16299 * c-convert.c (convert): When converting a complex expression
16300 other than COMPLEX_EXPR to a different complex type, ensure
16301 c_save_expr is called instead of save_expr, unless in_late_binary_op.
16302 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
16303 when converting COMPLEX_TYPE.
16304
210dedfe
IR
163052011-01-06 Ira Rosen <irar@il.ibm.com>
16306
16307 PR tree-optimization/47139
16308 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
16309 only the last reduction value is used outside the loop. Update
16310 documentation.
16311
cd33a412
JM
163122011-01-05 Joseph Myers <joseph@codesourcery.com>
16313
16314 * config/rtems.opt: New.
16315 * config.gcc (*-*-rtems*): Use rtems.opt.
16316
819edd94
CF
163172011-01-05 Changpeng Fang <changpeng.fang@amd.com>
16318
16319 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
16320 processors do not support 3DNow instructions.
16321
dc242c4a
UW
163222011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16323
16324 * config/spu/spu.c (spu_option_override): Set parameter
16325 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
16326
be286227
JH
163272011-01-05 Jan Hubicka <jh@suse.cz>
16328
16329 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
16330 at the command line.
16331
644e637f
MJ
163322011-01-05 Martin Jambor <mjambor@suse.cz>
16333
16334 PR lto/47162
16335 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
16336 deltas on streamed outgoing edges.
16337 (output_node_opt_summary): Output info for outgoing edges only when
16338 the node is in new parameter set.
16339 (output_cgraph_opt_summary): New parameter set, passed to the two
16340 aforementioned functions. Update its forward declaration and its
16341 callee too.
16342
7bd11157
TT
163432011-01-05 Tom Tromey <tromey@redhat.com>
16344
16345 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
16346 operator to c_finish_omp_atomic.
16347 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
16348 (build_unary_op): Update.
16349 (build_modify_expr): Update.
16350 (build_asm_expr): Update.
16351
f626b979
UW
163522011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16353
16354 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
16355 newly inserted insns.
16356 (pad_bb): Likewise.
16357 (spu_emit_branch_hint): Likewise.
16358 (insert_hbrp_for_ilb_runout): Likewise.
16359 (spu_machine_dependent_reorg): Call df_finish_pass after
16360 schedule_insns returns.
16361
4c825c02
UW
163622011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16363
16364 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
16365
5e9fba51
EB
163662011-01-05 Eric Botcazou <ebotcazou@adacore.com>
16367
16368 PR tree-optimization/47005
16369 * tree-sra.c (struct access): Add 'non_addressable' bit.
16370 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
16371 (decide_one_param_reduction): Return 0 if the parameter is passed by
16372 reference and one of the accesses in the group is non_addressable.
16373
3ebb5ca6
EB
163742011-01-04 Eric Botcazou <ebotcazou@adacore.com>
16375
16376 PR tree-optimization/47056
16377 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
16378 (mark_load): Likewise. Handle FUNCTION_DECL specially.
16379 (mark_store): Likewise. Pass STMT to ipa_record_reference.
16380
d5d4d14e
EB
163812011-01-04 Eric Botcazou <ebotcazou@adacore.com>
16382
16383 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
16384 initializer. Skip view conversions from aggregate types.
16385
d996ef70
KT
163862011-01-04 Kai Tietz <kai.tietz@onevision.com>
16387
16388 PR bootstrap/47055
16389 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
16390
509d65dd 163912011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
16392
16393 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
16394 obvious typo.
16395
55c623b5
UW
163962011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16397
16398 * function.c (thread_prologue_and_epilogue_insns): Do not crash
16399 on empty epilogue sequences.
16400
b98d6b35
JM
164012011-01-04 Joseph Myers <joseph@codesourcery.com>
16402
16403 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
16404 non-static): New Driver options.
16405
a0d43bac
JZ
164062011-01-04 Jie Zhang <jie@codesourcery.com>
16407
16408 PR driver/47137
16409 * gcc.c (default_compilers[]): Set combinable field to 0
16410 for all assembly languages.
16411
2b18eb32
MX
164122011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
16413
16414 * config/mips/loongson3a.md: New file.
16415 * config/mips/mips.md: Include loongson3a.md.
16416 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
16417 TUNE_LOONGSON_3A.
16418
42a48c4f
EB
164192011-01-03 Eric Botcazou <ebotcazou@adacore.com>
16420
16421 PR middle-end/47017
16422 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
16423 instead of convert_memory_address_addr_space on the base expression.
16424
9c1732c4
UW
164252011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16426
16427 * config/spu/spu.c (spu_option_override): Update error text
16428 for bad -march= / -mtune= values.
16429
aa474365
UW
164302011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
16431
16432 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
16433 if branch-hint optimization will be performed.
16434
9766135b
JJ
164352011-01-03 Jakub Jelinek <jakub@redhat.com>
16436
371556ee
JJ
16437 PR tree-optimization/47148
16438 * ipa-split.c (split_function): Convert arguments to
16439 DECL_ARG_TYPE if possible.
16440
1ac12fa2
JJ
16441 PR tree-optimization/47155
16442 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
16443 when computing uns.
16444
9766135b
JJ
16445 PR rtl-optimization/47157
16446 * combine.c (try_combine): If undobuf.other_insn becomes
16447 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
16448 and set *new_direct_jump_p too.
16449
f4a2e571
SP
164502011-01-03 Sebastian Pop <sebastian.pop@amd.com>
16451
16452 PR tree-optimization/47021
16453 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
16454
9f8e43c0
JJ
164552011-01-03 Jakub Jelinek <jakub@redhat.com>
16456
16457 * gcc.c (process_command): Update copyright notice dates.
16458 * gcov.c (print_version): Likewise.
16459 * gcov-dump.c (print_version): Likewise.
16460 * mips-tfile.c (main): Likewise.
16461 * mips-tdump.c (main): Likewise.
16462
1a2e38f3
MJ
164632011-01-03 Martin Jambor <mjambor@suse.cz>
16464
16465 PR tree-optimization/46801
16466 * tree-sra.c (type_internals_preclude_sra_p): Check whether
16467 aggregate fields start at byte boundary instead of the bit-field flag.
16468
56b721c5
L
164692011-01-03 H.J. Lu <hongjiu.lu@intel.com>
16470
16471 PR driver/47137
16472 * gcc.c (main): Revert revision 168407.
16473
839d549b
MJ
164742011-01-03 Martin Jambor <mjambor@suse.cz>
16475
16476 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
16477
4ce99a20 164782011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
16479
16480 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
16481 vector optab to expand vector/scalar shift, update gimple to vector.
16482
76df0ae6
MJ
164832011-01-03 Martin Jambor <mjambor@suse.cz>
16484
16485 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
16486 a thunk.
16487
ce47fda3
MJ
164882011-01-03 Martin Jambor <mjambor@suse.cz>
16489
16490 PR tree-optimization/46984
16491 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
16492 HOST_WIDE_INT.
16493 (cgraph_create_indirect_edge): Fixed line length.
16494 (cgraph_indirect_call_info): Declare.
16495 (cgraph_make_edge_direct) Update declaration.
16496 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
16497 (cgraph_create_indirect_edge): Use it.
16498 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
16499 callees.
16500 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
16501 the new thunk_delta representation.
16502 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
16503 HOST_WIDE_INT.
16504 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
16505 (ipa_read_indirect_edge_info): Likewise.
16506 * lto-cgraph.c (output_edge_opt_summary): New function.
16507 (output_node_opt_summary): Call it on all outgoing edges.
16508 (input_edge_opt_summary): New function.
16509 (input_node_opt_summary): Call it on all outgoing edges.
16510
1e67fa1f
L
165112011-01-02 H.J. Lu <hongjiu.lu@intel.com>
16512
16513 PR driver/47137
16514 * gcc.c (main): Don't check have_o when settting combine_inputs.
16515
6656b2ac
EB
165162011-01-02 Eric Botcazou <ebotcazou@adacore.com>
16517
16518 * regrename.c: Add general comment describing the pass.
16519 (struct du_head): Remove 'length' field.
16520 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
16521 (regrename_optimize): Do not sort chains. Rework comments, add others.
16522 Force renaming to the preferred class (if any) in the first pass and do
16523 not consider registers that belong to it in the second pass.
16524 (create_new_chain): Do not set 'length' field.
16525 (scan_rtx_reg): Likewise.
16526
bc470c24
JJ
165272011-01-02 Jakub Jelinek <jakub@redhat.com>
16528
4e996296
JJ
16529 PR tree-optimization/47140
16530 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
16531 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
16532 to bit_value_binop.
16533
bc470c24 16534 PR rtl-optimization/47028
6656b2ac
EB
16535 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
16536 parm_birth_insn instead of at the beginning of first bb.
bc470c24 16537
5af62fcd 165382011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
16539
16540 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
16541 Remove the word "see" before "@pxref".
16542 * doc/rtl.texi: Remove the word "see" before "@pxref".
16543
0e20c89f
JH
165442011-01-01 Jan Hubicka <jh@suse.cz>
16545
6656b2ac
EB
16546 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
16547 memory.
0e20c89f 16548
220e83ca
KT
165492011-01-01 Kai Tietz <kai.tietz@onevision.com>
16550
16551 PR target/38662
6656b2ac 16552 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 16553
ad41bd84 16554\f
797103eb 16555Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
16556
16557Copying and distribution of this file, with or without modification,
16558are permitted in any medium without royalty provided the copyright
16559notice and this notice are preserved.