OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ChangeLog] - Blame information for rev 849

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 684 jeremybenn
2012-02-29  Eric Botcazou  
2
 
3
        * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
4
        DW_AT_artificial attributes at the end of the processing.
5
        (gen_array_type_die): Likewise.
6
        (gen_enumeration_type_die): Likewise.
7
        (gen_struct_or_union_type_die): Likewise.
8
        (add_gnat_descriptive_type_attribute): Do not suppress debug info for
9
        the parent type.
10
 
11
2012-02-29  Jakub Jelinek  
12
 
13
        PR middle-end/52419
14
        * expr.c (expand_assignment): If doing misaligned store that doesn't
15
        cover all mode bits, perform a RMW cycle.
16
 
17
        PR tree-optimization/52429
18
        * tree-parloops.c (separate_decls_in_region_debug): Return early
19
        if var is LABEL_DECL.
20
 
21
2012-02-29  Bill Schmidt  
22
 
23
        PR tree-optimization/52424
24
        * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
25
        calling dom_thread_across_edge.
26
 
27
2012-02-29  Georg-Johann Lay  
28
 
29
        * config/avr/avr.c: Move definition of TARGET macros to end of file.
30
 
31
2012-02-29  Georg-Johann Lay  
32
 
33
        * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
34
        * config/avr/avr.c (avr_output_bld): Remove unused function.
35
        (avr_out_sbxx_branch): Use "%T" to print bit position.
36
 
37
2012-02-29  Georg-Johann Lay  
38
 
39
        * config/avr/avr.md: Untabify.
40
 
41
2012-02-29  Georg-Johann Lay  
42
 
43
        * config/avr/avr.md (eqne): New code iterator.
44
        (*dec-and-branchsi): Use it in text peephole's condition.
45
        (*dec-and-branchhi): Ditto.
46
        (*dec-and-branchqi): Ditto.
47
 
48
2012-02-29  Georg-Johann Lay  
49
 
50
        PR target/49939
51
        * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
52
        the device does not have the skip-bug.
53
 
54
2012-02-29  Oleg Endo  
55
 
56
        * doc/invoke.texi (-msoft-atomic): Add more detailed description.
57
        (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
58
        -mpretend-cmove): New.
59
 
60
2012-02-29  Jakub Jelinek  
61
 
62
        PR bootstrap/52397
63
        * df.h (struct df_d): Adjust comment that hard_regs_live_count
64
        doesn't count DEBUG_INSN refs.
65
        * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
66
        for DEBUG_INSN refs.
67
 
68
2012-02-28  Ulrich Weigand  
69
 
70
        Partially revert:
71
 
72
        2012-02-20  Richard Guenther  
73
        PR tree-optimization/52298
74
        * tree-vect-stmts.c (vectorizable_load): Properly use
75
        STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
76
        outer loops.
77
 
78
2012-02-28  Aldy Hernandez  
79
 
80
        PR middle-end/51752
81
        * gimple.h (gimple_in_transaction): New.
82
        (gimple_set_in_transaction): New.
83
        (struct gimple_statement_base): Add in_transaction field.
84
        * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
85
        transaction loads.
86
        (tree_ssa_lim_initialize): Compute transaction bits.
87
        * tree.h (compute_transaction_bits): Protoize.
88
        * trans-mem.c (tm_region_init): Use the heap to store BB
89
        auxilliary data.
90
        (compute_transaction_bits): New.
91
 
92
2012-02-28  Bernhard Reutner-Fischer  
93
 
94
        * gcc.c (display_help): Document --help=common and sort entries
95
        alphabetically.
96
 
97
2012-02-28  Bernhard Reutner-Fischer  
98
 
99
        * doc/install.texi: Document check-$LANG specific shortcuts
100
 
101
2012-02-28  Matthew Gretton-Dann  
102
 
103
        PR target/51534
104
        * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
105
        and vcgtu.
106
        * config/arm/arm_neon.h: Regenerate.
107
        * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
108
        (neon_vcgeu): New insn.
109
        (neon_vcgtu): Likewise.
110
        * config/arm/neon.ml (s_8_32, u_8_32): New lists.
111
        (ops): Unsigned comparison intrinsics call a different
112
        builtin.
113
 
114
2012-02-28  Richard Guenther  
115
 
116
        PR target/52407
117
        * config/i386/i386.c (ix86_expand_vector_set): Fix element
118
        ordering for the VEC_CONCAT for two element vectors for
119
        V2SFmode, V2SImode and V2DImode.
120
 
121
2012-02-28  Richard Earnshaw  
122
 
123
        PR target/49448
124
        * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
125
        detecting big-endian triplets.
126
 
127
2012-02-28  Richard Earnshaw  
128
 
129
        * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
130
        mode if there is no type information available.
131
 
132
2012-02-28  Thomas Koenig  
133
 
134
        PR tree-optimization/53207
135
        * doc/invoke.texi: Document as experimental and relying on graphite.
136
 
137
2012-02-28  Georg-Johann Lay  
138
 
139
        * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
140
        of initializer to changes from r184614.
141
 
142
2012-02-28  Richard Guenther  
143
 
144
        PR tree-optimization/52395
145
        * tree-sra.c (build_ref_for_offset): Also look at the base
146
        TYPE_ALIGN when figuring out the alignment of the replacement.
147
 
148
2012-02-28  Richard Guenther  
149
 
150
        PR tree-optimization/52402
151
        * ipa-prop.c (ipa_modify_call_arguments): Properly use
152
        mis-aligned types when creating the accesses at the call site.
153
 
154
2012-02-28  Georg-Johann Lay  
155
 
156
        * config/avr/builtins.def: New file.
157
        * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
158
        * config/avr/avr.c (enum avr_builtin_id): Use it.
159
        (avr_init_builtins): Use it. And use avr_bdesc.
160
        (bdesc_1arg): Remove.
161
        (bdesc_2arg): Remove.
162
        (bdesc_3arg): Remove.
163
        (struct avr_builtin_description): Add field n_args.
164
        (avr_bdesc): New static variable using builtins.def.
165
        (avr_expand_builtin): Use it.
166
        Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
167
        (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
168
        Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
169
 
170
2012-02-28  Georg-Johann Lay  
171
 
172
        PR target/52148
173
        * config/avr/avr.md (movmem_): Replace match_operand that
174
        match only one single hard register with respective hard reg rtx.
175
        (movmemx_): Ditto.
176
        * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
177
        insn anatomy of movmem[x]_.
178
        (avr_out_movmem): Same for printing assembler and operand usage.
179
 
180
2012-02-28  Georg-Johann Lay  
181
 
182
        PR target/49868
183
        PR target/52261
184
        * doc/extend.texi (AVR Named Address Spaces): No more try to fix
185
        address spaces located outside of device flash.
186
 
187
        * config/avr/avr.h (base_arch_s): Remove field n_segments.
188
        (mcu_type_s): Add field n_flash.
189
        * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
190
        Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
191
        (AVR_MCU): Add N_FLASH argument.
192
        * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
193
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
194
        macro __FLASH if that address space makes sense for the device.
195
        * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
196
        outside of target flash.
197
        (avr_asm_named_section): Ditto.
198
        (avr_asm_select_section): Ditto.
199
        (avr_addr_space_convert): Ditto.
200
        (avr_emit_movmemhi): Ditto.
201
        (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
202
        address space is outside of device flash.
203
        (avr_insert_attributes): Ditto.
204
        (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
205
        avr_current_arch->n_segments.
206
 
207
2012-02-27  H.J. Lu  
208
 
209
        PR target/52352
210
        * config/i386/i386.md (*movabs_1): Enable only for
211
        TARGET_LP64.
212
        (*movabs_2): Likewise.
213
 
214
2012-02-27  Jakub Jelinek  
215
 
216
        PR target/52375
217
        * config/arm/neon.md (vashr3, vlshr3): Use
218
        s_register_operand in the test instead of REG_P.  Don't call
219
        gen_reg_rtx if it won't be used.
220
 
221
        PR tree-optimization/52376
222
        * ipa-split.c (split_function): Ignore CLOBBER stmts.
223
 
224
2012-02-27  Stuart Henderson  
225
 
226
        * ifcvt.c (noce_get_condition): Check condition variable is not
227
        small_register_classes_for_mode_p before accepting.
228
 
229
2012-02-27  Uros Bizjak  
230
 
231
        * config/i386/i386.md (*movabs_1): Fix operand 1 constraints.
232
 
233
2012-02-27  Matthew Gretton-Dann  
234
 
235
        Revert:
236
        2012-01-09  Matthew Gretton-Dann  
237
        * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
238
        tuning parameters.
239
        * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
240
 
241
2012-02-27  Oleg Endo  
242
 
243
        * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
244
 
245
2012-02-26  Oleg Endo  
246
 
247
        * config/sh/predicates.md: Remove blank lines.
248
        * config/sh/sh.c: Fix typos in comments.
249
        * config/sh/constraints.md: Likewise.
250
        * config/sh/sh.md: Remove blank lines.
251
        Fix typos in comments.  Use ;; as comment characters.
252
 
253
2012-02-26  Walter Lee  
254
 
255
        * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
256
        (replace_mov_pcrel_step2): Ditto.
257
 
258
2012-02-25  Alexandre Oliva  
259
 
260
        PR debug/52001
261
        * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
262
        (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
263
        and locs that reference values newer than the non-canonical value
264
        at hand.  Return the canonical value as a worst case.
265
        (memrefs_conflict_p): Walk canonical value's locs.
266
 
267
        PR debug/52001
268
        * cselib.c (preserve_only_constants): Rename to...
269
        (preserve_constants_and_equivs): ... this.  Split out...
270
        (invariant_or_equiv_p): ... this.  Preserve plus expressions
271
        of other preserved expressions too.
272
        (cselib_reset_table): Adjust.
273
        * var-tracking.c (reverse_op): Use canonical value to build
274
        reverse operation.
275
 
276
2012-02-23  Kai Tietz  
277
 
278
        * config/i386/i386.c (ix86_delegitimize_address): Handle
279
        UNSPEC_PCREL plus displacement.
280
 
281
2012-02-24  Georg-Johann Lay  
282
 
283
        PR target/52261
284
        * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
285
        to test for unusedness in st X addressing.
286
 
287
2012-02-24  Richard Guenther  
288
 
289
        PR middle-end/52361
290
        * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
291
        (is_gimple_reg_type): Move inline ...
292
        * gimple.h (is_gimple_reg_type): ... here.
293
 
294
2012-02-24  Richard Guenther  
295
 
296
        PR middle-end/52361
297
        * passes.c (execute_function_todo): When verifying SSA form
298
        verify gimple form first.
299
        * tree-ssa.c (verify_ssa): Do not verify gimple form here.
300
 
301
2012-02-24  Richard Guenther  
302
 
303
        PR middle-end/52355
304
        * fold-const.c (fold_addr_of_array_ref_difference): New function.
305
        (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
306
 
307
2012-02-13  Bernhard Reutner-Fischer  
308
 
309
        * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
310
 
311
2012-02-23  Bernhard Reutner-Fischer  
312
 
313
        * tree-phinodes.c (make_phi_node): Mark static.
314
        * tree-flow.h (make_phi_node): Remove extern decl.
315
        * doc/gimple.texi (make_phi_node): Remove documentation.
316
 
317
2012-02-23  Bernhard Reutner-Fischer  
318
 
319
        * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
320
        * tree-ssa-sccvn.c (print_scc): Ditto.
321
 
322
2012-02-23  Bernhard Reutner-Fischer  
323
 
324
        * doc/passes.texi (Full redundancy elimination): Fix typo.
325
 
326
2012-02-23  Bernhard Reutner-Fischer  
327
 
328
        * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
329
 
330
2012-02-23  Eric Botcazou  
331
 
332
        PR bootstrap/52287
333
        * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
334
 
335
2012-02-23  Uros Bizjak  
336
 
337
        PR c/52290
338
        * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
339
 
340
2012-02-23  Georg-Johann Lay  
341
 
342
        * config/avr/avr.md (code_stdname): Add ior, xor.
343
        (xior): New code iterator.
344
        (*qi.byte0): Use xior instead of ior.
345
        (*qi.byte1-3): Ditto.
346
 
347
2012-02-23  Jakub Jelinek  
348
 
349
        PR tree-optimization/52019
350
        * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
351
        CLOBBER stmts.
352
 
353
2012-02-23  Ulrich Weigand  
354
 
355
        * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
356
        HAVE_INITFINI_ARRAY to work around namespace pollution in
357
        certain versions of newlib system headers.
358
        * config.in: Regenerate.
359
        * configure: Regenerate.
360
        * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
361
        instead of HAVE_INITFINI_ARRAY.
362
 
363
2012-02-22  Uros Bizjak  
364
 
365
        PR target/52330
366
        * config/i386/i386.c (ix86_print_operand) : Error out if x
367
        is not offsettable memory reference.
368
 
369
2012-02-22  Georg-Johann Lay  
370
 
371
        PR target/18145
372
        * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
373
        setting avr_need_clear_bss_p for __gnu_lto* symbols.
374
 
375
2012-02-22  Georg-Johann Lay  
376
 
377
        * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
378
        * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
379
 
380
2012-02-22  Rainer Orth  
381
 
382
        * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
383
        library on Solaris 8 even without TLS support.
384
        * configure: Regenerate.
385
 
386
2012-02-22  Richard Guenther  
387
 
388
        PR middle-end/52329
389
        * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
390
        for GIMPLE_DEBUG stmts.
391
 
392
2012-02-22  Martin Jambor  
393
 
394
        PR middle-end/51782
395
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
396
        according to the base object.
397
 
398
2012-02-22  Georg-Johann Lay  
399
 
400
        PR rtl-optimization/50063
401
        * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
402
        and 2 (8-bit SP) in operand 2.
403
        * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
404
        setup to use movhi_sp_r instead of vanilla move to write SP.
405
        Adjust REG_CFA notes to superseed unspec.
406
        (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
407
        of vanilla move.
408
        As function body might contain CLI or SEI: Use irq_state 0 (IRQ
409
        known to be off) only with TARGET_NO_INTERRUPTS. Never use
410
        irq_state 1 (IRQ known to be on) here.
411
 
412
2012-02-21  Bernd Schmidt  
413
 
414
        * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
415
        WORDS_BIG_ENDIAN.
416
        * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
417
        assign_hard_reg): Likewise.
418
 
419
2012-02-21  Georg-Johann Lay  
420
 
421
        * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
422
 
423
2012-02-21  Georg-Johann Lay  
424
 
425
        * config/avr/avr.md
426
        (*dec-and-branchhi!=-1.d.clobber): New text peephole.
427
        (*dec-and-branchhi!=-1.l.clobber): New text peephole.
428
 
429
2012-02-21  Georg-Johann Lay  
430
 
431
        * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
432
        prototype from here to...
433
        * config/avr/avr.h: ...here.
434
 
435
2012-02-21  Richard Earnshaw  
436
 
437
        PR target/52294
438
        * thumb2.md (thumb2_shiftsi3_short): Split register and
439
        immediate shifts.  For register shifts tie operands 0 and 1.
440
        (peephole2 for above): Check that register-controlled shifts
441
        have suitably tied operands.
442
 
443
2012-02-21  Quentin Neill  
444
 
445
        PR target/52137
446
        * config/i386/bdver1.md (bdver1_call, bdver1_push,
447
        bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
448
        bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
449
        bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
450
        bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
451
        bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
452
        bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
453
        bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
454
        bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
455
        bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
456
        bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
457
        bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
458
        bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
459
        bdver1_ssevector_avx256_unaligned_load,
460
        bdver1_ssevector_sse128_unaligned_load,
461
        bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
462
        bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
463
        bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
464
        bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
465
        bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
466
        bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
467
        bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
468
        bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
469
        bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
470
        bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
471
        bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
472
        bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
473
        bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
474
        bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
475
        bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
476
        bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
477
        bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
478
        bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
479
        bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
480
        bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
481
        bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
482
        bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
483
        bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
484
        bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
485
        bdver1_ssediv_double_load, bdver1_ssediv_double,
486
        bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
487
        Add "bdver2" attribute.
488
 
489
2012-02-21  Andreas Krebbel  
490
 
491
        * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
492
        default if possible and not specified otherwise.
493
 
494
2012-02-21  Richard Guenther  
495
 
496
        PR middle-end/52314
497
        * gimplify.c (create_tmp_from_val): Use the main variant type
498
        for the type of the temporary we create.
499
 
500
2012-02-21  Richard Guenther  
501
 
502
        PR tree-optimization/52324
503
        * gimplify.c (gimplify_expr): When re-gimplifying expressions
504
        do not gimplify a MEM_REF address operand if it is already
505
        in suitable form.
506
 
507
2012-02-21  Andreas Krebbel  
508
 
509
        * config/s390/s390.md ("fixuns_truncsi2"): Replace
510
        TARGET_HARD_FLOAT with TARGET_HARD_DFP.
511
 
512
2012-02-21  Richard Guenther  
513
 
514
        * tree-vect-stmts.c (vectorizable_load): Use pre-computed
515
        nested_in_vect_loop.
516
 
517
2012-02-21  Jakub Jelinek  
518
 
519
        PR tree-optimization/52318
520
        * gimple-fold.c (gimplify_and_update_call_from_tree): Add
521
        vdef also to non-pure/const call stmts in the sequence.
522
 
523
2012-02-20  David S. Miller  
524
 
525
        * config/sparc/sparc.md (load_pcrel_sym): Explain why we
526
        don't use the "rd %pc" instruction on v9 for PIC register loads.
527
 
528
2012-02-20  Aldy Hernandez  
529
 
530
        PR middle-end/52141
531
        * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
532
        in a transaction safe function.
533
 
534
2012-02-20  Kai Tietz  
535
 
536
        PR target/52238
537
        * stor-layout.c (place_field): Handle desired_align for
538
        ms-bitfields, too.
539
 
540
2012-02-20  Richard Guenther  
541
 
542
        PR tree-optimization/52298
543
        * tree-vect-stmts.c (vectorizable_store): Properly use
544
        STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
545
        outer loops.
546
        (vectorizable_load): Likewise.
547
        * tree-vect-data-refs.c (vect_analyze_data_ref_access):
548
        Access DR_STEP after ensuring it is not NULL.
549
 
550
2012-02-20  Jakub Jelinek  
551
 
552
        PR tree-optimization/52286
553
        * fold-const.c (fold_binary_loc): For (X & C1) | C2
554
        optimization use double_int_to_tree instead of build_int_cst_wide,
555
        rewrite to use double_int vars.
556
 
557
2012-02-20  Rainer Orth  
558
 
559
        PR target/50166
560
        * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
561
        Define _start.
562
        Remove -e 0 from $gcc_cv_ld invocation.
563
        Only use __GLIBC_PREREQ if defined.
564
        Enable on Solaris since Solaris 8 patch.
565
        (gcc_SUN_LD_VERSION): New macro.
566
        * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
567
        gcc_SUN_LD_VERSION for version number format.
568
        * configure: Regenerate.
569
        * varasm.c (get_elf_initfini_array_priority_section): Set
570
        SECTION_NOTYPE for non-default priority.
571
        Use get_section instead of get_unnamed_section to emit
572
        .init_array/.fini_array with default priority.
573
 
574
2012-02-19  Richard Sandiford  
575
 
576
        * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
577
        (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
578
        (mips_start_unique_function, mips_output_mips16_rdhwr)
579
        (mips_code_end): New functions.
580
        (TARGET_ASM_CODE_END): Define.
581
 
582
2012-02-19  Richard Sandiford  
583
 
584
        * config/mips/mips.c (mips16_build_call_stub): Add CFI information
585
        to stubs with non-sibling calls.
586
 
587
2012-02-18  Sandra Loosemore  
588
 
589
        * doc/invoke.texi (-fira-* options): Copy-edit.
590
        (ira-* parameters): Copy-edit.
591
 
592
2012-02-17  Sandra Loosemore  
593
 
594
        * doc/invoke.texi: Minor copy-edits to bring into conformance with
595
        GCC coding conventions.
596
 
597
2012-02-17  Sandra Loosemore  
598
 
599
        * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
600
        when used as adjectives.
601
 
602
2012-02-16  Sandra Loosemore  
603
 
604
        * doc/invoke.texi: Clean up "that"/"which" confusion.
605
 
606
2012-02-17  Steven Bosscher  
607
 
608
        * system.h: Poison SMALL_REGISTER_CLASSES
609
        * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
610
        * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
611
 
612
2012-02-16  Jakub Jelinek  
613
 
614
        PR tree-optimization/52285
615
        * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
616
        when deciding if a call is a tail call or tail recursion.
617
 
618
2012-02-16  Kai Tietz  
619
 
620
        * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
621
        interger-constant displacement for UNSPEC_PCREL.
622
 
623
2012-02-16  Jakub Jelinek  
624
 
625
        PR rtl-optimization/52208
626
        * ira-costs.c (scan_one_insn): Don't decrease mem_cost
627
        for MEMs with REG_EQUIV, if the MEM isn't general_operand.
628
 
629
        PR tree-optimization/52255
630
        * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
631
        loop->header has virtual PHI, but exit_e->dest doesn't, add
632
        virtual PHI to exit_e->dest and adjust all uses after the loop.
633
 
634
        PR debug/52260
635
        * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
636
        children with clone_tree_hash, not after it.
637
 
638
2012-02-16  Iain Sandoe  
639
 
640
        * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
641
        extended identifiers.
642
 
643
2012-02-16  Jakub Jelinek  
644
 
645
        PR middle-end/51929
646
        * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
647
        a same_body_alias, also test whether e->callee isn't a former
648
        or current clone of the decl this is a same body alias of.
649
 
650
        PR translation/52264
651
        * cgraphunit.c (verify_cgraph_node): Fix a typo.
652
 
653
2012-02-15  Sandra Loosemore  
654
 
655
        * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
656
 
657
2012-02-15  Michael Meissner  
658
 
659
        PR target/52199
660
        * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
661
        force_reg instead of copy_to_reg for better optimization.  Force
662
        non-register or memory operands into a register.
663
 
664
2012-02-15  Andrew MacLeod  
665
 
666
        * extend.texi: Reserve upper bits of memory model for future use.
667
 
668
2012-01-15  Georg-Johann Lay  
669
            Anatoly Sokolov 
670
            Eric Weddington 
671
 
672
        PR target/52261
673
        * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
674
        avrxmega4, avrxmega5, avrxmega6, avrxmega7.
675
        Rewrite initializers for .macro.
676
        * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
677
        avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
678
        atxmega32d4, atxmega32x1.
679
        avrxmega4: atxmega64a3, atxmega64d3.
680
        avrxmega5: atxmega64a1, atxmega64a1u.
681
        avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
682
        atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
683
        avrxmega7: atxmega128a1, atxmega128a1u.
684
        * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
685
        ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
686
        (struct base_arch_s): Rename reserved to xmega_p.
687
        Rename reserved2 to have_rampd.
688
        (AVR_XMEGA): New define.
689
        (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
690
        (AVR_HAVE_RAMPZ): Change definition to fit xmega.
691
        * config/avr/predicates.md (io_address_operand): Take into
692
        account SFR offset.
693
        (low_io_address_operand): Ditto.
694
        (high_io_address_operand): Ditto.
695
        * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
696
        (enabled, movhi_sp_r): Use them.
697
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
698
        cpp_define_formatted to built-in define __AVR_ARCH__.
699
        (__AVR_XMEGA__): New built-in define.
700
        (__AVR_HAVE_RAMPD__): New built-in define.
701
        (__AVR_HAVE_RAMPX__): New built-in define.
702
        (__AVR_HAVE_RAMPY__): New built-in define.
703
        (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
704
 
705
        * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
706
        (avr_option_override): Initialize them.
707
        (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
708
        (avr_init_expanders): Initialize them. No more block several calls.
709
        (emit_push_sfr): New static function.
710
        (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
711
        Handle AVR_XMEGA.
712
        (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
713
        (avr_print_operand): Print addreeses as symbols for
714
        RAMPX, RAMPY, RAMPD, CCP.
715
        (output_movhi): Handle AVR_XMEGA when writing to SP.
716
        (avr_out_movhi_mr_r_xmega): New static function.
717
        (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
718
        (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
719
        __RAMPD__,  __CCP__ as needed.
720
 
721
        * config/avr/multilib.h: Regenerate.
722
        * config/avr/t-multilib: Regenerate.
723
        * config/avr/avr-tables.opt: Regenerate.
724
 
725
2012-02-15  Tobias Grosser 
726
 
727
        PR tree-optimization/50561
728
        * graphite-flattening.c (lst_project_loop): Do not
729
        remove old scattering dimensions after flattening.
730
        (lst_do_flatten): Likewise.
731
 
732
2012-02-15  Georg-Johann Lay  
733
 
734
        * doc/extend.texi (AVR Built-in Functions): Remove doc for
735
        __builtin_avr_map8, __builtin_avr_map16.
736
        Document __builtin_avr_insert_bits.
737
 
738
        * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
739
        (insert_bits): New insn.
740
        (adjust_len.map_bits): Rename to insert_bits.
741
        (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
742
        * avr-protos.h (avr_out_map_bits): Remove.
743
        (avr_out_insert_bits, avr_has_nibble_0xf): New.
744
        * config/avr/constraints.md (Cxf,C0f): New.
745
        * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
746
        defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
747
        New built-in define __BUILTIN_AVR_INSERT_BITS.
748
        * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
749
        (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
750
        (avr_move_bits): Rewrite.
751
        (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
752
        functions.
753
        (avr_map_op_t): New typedef.
754
        (avr_map_op): New static variable.
755
        (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
756
        (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
757
        (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
758
        (bdesc_3arg, avr_expand_triop_builtin): New.
759
        (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
760
        (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
761
        (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
762
        (avr_map_equal_p, avr_map_sig_p): Remove.
763
        (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
764
        (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
765
        (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
766
        (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
767
        (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
768
        (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
769
 
770
2012-02-14  Bernd Schmidt  
771
 
772
        * config/c6x/c6x.md (reserve_cycles): New attribute.
773
        * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
774
        don't reserve functional units after the branch occurs.
775
 
776
2012-02-14  Aldy Hernandez  
777
 
778
        PR middle-end/52142
779
        * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
780
        functions into non-tm_pure functions.
781
 
782
2012-02-14  Eric Botcazou  
783
 
784
        PR lto/52178
785
        * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
786
        (iterative_hash_canonical_type): Likewise.
787
        * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
788
        the dead edges.
789
 
790
2012-02-14  Bernd Schmidt  
791
 
792
        * haifa-sched.c (prune_ready_list): Ensure that if there is a
793
        sched-group insn, it either remains alone or the entire list is pruned.
794
 
795
2012-02-14  Jonathan Wakely  
796
 
797
        * doc/install.texi (Prerequisites): Fix grammar.
798
        (Configuration): Likewise.
799
 
800
2012-02-14  Jonathan Wakely  
801
 
802
        * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
803
        MPC as part of GCC before describing configuring with --with-gmp etc.
804
        (Installing GCC: Configuration): --with-gmp etc. aren't needed if
805
        sources are present.
806
 
807
2012-02-14  Jakub Jelinek  
808
 
809
        PR debug/51950
810
        * dwarf2out.c (clone_tree_hash): New function.
811
        (copy_decls_walk): Use it instead of clone_tree.
812
 
813
2012-02-14  Richard Guenther  
814
 
815
        PR tree-optimization/52244
816
        PR tree-optimization/51528
817
        * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
818
        replacements for integral types.
819
 
820
2012-02-14  Walter Lee  
821
 
822
        * config.gcc: Handle tilegx and tilepro.
823
        * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
824
        tilegx and tilepro.
825
        Add HAVE_AS_TLS check for tilegx and tilepro.
826
        * configure: Regenerate.
827
        * doc/contrib.texi: Add Mat Hostetter and self.
828
        * doc/extend.texi (TILE-Gx Built-in Functions): New node.
829
        Document instruction intrinsics and network accessing intrinsics.
830
        (TILEPro Built-in Functions): New node.  Document instruction
831
        intrinsics and network accessing intrinsics.
832
        * doc/install.texi (Specific, tilegx-*-linux*): Document it.
833
        (Specific, tilepro-*-linux*): Likewise.
834
        * doc/invoke.texi (TILE-Gx Options): New section.
835
        (TILEPro Options): New section.
836
        * doc/md.texi (TILE-Gx): New section.
837
        (TILEPro): New section.
838
        * common/config/tilegx/tilegx-common.c: New file.
839
        * common/config/tilepro/tilepro-common.c: New file.
840
        * config/tilegx/constraints.md: New file.
841
        * config/tilegx/linux.h: New file.
842
        * config/tilegx/mul-tables.c: New file.
843
        * config/tilegx/predicates.md: New file.
844
        * config/tilegx/sync.md: New file.
845
        * config/tilegx/t-tilegx: New file.
846
        * config/tilegx/tilegx-builtins.h: New file.
847
        * config/tilegx/tilegx-c.c: New file.
848
        * config/tilegx/tilegx-generic.md: New file.
849
        * config/tilegx/tilegx-modes.def: New file.
850
        * config/tilegx/tilegx-multiply.h: New file.
851
        * config/tilegx/tilegx-protos.h: New file.
852
        * config/tilegx/tilegx.c: New file.
853
        * config/tilegx/tilegx.h: New file.
854
        * config/tilegx/tilegx.md: New file.
855
        * config/tilegx/tilegx.opt: New file.
856
        * config/tilepro/constraints.md: New file.
857
        * config/tilepro/gen-mul-tables.cc: New file.
858
        * config/tilepro/linux.h: New file.
859
        * config/tilepro/mul-tables.c: New file.
860
        * config/tilepro/predicates.md: New file.
861
        * config/tilepro/t-tilepro: New file.
862
        * config/tilepro/tilepro-builtins.h: New file.
863
        * config/tilepro/tilepro-c.c: New file.
864
        * config/tilepro/tilepro-generic.md: New file.
865
        * config/tilepro/tilepro-modes.def: New file.
866
        * config/tilepro/tilepro-multiply.h: New file.
867
        * config/tilepro/tilepro-protos.h: New file.
868
        * config/tilepro/tilepro.c: New file.
869
        * config/tilepro/tilepro.h: New file.
870
        * config/tilepro/tilepro.md: New file.
871
        * config/tilepro/tilepro.opt: New file.
872
 
873
2012-02-14  Jakub Jelinek  
874
 
875
        PR tree-optimization/52210
876
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
877
        vect_model_simple_cost with two entry vect_def_type array instead
878
        of an address of dt.
879
 
880
2012-02-14  Richard Guenther  
881
 
882
        PR lto/52178
883
        * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
884
        Do not stream DECL_QUALIFIER.
885
        * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
886
        * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
887
        (find_decls_types_r): Do not walk DECL_QUALIFIER.
888
 
889
2012-02-14  Jakub Jelinek  
890
 
891
        PR c/52181
892
        * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
893
        newdecl.
894
 
895
2012-02-13  Jakub Jelinek  
896
 
897
        PR bootstrap/52172
898
        * cselib.h (cselib_subst_to_values_from_insn): New prototype.
899
        * cselib.c (cselib_subst_to_values_from_insn): New function.
900
        * sched-deps.c (add_insn_mem_dependence,
901
        sched_analyze_1, sched_analyze_2): Use it.
902
 
903
2012-02-13  Jan Hubicka  
904
 
905
        PR middle-end/52214
906
        * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
907
 
908
2012-02-13  Eric Botcazou  
909
 
910
        * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
911
        (GTM_SELF_SPECS): Define if not already defined.
912
        (driver_self_specs): Add GTM_SELF_SPECS.
913
        * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
914
        (GTM_SELF_SPECS): Define.
915
        * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
916
        * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
917
 
918
2012-02-13  Jakub Jelinek  
919
 
920
        * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
921
        away if seen.
922
 
923
        * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
924
 
925
        PR middle-end/52230
926
        * omp-low.c (expand_omp_for): If a static schedule without chunk size
927
        has NULL region->cont, force fd.chunk_size to be integer_zero_node.
928
 
929
2012-02-13  Andrew MacLeod  
930
 
931
        PR c/52190
932
        * doc/extend.texi : Fix another __atomic_compare_exchange typo.
933
 
934
2012-02-13  Richard Guenther  
935
 
936
        PR translation/52211
937
        * passes.c (enable_disable_pass): Fix typo.
938
 
939
2012-02-13  Jakub Jelinek  
940
 
941
        PR middle-end/52209
942
        * expr.c (expand_expr_real_2) : Only expand using
943
        XOR for reduce_bit_field if type is unsigned.
944
 
945
2012-02-12  Eric Botcazou  
946
 
947
        * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
948
        disallow changes from SFmode to mode with different size in FP regs.
949
 
950
2012-02-12  Robert Millan  
951
            Gerald Pfeifer 
952
 
953
        * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
954
        Tweak comment.
955
 
956
2012-02-11  Richard Sandiford  
957
 
958
        PR rtl-optimization/52175
959
        * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
960
        to frame-related instructions.
961
 
962
2012-02-10  Jason Merrill  
963
 
964
        PR c++/51910
965
        * tlink.c (demangled_hash_entry): Change mangled to a VEC.
966
        (demangle_new_symbols): Fill it.
967
        (scan_linker_output): Walk it.
968
        (start_tweaking): Split out from scan_linker_output.
969
        (maybe_tweak): Update sym->chosen.
970
        * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
971
 
972
2012-02-11  Jakub Jelinek  
973
 
974
        PR debug/52132
975
        * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
976
 
977
2012-02-11  Uros Bizjak  
978
 
979
        * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
980
        having the same mode as previous compare.
981
 
982
2012-02-10  Eric Botcazou  
983
 
984
        * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
985
        * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
986
        (nonlocal_goto_internal): Likewise.
987
        (nonlocal_goto): Emit a use and an indirect jump directly.
988
 
989
2012-02-10  Andrew MacLeod  
990
 
991
        PR c/52190
992
        * doc/extend.texi : Update comments for __atomic_compare_exchange and
993
        __atomic_{is,always}_lock_free.
994
 
995
2012-02-10  Uros Bizjak  
996
 
997
        PR target/52146
998
        * config/i386/i386.c (ix86_legitimate_address_p): Disallow
999
        negative constant address for x32.
1000
 
1001
2012-02-10  Richard Henderson  
1002
 
1003
        * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
1004
        * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
1005
        for GIMPLE_TRANSACTION.  Tidy if's into a switch.
1006
 
1007
2012-02-10  Bill Schmidt  
1008
            Ira Rosen  
1009
 
1010
        PR tree-optimization/50031
1011
        * targhooks.c (default_builtin_vectorization_cost): Handle
1012
        vec_promote_demote.
1013
        * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
1014
        * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
1015
        all types of reduction and pattern statements.
1016
        (vect_estimate_min_profitable_iters): Likewise.
1017
        * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
1018
        (vect_get_load_cost): Use vec_perm for permutations; add dump logic
1019
        for explicit realigns.
1020
        (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
1021
        * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
1022
        vec_promote_demote.
1023
        * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
1024
        * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
1025
        vec_perm for VSX and handle vec_promote_demote.
1026
 
1027
2012-02-10  Jakub Jelinek  
1028
 
1029
        PR middle-end/52177
1030
        * builtins.c (fold_builtin_atomic_always_lock_free,
1031
        expand_builtin_atomic_always_lock_free,
1032
        fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
1033
        Return and/or test boolean_true_node/boolean_false_node instead of
1034
        integer_one_node/integer_zero_node.
1035
 
1036
2012-02-10  Jan Hubicka  
1037
 
1038
        PR middle-end/48600
1039
        * predict.c (predict_paths_for_bb): Prevent looping.
1040
        (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
1041
 
1042
2012-02-10  Roman Zhuykov  
1043
 
1044
        * config/arm/arm.c (output_move_double): In one case properly
1045
        count number of instructions that will be emitted.
1046
 
1047
2012-02-10  Richard Guenther  
1048
 
1049
        PR translation/52193
1050
        * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
1051
 
1052
2012-02-09  Peter Bergner  
1053
 
1054
        PR middle-end/52140
1055
        * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
1056
 
1057
2012-02-09  Jakub Jelinek  
1058
 
1059
        PR debug/52165
1060
        * var-tracking.c (emit_note_insn_var_location): If
1061
        EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
1062
        emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
1063
        non-NOTE_DURING_CALL_P insn.
1064
 
1065
2012-02-09  Bin Cheng  
1066
 
1067
        PR middle-end/51867
1068
        * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
1069
 
1070
2012-02-08  Magnus Granberg  
1071
 
1072
        PR driver/48524
1073
        * gcc.c (switch_matches) Support switches with separated form,
1074
        -D and -U.
1075
 
1076
2012-02-08  Georg-Johann Lay  
1077
 
1078
        * config/avr/avr.md (SREG_ADDR): Remove constant definition.
1079
        (SP_ADDR): Ditto.
1080
        (RAMPZ_ADDR): Ditto.
1081
        * config/avr/avr.c (avr_addr_t): New typedef.
1082
        (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
1083
        (avr_init_expanders): Initialize it.
1084
        (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
1085
        SREG_ADDR.
1086
        (expand_epilogue): Ditto.
1087
        (avr_print_operand): Ditto.
1088
        (avr_file_start): Ditto.
1089
        (avr_emit_movmemhi): Ditto.
1090
 
1091
2012-02-08  Richard Guenther  
1092
 
1093
        PR tree-optimization/46886
1094
        * tree-flow.h (do_while_loop_p): Declare.
1095
        * tree-ssa-loop-ch.c (do_while_loop_p): Export.
1096
        * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
1097
 
1098
2012-02-08  Andrew MacLeod  
1099
 
1100
        * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
1101
        always succeed for integers larger than a native word.
1102
 
1103
2012-02-08  Richard Guenther  
1104
 
1105
        PR rtl-optimization/52170
1106
        * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
1107
        properly handle integer vector modes.
1108
 
1109
2012-02-08  Jakub Jelinek  
1110
 
1111
        PR gcov-profile/52150
1112
        * coverage.c: Include target.h.
1113
        (build_var): Call targetm.strip_name_encoding on the assembler name.
1114
        Change one _ into . or $ if the target allows it.
1115
        * Makefile.in (coverage.o): Depend on $(TARGET_H).
1116
 
1117
        PR rtl-optimization/52139
1118
        * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
1119
        is a BARRIER after emit_insn_after_noloc, move BB_END
1120
        to the last non-BARRIER insn before it.
1121
 
1122
2012-02-07  Richard Sandiford  
1123
 
1124
        PR middle-end/24306
1125
        * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
1126
        (mips_gimplify_va_arg_expr): Call it instead of
1127
        std_gimplify_va_arg_expr.
1128
 
1129
2012-02-07  Michael Meissner  
1130
 
1131
        * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
1132
        message for -mno-pointers-to-nested-function.
1133
 
1134
2012-02-07  Eric Botcazou  
1135
 
1136
        PR middle-end/51994
1137
        * expr.c (get_inner_reference): If there is an offset, add a negative
1138
        bit position to it (if any).
1139
 
1140
2012-02-07  Jakub Jelinek  
1141
 
1142
        PR rtl-optimization/52060
1143
        * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
1144
        copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
1145
        before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
1146
        and/or i0src_copy2 when needed.
1147
 
1148
2012-02-07  Jakub Jelinek  
1149
 
1150
        * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
1151
        or LTOPLUGINSONAME if have_c.
1152
 
1153
        * config/freebsd-spec.h: Add comment about what macros can be defined
1154
        in this header.
1155
        (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
1156
        * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
1157
        here instead.
1158
 
1159
2012-02-07  Richard Guenther  
1160
 
1161
        * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
1162
        newline in -alias dumps.
1163
 
1164
2012-02-07  Kai Tietz  
1165
            Dave Korn  
1166
 
1167
        PR target/40068
1168
        * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
1169
        Take care that typinfo gets dllexport-attribute.
1170
 
1171
2012-02-07  Jakub Jelinek  
1172
 
1173
        PR middle-end/52074
1174
        * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
1175
        if modifier < EXPAND_SUM call force_operand on the result.
1176
 
1177
2012-02-07  Joern Rennecke  
1178
 
1179
        * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
1180
        adding __forwarder_dst__ prefix if a forwarder_section attribute is
1181
        present.
1182
        (epiphany_function_type): Replace types for specific interrupts with
1183
        EPIPHANY_FUNCTION_INTERRUPT.
1184
        (EPIPHANY_INTERRUPT_P): Update.
1185
        * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
1186
        New static function.
1187
        (epiphany_attribute_table) : min_len is 0, max_len is 9.
1188
        : Affects type identity.
1189
        (epiphany_handle_interrupt_attribute): Handle variable number of
1190
        arguments.
1191
        (epiphany_compute_function_type): Update for new
1192
        epiphany_function_type definition.
1193
        (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
1194
        handlers with a longcall forwarder.
1195
        (epiphany_start_function): Handle multiple interrupt arguments and/or
1196
        forwarder_section attribute.
1197
 
1198
        * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
1199
        libgloss.
1200
 
1201
2012-02-07  Alan Modra  
1202
 
1203
        PR target/52107
1204
        * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
1205
        subregs of TFmode.
1206
 
1207
2012-02-06  Bill Schmidt  
1208
 
1209
        PR tree-optimization/50969
1210
        * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
1211
        use vec_perm rather than vector_stmt.
1212
        (vect_model_load_cost): Likewise.
1213
        * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
1214
        vec_perm to be the same as other vector statements.
1215
        * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
1216
        cost of vec_perm for TARGET_VSX.
1217
 
1218
2012-02-06  Richard Guenther  
1219
 
1220
        PR tree-optimization/52115
1221
        * tree-sra.c (access_has_replacements_p): New function.
1222
        (sra_modify_assign): Use it to decide whether a use is uninitialized.
1223
 
1224
2012-02-06  Patrick Marlier  
1225
 
1226
        PR middle-end/52047
1227
        * trans-mem.c (expand_call_tm): Add an assertion.
1228
        * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
1229
        functions.
1230
 
1231
2012-02-06  Richard Guenther  
1232
 
1233
        PR tree-optimization/50955
1234
        * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
1235
        raise cost of expressions that replace an address with an
1236
        expression based on a different pointer.
1237
 
1238
2012-02-06  Jakub Jelinek  
1239
 
1240
        PR target/52129
1241
        * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
1242
        CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
1243
 
1244
2012-02-06  Jonathan Wakely  
1245
 
1246
        PR c++/48680
1247
        * doc/invoke.texi (C++ Dialect Options): Use @option markup for
1248
        -Weffc++ and specify guidelines come from second edition.
1249
 
1250
2012-02-05  Richard Sandiford  
1251
 
1252
        * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
1253
        (sibcall_value_multiple_internal, call_split, call_internal_direct)
1254
        (call_direct_split, call_value_split, call_value_internal_direct)
1255
        (call_value_direct_split, call_value_multiple_split): Use jal and
1256
        jal_macro attributes.
1257
 
1258
2012-02-05  Richard Sandiford  
1259
 
1260
        * reload1.c (reload_regs_reach_end_p): Replace with...
1261
        (reload_reg_rtx_reaches_end_p): ...this function.
1262
        (new_spill_reg_store): Update commentary.
1263
        (emit_input_reload_insns): Don't clear new_spill_reg_store here.
1264
        (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
1265
        before setting new_spill_reg_store.
1266
        (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
1267
        Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
1268
        Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
1269
        for non-spill reload registers.
1270
 
1271
2012-02-05  Ira Rosen  
1272
 
1273
        PR tree-optimization/52091
1274
        * tree-vectorizer.h (vect_is_simple_use): Add an argument.
1275
        (vect_is_simple_use_1): Likewise.
1276
        * tree-vect-loop.c (vectorizable_reduction): Update calls
1277
        to vect_is_simple_use_1 and vect_is_simple_use.
1278
        (vectorizable_live_operation): Likewise.
1279
        * tree-vect-patterns.c (widened_name_p,
1280
        vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
1281
        * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
1282
        vectorizable_call, vectorizable_conversion, vectorizable_assignment,
1283
        vectorizable_shift,vectorizable_operation, vectorizable_store,
1284
        vectorizable_load): Likewise.
1285
        (vect_is_simple_cond): Add an argument, pass it to
1286
        vect_is_simple_use_1.
1287
        (vectorizable_condition): Update calls to vect_is_simple_cond,
1288
        vect_is_simple_use.
1289
        (vect_is_simple_use): Add an argument, the statement in which
1290
        OPERAND is used.  Check that if OPERAND's def stmt is a double
1291
        reduction phi node, the use is a phi node too.
1292
        (vect_is_simple_use_1): Add an argument, pass it to
1293
        vect_is_simple_use.
1294
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
1295
        to vect_is_simple_use.
1296
 
1297
2012-02-04  Jakub Jelinek  
1298
 
1299
        PR rtl-optimization/52095
1300
        * modulo-sched.c (dump_insn_locator): New function.
1301
        (loop_canon_p, sms_schedule): Use it.
1302
 
1303
        PR rtl-optimization/52113
1304
        * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
1305
        even for decomposable shift/zext insns.
1306
 
1307
2012-02-03  Jakub Jelinek  
1308
            Zdenek Dvorak  
1309
 
1310
        PR rtl-optimization/52092
1311
        * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
1312
        on get_iv_value result.
1313
 
1314
2012-02-02  Andrew Pinski  
1315
 
1316
        PR middle-end/47982
1317
        PR middle-end/43967
1318
        * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
1319
 
1320
2012-02-02  Jakub Jelinek  
1321
 
1322
        PR middle-end/48071
1323
        * diagnostic.c (diagnostic_finish): Remove trailing newlines.
1324
 
1325
2012-02-02  Vladimir Makarov  
1326
 
1327
        PR rtl-optimization/49800
1328
        * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
1329
        (sched_finish): Call regstat_free_n_sets_and_refs.
1330
 
1331
2012-02-02  Jia Liu  
1332
 
1333
        * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
1334
        than operand 2.
1335
 
1336
2012-02-02  Jan Hubicka  
1337
            Tom de Vries  
1338
 
1339
        PR middle-end/51998
1340
        * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
1341
        * varpool.c (varpool_analyze_pending_decls): Likewise.
1342
 
1343
2012-02-02  Sumanth G 
1344
            Jayant R Sonar 
1345
 
1346
        * config.gcc: Add cr16-* support.
1347
 
1348
        * doc/extend.texi: Document cr16 extensions.
1349
        * doc/install.texi: Document cr16 install.
1350
        * doc/invoke.texi: Document cr16 options.
1351
        * doc/md.texi: Document cr16 constraints.
1352
 
1353
        * common/config/cr16/cr16-common.c: New file.
1354
        * config/cr16/cr16.c: New file.
1355
        * config/cr16/cr16.h: New file.
1356
        * config/cr16/cr16.md: New file.
1357
        * config/cr16/cr16.opt: New file.
1358
        * config/cr16/cr16-protos.h: New file.
1359
        * config/cr16/predicates.md: New file.
1360
        * config/cr16/constraints.md: New file.
1361
        * config/cr16/t-cr16: New file.
1362
 
1363
2012-02-02  Jakub Jelinek  
1364
 
1365
        PR target/52086
1366
        * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
1367
        that operands[2] is either immediate, or q_regs_operand.
1368
 
1369
        PR tree-optimization/52073
1370
        * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
1371
        a pattern stmt for pattern uses, ignore uses outside of the loop.
1372
 
1373
2012-02-01  Georg-Johann Lay  
1374
 
1375
        * config/avr/avr.c: Resolve all AS1 and AS2 macros.
1376
        * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
1377
        (OUT_AS1, OUT_AS2): Remove.
1378
 
1379
2012-02-01  Georg-Johann Lay  
1380
 
1381
        PR rtl-optimization/51374
1382
        * combine.c (can_combine_p): Don't allow volatile_refs_p insns
1383
        to cross other volatile_refs_p insns.
1384
 
1385
2012-02-01  Richard Guenther  
1386
 
1387
        * doc/invoke.texi (fno-inline): Clarify documentation.
1388
        (finline-small-functions): Likewise.
1389
        (finline-functions): Likewise.
1390
        * common.opt (finline): Adjust comment and documentation.
1391
        (finline-small-functions): Clarify documentation.
1392
        (finline-functions): Likewise.
1393
        (finline-functions-called-once): Likewise.
1394
 
1395
2012-02-01  Tristan Gingold  
1396
 
1397
        * c-typeck.c (composite_type): Keep mode for pointers.
1398
 
1399
2012-01-31  Richard Sandiford  
1400
 
1401
        * function.h (regno_reg_rtx): Adjust comment.
1402
        * reginfo.c (init_reg_modes_target): Only use the previous mode
1403
        if it fits within one register.  Remove MIPS comment.
1404
 
1405
2012-01-31  Jakub Jelinek  
1406
 
1407
        PR bootstrap/52058
1408
        * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
1409
 
1410
2012-01-31  Andreas Krebbel  
1411
 
1412
        * config/s390/s390.md ("*ashr3_and"): Add missing z196 flag
1413
        to srak instruction.
1414
 
1415
2012-01-31  Matthew Gretton-Dann  
1416
 
1417
        * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
1418
 
1419
2012-01-31  Jakub Jelinek  
1420
 
1421
        PR bootstrap/52041
1422
        PR bootstrap/52039
1423
        PR target/51974
1424
        * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
1425
 
1426
2012-01-31  Richard Guenther  
1427
 
1428
        PR tree-optimization/51528
1429
        * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
1430
        assigns.
1431
 
1432
2012-01-31  Jakub Jelinek  
1433
 
1434
        PR bootstrap/52041
1435
        PR bootstrap/52039
1436
        PR target/51974
1437
        * ree.c (add_removable_extension): Change def_map argument
1438
        to unsigned *, store in def_map 1 + offset into *insn_list vector
1439
        instead of pointers into the vector.
1440
        (find_removable_extensions): Adjust caller.
1441
 
1442
2012-01-30  Georg-Johann Lay  
1443
 
1444
        * config/avr/avr.md: Resolve all AS1 and AS2 macros.
1445
        Transform all "* quoted-c-code" to { c-code }.
1446
        Remove redundant test for "optimize" in combine patterns.
1447
        Move (include "avr-dimode.md") to end of file.
1448
 
1449
2012-01-30  Bin Cheng  
1450
 
1451
        PR target/51835
1452
        * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
1453
        for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
1454
 
1455
2012-01-30  Richard Guenther  
1456
 
1457
        PR tree-optimization/52028
1458
        * tree-loop-distribution.c (ldist_gen): Properly update
1459
        virtual SSA form.
1460
 
1461
2012-01-30  Jakub Jelinek  
1462
 
1463
        PR debug/52027
1464
        * dwarf2out.c (dwarf2out_switch_text_section): Don't call
1465
        set_cur_line_info_table if not emitting debug info.
1466
 
1467
        PR tree-optimization/52046
1468
        * tree-vect-patterns.c (check_bool_pattern): Give up if
1469
        a comparison could throw.
1470
 
1471
        PR debug/52048
1472
        * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
1473
 
1474
2012-01-30  Richard Guenther  
1475
 
1476
        PR tree-optimization/52045
1477
        * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
1478
        SSA form if cfgcleanup did anything.
1479
 
1480
2012-01-30  Richard Guenther  
1481
 
1482
        PR tree-optimization/52045
1483
        * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
1484
        before computing final todo.
1485
 
1486
2012-01-30  Richard Guenther  
1487
 
1488
        PR tree-optimization/51528
1489
        * tree-sra.c (sra_modify_assign): Re-factor in preparation
1490
        for PR51528 fix.
1491
 
1492
2012-01-30  Paolo Bonzini  
1493
 
1494
        * df-problems.c (df_kill_notes): Check that the use refers
1495
        to the note under examination.
1496
 
1497
2012-01-30  Eric Botcazou  
1498
 
1499
        PR target/51920
1500
        * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
1501
        parameter and use short-lived pseudos.
1502
        (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
1503
        (sparc_expand_vector_init): Const-ify local variables and adjust
1504
        calls to above functions.
1505
 
1506
2012-01-30  Georg-Johann Lay  
1507
 
1508
        * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
1509
 
1510
2012-01-29  Sandra Loosemore  
1511
 
1512
        * doc/invoke.texi: Make usage of "compile time" and
1513
        "run time"/"runtime" consistent throughout the file.
1514
 
1515
2012-01-29  Uros Bizjak  
1516
 
1517
        * config/alpha/alpha.c (alpha_option_override): Default to
1518
        full IEEE compliance mode for Go language.
1519
 
1520
2011-01-29  Tijl Coosemans  
1521
 
1522
        * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
1523
        (LINK_SSP_SPEC): Define.
1524
 
1525
2012-01-28  John David Anglin  
1526
 
1527
        PR target/51871
1528
        * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
1529
        stubs.
1530
 
1531
2012-01-28  Sandra Loosemore  
1532
 
1533
        * doc/invoke.texi: Correct hyphenation of "floating point",
1534
        "double precision", and related terminology throughout the file.
1535
 
1536
2012-01-28  Jakub Jelinek  
1537
 
1538
        PR target/52006
1539
        * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
1540
        arm_general_register_operand predicate for operand 2 instead of
1541
        register_operand.
1542
 
1543
2012-01-27  Ian Lance Taylor  
1544
 
1545
        PR go/47656
1546
        * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
1547
        * builtins.c (expand_builtin_init_trampoline): Add onstack
1548
        parameter.  Change caller.
1549
        (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
1550
        * tree.c (build_common_builtin_nodes): Declare
1551
        __builtin_init_heap_trampoline.
1552
 
1553
2012-01-27  Georg-Johann Lay  
1554
 
1555
        * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
1556
        tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
1557
        * config/avr/avr.c: Ditto.
1558
        (avr_regnames): Remove because unused.
1559
        * config/avr/avr.md (*cpse.ne): New peephole.
1560
        (*cpse.eq): New peephole from former cpse peepholes.
1561
 
1562
2012-01-27  Michael Eager  
1563
 
1564
        * config/microblaze.c (microblaze_emit_compare): Correct
1565
        test after pcmp instruction.
1566
 
1567
2012-01-27  Richard Guenther  
1568
 
1569
        PR tree-optimization/52020
1570
        * tree-sra.c (sra_modify_assign): Do not transform clobbers.
1571
 
1572
2012-01-27  Richard Guenther  
1573
 
1574
        * ipa-pure-const.c (check_stmt): Clobbers do not make a
1575
        function non-const/pure.
1576
 
1577
2012-01-27  Richard Guenther  
1578
 
1579
        PR tree-optimization/50444
1580
        * tree-sra.c (build_ref_for_offset): Properly adjust the
1581
        MEM_REF type for unaligned accesses.
1582
 
1583
2012-01-27  Richard Guenther  
1584
 
1585
        PR tree-optimization/50444
1586
        * expr.c (mem_ref_refers_to_non_mem_p): New function.
1587
        (expand_assignment): Use it.  Properly handle misaligned
1588
        bases when expanding stores to component references.
1589
        (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
1590
        refactor that case.
1591
 
1592
2012-01-27  Andrey Belevantsev  
1593
 
1594
        PR middle-end/51389
1595
        * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
1596
        * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
1597
        * tree-data-ref.c (find_data_references_in_loop): Make static.
1598
        (compute_all_dependences): Change return type to bool.  Bail out
1599
        for too many datarefs in a loop.  Move the hunk resetting the data
1600
        dependences vector from ...
1601
        (compute_data_dependences_for_loop): ... here.  Account for
1602
        compute_all_dependences returning false.
1603
        (compute_data_dependences_for_bb): Likewise.
1604
        * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
1605
        * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
1606
 
1607
2012-01-27  Richard Guenther  
1608
 
1609
        PR middle-end/51959
1610
        * expr.c (store_field): Use the alias-set of the scratch memory
1611
        for storing to it.
1612
 
1613
2012-01-27  Tom de Vries  
1614
 
1615
        PR tree-optimization/51990
1616
        * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
1617
        WITH_SIZE_EXPR.
1618
        * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
1619
 
1620
2012-01-27  Jakub Jelinek  
1621
 
1622
        PR debug/52001
1623
        * var-tracking.c (reverse_op): Don't add any reverse operation
1624
        if V already has any constant locations.
1625
 
1626
2012-01-27  Sandra Loosemore  
1627
 
1628
        * doc/invoke.texi: Correct usage of "command line" (noun)
1629
        vs "command-line" (adjective) throughout.
1630
 
1631
2012-01-27  Sandra Loosemore  
1632
 
1633
        * doc/invoke.texi (Language Independent Options): Move
1634
        -Wcoverage-mismatch blurb from here....
1635
        (Warning Options): ...to here.
1636
 
1637
2012-01-27  Peter Bergner  
1638
 
1639
        * config/rs6000/rs6000.c (rs6000_option_override_internal):
1640
        Set rs6000_always_hint to false for 476.
1641
 
1642
2012-01-27  Matthias Klose  
1643
 
1644
        * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
1645
          system root.
1646
        * incpath.c (add_standard_paths): Likewise.
1647
 
1648
2012-01-27  Richard Henderson  
1649
 
1650
        * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
1651
        * config/m68k/sync.md (atomic_test_and_set): Rename from
1652
        sync_test_and_setqi and adjust the operands.
1653
        (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
1654
        and unconditionally enable.
1655
 
1656
2012-01-27  Richard Henderson  
1657
 
1658
        * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
1659
        * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
1660
        (ldstub): Rename from ldstubqi.
1661
        (ldstub): Remove.
1662
 
1663
2012-01-27  Richard Henderson  
1664
 
1665
        * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
1666
        * c-cppbuiltin.c (cpp_atomic_builtins): Define
1667
        __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
1668
        * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
1669
        * doc/tm.texi: Rebuild.
1670
 
1671
2012-01-27  Richard Henderson  
1672
 
1673
        * optabs.c (gen_atomic_test_and_set): Remove default.
1674
        (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
1675
 
1676
2012-01-26  Jakub Jelinek  
1677
 
1678
        PR rtl-optimization/51978
1679
        * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
1680
        (combine_reaching_defs): Likewise.
1681
        (struct re_info): Remove.
1682
        (add_removable_extension): Remove x and data arguments,
1683
        add insn, insn_list and def_map.  Use the arguments directly
1684
        instead of using struct re_info.
1685
        (find_removable_extensions): Don't call add_removable_extension
1686
        through note_stores, instead just call it with single_set
1687
        result if non-NULL.
1688
        (find_and_remove_re): Pass curr_cand->expr instead of
1689
        PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
1690
 
1691
2012-01-26  Michael Matz  
1692
 
1693
        PR tree-optimization/46590
1694
        * cfgexpand.c: Revert last change (r183305).
1695
        * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
1696
        regs.
1697
        * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
1698
        checking for emptiness.
1699
 
1700
2012-01-26  Jakub Jelinek  
1701
 
1702
        PR middle-end/51895
1703
        * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
1704
        non-addressable non-BLKmode base correctly.
1705
 
1706
2012-01-26  Michael Matz  
1707
 
1708
        PR tree-optimization/48794
1709
        * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
1710
        regions referenced from RESX/EH_DISPATCH.
1711
 
1712
2012-01-26  Andreas Krebbel  
1713
 
1714
        * config/s390/s390.h: Make BRANCH_COST an option.
1715
        * config/s390/s390.opt: New option -mbranch-cost.
1716
 
1717
2012-01-26  Richard Henderson  
1718
 
1719
        Revert 2012-01-24 change:
1720
        * trans-mem.c (requires_barrier): Do not instrument thread local
1721
        variables and emit save/restore for them.
1722
 
1723
2012-01-25  Jakub Jelinek  
1724
 
1725
        PR middle-end/51986
1726
        * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
1727
        for pat == 0.
1728
 
1729
2012-01-25  Richard Sandiford  
1730
 
1731
        * config/mips/mips.c (mips_small_data_pattern_1): Don't process
1732
        ASM_OPERANDS.
1733
 
1734
2012-01-25  Georg-Johann Lay  
1735
 
1736
        PR target/49868
1737
        Rename __pgm to __flash.
1738
        Rename __pgm1 to __flash1.
1739
        Rename __pgm2 to __flash2.
1740
        Rename __pgm3 to __flash3.
1741
        Rename __pgm4 to __flash4.
1742
        Rename __pgm5 to __flash5.
1743
        Rename __pgmx to __memx.
1744
        * doc/extend.texi (AVR Named Address Spaces)
1745
        Rename address space names as indicated above.
1746
        * config/avr/avr.c (avr_addrspace): Ditto.
1747
 
1748
        * config/avr/avr-protos.h
1749
        (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
1750
        (avr_mem_pgm_p): Rename to avr_mem_flash_p.
1751
        * config/avr/predicates.md: Ditto.
1752
        * config/avr/avr.c Ditto, and
1753
        (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
1754
        (avr_decl_pgm_p): Rename to avr_decl_flash_p.
1755
 
1756
        * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
1757
        (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
1758
        (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
1759
        (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
1760
        (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
1761
        (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
1762
        (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
1763
        * config/avr/avr.c: Ditto.
1764
        * config/avr/avr.md: Ditto.
1765
 
1766
2012-01-25  Jason Merrill  
1767
 
1768
        PR c++/51992
1769
        * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
1770
 
1771
2012-01-25  Jakub Jelinek  
1772
 
1773
        PR tree-optimization/51987
1774
        * tree-data-ref.c (get_references_in_stmt): Handle references in
1775
        non-volatile GIMPLE_ASM.
1776
 
1777
2012-01-25  Richard Guenther  
1778
 
1779
        * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
1780
        bases are dereferenced.
1781
 
1782
2012-01-25  Andrey Belevantsev  
1783
 
1784
        PR rtl-optimization/48374
1785
        * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
1786
 
1787
2012-01-25  Andrey Belevantsev  
1788
 
1789
        * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
1790
        compute_data_dependences_for_loop returns false.
1791
        * tree-parloops.c (loop_parallel_p): Likewise.
1792
 
1793
2012-01-25  Richard Guenther  
1794
 
1795
        * tree.h (get_pointer_alignment_1): Declare.
1796
        * builtins.c (get_pointer_alignment_1): New function.
1797
        (get_pointer_alignment): Use it.
1798
 
1799
2012-01-25  Ramana Radhakrishnan  
1800
 
1801
        PR rtl-optimization/48308
1802
        * combine.c (enum undo_kind): Add UNDO_LINKS.
1803
        (struct undo): Add member l to other_contents and where.
1804
        (do_SUBST_LINK): New.
1805
        (SUBST_LINK): New.
1806
        (try_combine): Handle LOG_LINKS for the dummy i1 case.
1807
        (undo_all): Handle UNDO_LINKS.
1808
 
1809
2012-01-25  Richard Henderson  
1810
 
1811
        * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
1812
        mem inputs.
1813
 
1814
2012-01-24  Richard Sandiford  
1815
 
1816
        * optabs.c (gen_atomic_test_and_set): Use each argument.
1817
 
1818
2012-01-24  Richard Sandiford  
1819
 
1820
        * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
1821
        (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_)
1822
        (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
1823
        (bc1any2f, mips_rsqrt1_, mips_rsqrt2_, mips_recip1_)
1824
        (mips_recip2_): Require TARGET_MIPS3D rather than
1825
        TARGET_PAIRED_SINGLE_FLOAT.
1826
 
1827
2012-01-24  Richard Sandiford  
1828
 
1829
        * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
1830
        (in_struct, return_val): Remove MEM documentation.
1831
        * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
1832
        (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
1833
        (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
1834
        and MEM_SCALAR.
1835
        * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
1836
        * cfgexpand.c (add_alias_set_conflicts): Likewise.
1837
        * expr.c (store_field): Likewise.
1838
        * function.c (assign_stack_temp_for_type): Likewise.
1839
        * ifcvt.c (noce_try_cmove_arith): Likewise.
1840
        * reload1.c (reload): Likewise.
1841
        * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
1842
        (alpha_set_memflags): Likewise.
1843
        * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
1844
 
1845
2012-01-24  Richard Sandiford  
1846
 
1847
        * rtl.h (true_dependence, canon_true_dependence): Remove varies
1848
        parameter.
1849
        * alias.c (fixed_scalar_and_varying_struct_p): Delete.
1850
        (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
1851
        (true_dependence_1, true_dependence, canon_true_dependence): Remove
1852
        varies parameter.
1853
        * cselib.c (cselib_rtx_varies_p): Delete.
1854
        (cselib_invalidate_mem): Update call to canon_true_dependence.
1855
        * dse.c (record_store, check_mem_read_rtx): Likewise.
1856
        (scan_reads_nospill): Likewise.
1857
        * cse.c (check_dependence): Likewise.
1858
        (cse_rtx_varies_p): Delete.
1859
        * expr.c (safe_from_p): Update call to true_dependence.
1860
        * ira.c (validate_equiv_mem_from_store): Likewise.
1861
        (memref_referenced_p): Likewise.
1862
        * postreload-gcse.c (find_mem_conflicts): Likewise.
1863
        * sched-deps.c (sched_analyze_2): Likewise.
1864
        * store-motion.c (load_kills_store): Likewise.
1865
        * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
1866
        * gcse.c (mems_conflict_for_gcse_p): Likewise.
1867
        (compute_transp): Update call to canon_true_dependence.
1868
 
1869
2012-01-25  Richard Henderson  
1870
 
1871
        * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
1872
        (maybe_emit_atomic_test_and_set): New.
1873
        (expand_sync_lock_test_and_set): Use it.
1874
        (expand_atomic_test_and_set): Likewise.
1875
        * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
1876
        the implementation; clarify implementation defined details.
1877
        * doc/md.texi (atomic_test_and_set): Document.
1878
 
1879
2012-01-25  Richard Henderson  
1880
 
1881
        * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
1882
 
1883
2012-01-25  Richard Henderson  
1884
 
1885
        PR target/51968
1886
        * config/arm/arm.c (neon_split_vcombine): Emit deleted note
1887
        to effect no-op split.
1888
 
1889
2012-01-24  Aldy Hernandez  
1890
 
1891
        PR lto/51698
1892
        * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
1893
        (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
1894
        (BT_FN_VOID_PTR_INT_SIZE): New.
1895
        (BT_FN_UINT_UINT_VAR): Remove.
1896
        (BT_FN_UINT32_UINT32_VAR): New.
1897
        (BT_FN_DOUBLE_VPTR): Remove.
1898
        (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
1899
 
1900
        * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
1901
        (_ITM_changeTransactionMode): Same.
1902
        (_ITM_memmoveRtWt): Change return type to void.
1903
        (_ITM_memcpyRtWt): Same.
1904
        (_ITM_memsetW): Same.
1905
        (_ITM_RaRD): Change types to double.
1906
        (_ITM_RD): Same.
1907
        (_ITM_RaWD): Same.
1908
        (_ITM_RfWD): Same.
1909
 
1910
        * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
1911
 
1912
2012-01-24  Aldy Hernandez  
1913
            Patrick Marlier  
1914
 
1915
        * trans-mem.c (requires_barrier): Do not instrument thread local
1916
        variables and emit save/restore for them.
1917
 
1918
2012-01-24  Jason Merrill  
1919
 
1920
        PR c++/51812
1921
        * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
1922
        output static aliases.
1923
 
1924
2012-01-24  Jakub Jelinek  
1925
 
1926
        PR driver/47249
1927
        * common.opt (-pie, -shared, pie, shared): Change from Common to
1928
        Driver.
1929
        * gcc.c (display_help): Display help for -pie and -shared.
1930
 
1931
2012-01-24  Georg-Johann Lay  
1932
 
1933
        PR target/49868
1934
        * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
1935
        Remove note on size/offset limitation.
1936
        (AVR Variable Attributes): Add example how to read data located
1937
        with progmem.  Refer to named address spaces.
1938
        * doc/invoke.texi (AVR Options): Fix typo.
1939
 
1940
2012-01-24  Richard Guenther  
1941
 
1942
        Forward-port to trunk
1943
        2010-09-21  Jakub Jelinek  
1944
 
1945
        PR middle-end/45678
1946
        * expr.c (expand_expr_real_1) : If
1947
        op0 isn't sufficiently aligned and there is movmisalignM
1948
        insn for mode, use it to load op0 into a temporary register.
1949
 
1950
2012-01-24  Jakub Jelinek  
1951
 
1952
        PR target/51957
1953
        * target.def (const_not_ok_for_debug_p): New hook.
1954
        * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
1955
        documentation.
1956
        * doc/tm.texi: Regenerated.
1957
        * dwarf2out.c (const_ok_for_output_1): If
1958
        targetm.const_not_ok_for_debug_p returns true, fail.
1959
        * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
1960
        function.
1961
        (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
1962
 
1963
2012-01-23  Kai Tietz  
1964
 
1965
        PR target/51900
1966
        * config/i386/predicates.md (symbolic_operand): Allow
1967
        UNSPEC_PCREL as PIC expression for lea.
1968
        * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
1969
        * config/i386/i386.c (ix86_delegitimize_address): Handle
1970
        UNSPEC_PCREL for none-MEM, too.
1971
 
1972
2012-01-23  Aldy Hernandez  
1973
 
1974
        * trans-mem.c (ipa_tm_create_version): Set externally_visible.
1975
        (ipa_tm_create_version_alias): Same.
1976
 
1977
2012-01-23  Uros Bizjak  
1978
 
1979
        PR libitm/51830
1980
        * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
1981
        * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
1982
 
1983
2012-01-23  Aldy Hernandez  
1984
            Patrick Marlier  
1985
            Iain Sandoe  
1986
 
1987
        PR lto/51916
1988
        * lto-wrapper.c (run_gcc): Pass the LTO section name to
1989
        simple_object_start_read.
1990
 
1991
2012-01-23  Richard Guenther  
1992
 
1993
 
1994
        PR tree-optimization/51895
1995
        * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
1996
        parameter decomposition into BLKmode components.
1997
 
1998
2012-01-23  Eric Botcazou  
1999
 
2000
        * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
2001
        fake variables for restrict-qualified pointers whose pointed-to type
2002
        contains a placeholder.
2003
 
2004
2012-01-23  Richard Guenther  
2005
 
2006
        PR tree-optimization/51949
2007
        * ipa-split.c (execute_split_functions): Do not split malloc functions.
2008
 
2009
2012-01-23  Jakub Jelinek  
2010
 
2011
        PR rtl-optimization/51933
2012
        * ree.c (transform_ifelse): Return true right away if dstreg is
2013
        already wider or equal to cand->mode.
2014
        (enum ext_modified_kind, struct ext_modified, ext_state): New types.
2015
        (make_defs_and_copies_lists): Remove defs_list and copies_list
2016
        arguments, add state argument, just truncate state->work_list
2017
        instead of always allocating and freeing the vector.  Assert that
2018
        get_defs succeeds instead of returning 2.  Changed return type to bool.
2019
        (merge_def_and_ext): Add state argument.  If SET_DEST doesn't
2020
        have ext_src_mode, see if it has been modified already with the
2021
        right kind of extension and has been extended before from the
2022
        ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
2023
        just return true.  Remember the original mode in state->modified array.
2024
        (combine_reaching_defs): Add state argument.  Don't allocate and
2025
        free here def_list, copied_list and vec vectors, instead just
2026
        VEC_truncate the vectors in *state.  Don't handle outcome == 2 here.
2027
        (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
2028
        Add state variable, clear vectors in it, initialize state.modified
2029
        if needed.  Free all the vectors at the end and state.modified too.
2030
        Don't skip a candidate if the extension expression has been modified.
2031
 
2032
2012-01-22  Douglas B Rupp  
2033
 
2034
        PR target/47096
2035
        * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
2036
         configurations. Change triplet to i[34567]86-*-interix[3-9]*.
2037
        (extra_options) interix.opt -> i386/interix.opt"
2038
        (extra_objs):Add winnt-stubs.o
2039
        * configure.ac: Add interix to target_os .comm on PE check.
2040
        * configure: Regenerate.
2041
        * config/interix3.h: Delete and move bits to..
2042
        * config/interix.h: Delete and move bits to..
2043
        * config/i386/i386-interix3.h: Delete and move bits to..
2044
        * config/i386/i386-interix.h: ..here.
2045
        (TARGET_CPU_DEFAULT): Remove redefinition.
2046
        (TARGET_ASM_CONSTRUCTOR): Undefine.
2047
        (SUBTARGET_SWITCHES): Define for ms-bitfields.
2048
        (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
2049
        (PTRDIFF_TYPE): Define.
2050
        (LONG_DOUBLE_TYPE_SIZE): Define.
2051
        (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2052
        (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2053
        (TARGET_SECTION_TYPE_FLAGS): Define.
2054
        (ASM_DECLARE_FUNCTION_NAME): Define.
2055
        (ASM_OUTPUT_EXTERNAL): Define.
2056
        (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
2057
        (ASM_OUTPUT_ALIGNED_BSS): Define.
2058
        (PCC_BITFIELD_TYPE_MATTERS): Define.
2059
        (USE_CONST_SECTION): Define.
2060
        (SUBTARGET_ENCODE_SECTION_INFO): Remove.
2061
        (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
2062
        (SUPPORTS_ONE_ONLY): Remove.
2063
        (I386_PE_STRIP_ENCODING): Define.
2064
        * config/interix.opt: Delete and move bits to..
2065
        * config/i386/interix.opt: ..here. New.
2066
        (mpe-aligned-commons): Add.
2067
        * config/i386/t-interix: Add copyright header.
2068
        (winnt-stubs.o): Add rule.
2069
 
2070
2012-01-22  Jason Merrill  
2071
 
2072
        PR c++/51832
2073
        * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
2074
        for extra name aliases.
2075
 
2076
2012-01-22  Eric Botcazou  
2077
 
2078
        PR rtl-optimization/51924
2079
        * ree.c (combine_set_extension): Improve debugging message.
2080
        (combine_reaching_defs): Likewise.
2081
        (get_defs): Rename confusingly named variable.
2082
        (find_and_remove_re): Skip a candidate if the extension expression has
2083
        been modified.
2084
 
2085
2012-01-21  Robert Millan  
2086
            Gerald Pfeifer  
2087
 
2088
        * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
2089
        (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
2090
 
2091
2012-01-20  Jakub Jelinek  
2092
 
2093
        PR tree-optimization/51914
2094
        * tree-vect-stmts.c (vectorizable_conversion): For
2095
        cvt_type && modifier == WIDEN, put temporary with cvt_type
2096
        at the beginning of vec_dsts and set vec_dest to temporary
2097
        with vectype_out.
2098
 
2099
2012-01-20  Eric Botcazou  
2100
 
2101
        * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
2102
 
2103
2011-01-20  Tijl Coosemans  
2104
 
2105
        * config/i386/i386.c: Fix checks for !TARGET_MACHO.
2106
        * config/rs6000/rs6000.c: Likewise.
2107
 
2108
2012-01-20  Jakub Jelinek  
2109
 
2110
        PR target/51915
2111
        * config/arm/arm.c (arm_count_output_move_double_insns): Call
2112
        output_move_double on a copy of operands array.
2113
 
2114
2012-01-20  Cary Coutant  
2115
            Dodji Seketeli  
2116
 
2117
        PR debug/45682
2118
        * dwarf2out.c (copy_declaration_context): Return ref to parent
2119
        of declaration DIE, if necessary.
2120
        (remove_child_or_replace_with_skeleton): Add new parameter; update
2121
        caller.  Place skeleton DIE under parent DIE of original declaration.
2122
        Move call to copy_declaration_context to here ...
2123
        (break_out_comdat_types): ... from here.
2124
 
2125
2012-01-20  Andreas Krebbel  
2126
 
2127
        PR rtl-optimization/51856
2128
        * reload.c (find_reloads_subreg_address): Set the address_reloaded
2129
        flag to reloaded.
2130
 
2131
2012-01-20  Ramana Radhakrishnan  
2132
 
2133
        PR target/51819
2134
        * config/arm/arm.c (arm_print_operand): Correct output of alignment
2135
        hints for neon loads and stores.
2136
 
2137
2012-01-20  Georg-Johann Lay  
2138
 
2139
        PR target/49868
2140
        PR target/50887
2141
        * doc/extend.texi (Named Address Spaces): Split into subsections.
2142
        (AVR Named Address Spaces): New subsection.
2143
        (M32C Named Address Spaces): New subsection.
2144
        (RL78 Named Address Spaces): New subsection.
2145
        (SPU Named Address Spaces): New subsection.
2146
        (Variable Attributes): New anchor "AVR Variable Attributes".
2147
        (AVR Variable Attributes): Rewrite and avoid wording
2148
        "address space" in this context.
2149
        * doc/invoke.texi (AVR Options): Rewrite and add documentation
2150
        for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
2151
        (AVR Built-in Macros): New subsubsection therein.
2152
        * doc/md.texi (AVR constraints): Remove "C04", "R".
2153
 
2154
2012-01-20  Richard Guenther  
2155
 
2156
        PR tree-optimization/51903
2157
        * tree-ssa-pre.c (eliminate): Properly purging of EH edges
2158
        when removing stmts.
2159
 
2160
2012-01-20  Ramana Radhakrishnan  
2161
 
2162
        PR target/50313
2163
        * config/arm/arm.c (arm_load_pic_register): Use
2164
        gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
2165
        , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
2166
        (arm_pic_static_addr): Likewise.
2167
        (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
2168
        (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
2169
        * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
2170
        (pic_load_addr_unified): New.
2171
 
2172
2012-01-20  Andrey Belevantsev  
2173
 
2174
        PR target/51106
2175
        * function.c (instantiate_virtual_regs_in_insn): Use
2176
        delete_insn_and_edges when removing a wrong asm insn.
2177
 
2178
2012-01-19  Vladimir Makarov  
2179
 
2180
        PR rtl-optimization/40761
2181
        * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
2182
        Add new member loop_num.
2183
        (IRA_LOOP_NODE_BY_INDEX): Modify the check.
2184
        (ira_build): Remove the parameter.
2185
 
2186
        * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
2187
        (ira.c): Do not build CFG loops for one region allocation.  Remove
2188
        argument from ira_build call.
2189
 
2190
        * ira-build.c (init_loop_tree_node): New function.
2191
        (create_loop_tree_nodes): Use it.  Separate the case when CFG
2192
        loops are not built.
2193
        (more_one_region_p): Check current_loops.
2194
        (finish_loop_tree_nodes): Separate the case when CFG loops are not
2195
        built.
2196
        (add_loop_to_tree): Process loop equal to NULL too.
2197
        (form_loop_tree): Separate the case when CFG loops are not built.
2198
        Use explicitly number for the root.
2199
        (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
2200
        an assertion.
2201
        (ira_print_expanded_allocno, loop_compare_func): Use loop_num
2202
        instead of loop->num.
2203
        (mark_loops_for_removal): Ditto.  Use loop_num instead of loop->num.
2204
        (mark_all_loops_for_removal): Ditto.
2205
        (remove_unnecessary_regions): Separate the case when CFG loops
2206
        are not built.
2207
        (ira_build): Remove the parameter.  Use explicit number of regions
2208
        when CFG loops are not built.
2209
 
2210
        * ira-color.c (print_loop_title): Separate the case for the root node.
2211
        Use loop_num instead of loop->num.
2212
        (move_spill_restore): Use loop_num instead of loop->num.
2213
 
2214
        * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
2215
        (change_loop): Ditto.
2216
        (change_loop): Use loop_num instead of loop->num.
2217
 
2218
        * ira-lives.c (process_bb_node_lives): Ditto.
2219
 
2220
        * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
2221
 
2222
        * ira-conflicts.c (print_allocno_conflicts): Ditto.
2223
 
2224
2012-01-19  Jakub Jelinek  
2225
 
2226
        PR libmudflap/40778
2227
        * tree-mudflap.c (mf_artificial): New function.
2228
        (execute_mudflap_function_ops, execute_mudflap_function_decls,
2229
        mx_register_decls, mudflap_enqueue_decl): Use it.
2230
 
2231
        PR target/51876
2232
        * config/arm/neon.md (*neon_vswp): Fix up operand
2233
        numbers in the insn pattern.
2234
 
2235
2012-01-19  Michael Matz  
2236
 
2237
        PR tree-optimization/46590
2238
        * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
2239
        use it in remembering which conflicts we already created.
2240
        (add_scope_conflicts): Adjust call to above, (de)allocate helper
2241
        bitmap.
2242
 
2243
2012-01-19  Aldy Hernandez  
2244
 
2245
        PR lto/51280
2246
        * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
2247
        (merge_and_complain): Same.
2248
 
2249
2012-01-19  Jakub Jelinek  
2250
 
2251
        PR bootstrap/50237
2252
        * config/initfini-array.h: Guard content of the header
2253
        with #ifdef HAVE_INITFINI_ARRAY.
2254
        * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
2255
        Add initfini-array.h to tm_file here.
2256
        * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
2257
        * config.gcc: Don't add initfini-array.h to tm_file here.
2258
        * configure: Regenerated.
2259
 
2260
2012-01-19  Andrey Belevantsev  
2261
 
2262
        PR rtl-optimization/51505
2263
        * df-problems.c (df_kill_notes): New parameter live. Update comment.
2264
        Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
2265
        (df_note_bb_compute): Update the call to df_kill_notes.
2266
 
2267
2012-01-18  Aldy Hernandez  
2268
 
2269
        * trans-mem.c (requires_barrier): Remove call to is_global_var.
2270
 
2271
2012-01-18  Richard Guenther  
2272
 
2273
        * tree-ssa.c (useless_type_conversion_p): Remove special-casing
2274
        of conversions to void *.
2275
 
2276
2012-01-17  Andreas Krebbel  
2277
            Richard Sandiford  
2278
 
2279
        PR middle-end/50325
2280
        PR middle-end/51192
2281
        * optabs.h (simplify_expand_binop): Declare.
2282
        * optabs.c (simplify_expand_binop): Make global.
2283
        * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
2284
        endian targets if the source cannot be exactly covered by word
2285
        mode chunks.
2286
 
2287
2012-01-17  Jakub Jelinek  
2288
 
2289
        PR bootstrap/51872
2290
        * hard-reg-set.h (struct hard_reg_set_container): New type.
2291
        * target.h (struct hard_reg_set_container): Forward declare.
2292
        * target.def (set_up_by_prologue): New target hook.
2293
        * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
2294
        * doc/tm.texi: Regenerated.
2295
        * function.c (thread_prologue_and_epilogue_insns): Change
2296
        set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
2297
        Call targetm.set_up_by_prologue on it.
2298
        * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
2299
        (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
2300
 
2301
2012-01-17  Nick Clifton  
2302
 
2303
        * config/rx/rx.c (rx_can_use_simple_return): New function.
2304
        * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
2305
        * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
2306
 
2307
2012-01-17  Richard Guenther  
2308
 
2309
        PR middle-end/51782
2310
        * expr.c (expand_assignment): Take address-space information
2311
        from the address operand of MEM_REF and TARGET_MEM_REF.
2312
        (expand_expr_real_1): Likewise.
2313
 
2314
2012-01-17  Andreas Krebbel  
2315
 
2316
        * ira.c (do_reload): Make sure ira_dump_file is re-set if no
2317
        reload dump is requested.
2318
 
2319
2012-01-17  Aldy Hernandez  
2320
 
2321
        PR other/51165
2322
        * trans-mem.c (requires_barrier): Call may_be_aliased.
2323
 
2324
2012-01-17  Jakub Jelinek  
2325
 
2326
        PR tree-optimization/51877
2327
        * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
2328
        call arguments and fndecls compare equal, instead return false if they
2329
        don't.  Return true only if lhs1 and lhs2 are either both NULL, or
2330
        both SSA_NAMEs that are valueized the same, or they satisfy
2331
        operand_equal_p.
2332
 
2333
2012-01-17  Rainer Orth  
2334
 
2335
        * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
2336
        Solaris 11+.
2337
        * configure: Regenerate.
2338
 
2339
2012-01-16  Jan Hubicka  
2340
 
2341
        PR c/12245
2342
        PR c++/14179
2343
        * convert.c (convert_to_integer): Use fold_convert for
2344
        converting an INTEGER_CST to integer type.
2345
 
2346
2012-01-16  Jason Merrill  
2347
 
2348
        PR c++/14179
2349
        * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
2350
 
2351
2012-01-16  Jakub Jelinek  
2352
 
2353
        PR bootstrap/51860
2354
        * config/s390/s390.c (s390_chunkify_start): Don't skip
2355
        call insns followed by NOTE_INSN_CALL_ARG_LOCATION note.  Skip
2356
        NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
2357
        If insn is followed by NOTE_INSN_VAR_LOCATION or
2358
        NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
2359
        Don't use location of note insns.
2360
 
2361
        PR tree-optimization/51865
2362
        * tree-inline.c (tree_function_versioning): Call remap_decl
2363
        on DECL_RESULT whenever it has VOID_TYPE_P type.
2364
 
2365
2012-01-15  Richard Sandiford  
2366
 
2367
        * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
2368
        for calls to locally-binding MIPS16 functions if only the return
2369
        type uses float regs.
2370
 
2371
2012-01-15  Chung-Lin Tang  
2372
            Richard Sandiford  
2373
 
2374
        * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
2375
        (SYMBOL_32_HIGH): Likewise.
2376
        (mips_output_tls_reloc_directive): Declare.
2377
        * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
2378
        (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
2379
        * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
2380
        (mips_lo_relocs, mips_hi_relocs): Make extern.
2381
        (mips16_stub_function): Move up file.
2382
        (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
2383
        (mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
2384
        (mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
2385
        (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
2386
        SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1 if it's false.
2387
        (mips_get_tp): Add MIPS16 support.
2388
        (mips_legitimize_tls_address): Remove MIPS16 sorry().
2389
        Generalize DTPREL and TPREL handling.
2390
        (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
2391
        Add MIPS16 TLS support.
2392
        (mips_output_tls_reloc_directive): New function.
2393
        (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
2394
        * config/mips/predicates.md (symbolic_operand_with_high)
2395
        (tls_reloc_operand): New predicates.
2396
        (force_to_mem_operand): Use mips_use_pcrel_pool_p.
2397
        * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
2398
        (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
2399
        (*unshifted_high): New instruction.  Use it for MIPS16 high splitter.
2400
        (consttable_tls_reloc, tls_get_tp_mips16_): New patterns.
2401
        (*tls_get_tp_mips16_call_): Likewise.
2402
 
2403
2012-01-15  Uros Bizjak  
2404
 
2405
        PR rtl-optimization/51821
2406
        * recog.c (peep2_find_free_register): Determine clobbered registers
2407
        from insn pattern.
2408
 
2409
2012-01-14  Denis Chertykov  
2410
 
2411
        PR target/50925
2412
        * config/avr/avr-protos.h: Revert change of 2012-01-09.
2413
        * config/avr/avr.c: Likewise.
2414
        * config/avr/avr.h: Likewise.
2415
 
2416
2012-01-13  Ian Lance Taylor  
2417
 
2418
        PR c++/50012
2419
        * tree.h (TYPE_QUALS): Add cast to int.
2420
        (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
2421
 
2422
2012-01-13  Ian Lance Taylor  
2423
 
2424
        * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
2425
        comparing param_index to VEC_length result.
2426
 
2427
2012-01-13  Steven Bosscher  
2428
 
2429
        * c-decl.c: Do not include tree-mudflap.h
2430
        * tree-optimize.c: Likewise.
2431
        * Makefile.in: Update dependencies.
2432
 
2433
2012-01-13  Richard Guenther  
2434
 
2435
        PR middle-end/8081
2436
        * gimplify.c (gimplify_modify_expr_rhs): For calls with a
2437
        variable-sized result always use RSO.
2438
 
2439
2012-01-12  DJ Delorie  
2440
 
2441
        * cfgexpand.c (convert_debug_memory_address): Allow any valid
2442
        pointer type, not just the default pointer type.
2443
 
2444
2012-01-09  Richard Henderson  
2445
            Denis Chertykov  
2446
 
2447
        PR target/50925
2448
        * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
2449
        * config/avr/avr.c (avr_can_eliminate): Simplify.
2450
        (avr_initial_elimination_offset): Likewise.
2451
        (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
2452
        (expand_epilogue): Likewise.
2453
        (avr_legitimize_address): Gut.
2454
        (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
2455
        (avr_hard_regno_nregs): New.
2456
        (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
2457
        (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
2458
        * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
2459
        add soft frame pointer.
2460
        (CALL_USED_REGISTERS): Likewise.
2461
        (REG_CLASS_CONTENTS): Likewise.
2462
        (REGISTER_NAMES): Likewise.
2463
        (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
2464
        (HARD_FRAME_POINTER_REGNUM): New.
2465
        (FRAME_POINTER_REGNUM): Use soft frame pointer.
2466
        (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
2467
        remove the HARD_FRAME_POINTER self-elimination.
2468
 
2469
2012-01-12  Georg-Johann Lay  
2470
 
2471
        PR target/51756
2472
        * config/avr/avr.c (avr_encode_section_info): Test for absence of
2473
        DECL_EXTERNAL when checking for initializers of progmem variables.
2474
 
2475
2012-01-12  Ira Rosen  
2476
 
2477
        PR tree-optimization/51799
2478
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
2479
        that the last operation is a type demotion.
2480
 
2481
2012-01-12  Uros Bizjak  
2482
 
2483
        * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
2484
        (x86_shift_adj_1): Remove operand constraint from operand 3.
2485
 
2486
2012-01-11  Jakub Jelinek  
2487
 
2488
        PR bootstrap/51796
2489
        * combine.c (distribute_notes): If i3 is a noreturn call,
2490
        allow old_size to be equal to args_size and make sure the
2491
        noreturn call gets REG_ARGS_SIZE note.
2492
        * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
2493
        on noreturn calls even when the delta is 0.
2494
 
2495
2012-01-11  Nathan Sidwell  
2496
 
2497
        * gcov.c (STRING_SIZE): Remove.
2498
        (generate_results): Erase annotations for source files with no
2499
        coverage information.
2500
        (read_line): New.
2501
        (output_lines): Use it.
2502
 
2503
2012-01-11  Eric Botcazou  
2504
 
2505
        * gimple.h (gimplify_body): Remove first argument.
2506
        * gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
2507
        pointer set here, instead just pass DATA to walk_tree.
2508
        (unshare_body): Remove BODY_P argument and adjust.  Create the pointer
2509
        set here and invoke copy_if_shared on the size trees of DECL_RESULT.
2510
        (unvisit_body): Likewise, but with unmark_visited.
2511
        (gimplify_body): Remove BODY_P argument and adjust.
2512
        (gimplify_function_tree): Adjust call to gimplify_body.
2513
        * omp-low.c (finalize_task_copyfn): Likewise.
2514
 
2515
2012-01-11  Eric Botcazou  
2516
 
2517
        * tree.h (build_function_decl_skip_args): Add boolean parameter.
2518
        (build_function_type_skip_args): Delete.
2519
        * tree.c (build_function_type_skip_args): Make static and add
2520
        SKIP_RETURN parameter.  Fix thinko in the handling of variants.
2521
        (build_function_decl_skip_args): Add SKIP_RETURN parameter and
2522
        pass it to build_function_type_skip_args.
2523
        * cgraph.h (cgraph_function_versioning): Add boolean parameter.
2524
        (tree_function_versioning): Likewise.
2525
        * cgraph.c (cgraph_create_virtual_clone): Adjust call to
2526
        build_function_decl_skip_args.
2527
        * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
2528
        and pass it to build_function_decl_skip_args/tree_function_versioning.
2529
        (cgraph_materialize_clone): Adjust call to tree_function_versioning.
2530
        * ipa-inline-transform.c (save_inline_function_body): Likewise.
2531
        * trans-mem.c (ipa_tm_create_version): Likewise.
2532
        * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
2533
        * tree-inline.c (declare_return_variable): Remove always-true test.
2534
        (tree_function_versioning): Add SKIP_RETURN parameter.  If the function
2535
        returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
2536
        * ipa-split.c (split_function): Skip the return value for the split
2537
        part if it doesn't return.
2538
 
2539
2012-01-11  Bill Schmidt  
2540
 
2541
        PR tree-optimization/49642
2542
        * ipa-split.c (forbidden_dominators): New variable.
2543
        (check_forbidden_calls): New function.
2544
        (dominated_by_forbidden): Likewise.
2545
        (consider_split): Check for forbidden dominators.
2546
        (execute_split_functions): Initialize and free forbidden
2547
        dominators info; call check_forbidden_calls.
2548
 
2549
2012-01-11  Matthew Gretton-Dann  
2550
 
2551
        * config/arm/arm.md (mov_notscc): Use MVN for false condition.
2552
 
2553
2012-01-11  Nick Clifton  
2554
 
2555
        * config/rx/rx.md (return): Define pattern.
2556
 
2557
2012-01-11  Richard Guenther  
2558
 
2559
        * doc/extend.texi (malloc attribute): Adjust according to
2560
        implementation.
2561
 
2562
2012-01-10  Aldy Hernandez  
2563
            Patrick Marlier  
2564
 
2565
        PR middle-end/51516
2566
        * trans-mem.c (get_cg_data): Traverse aliases if requested.
2567
        (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
2568
        (ipa_tm_note_irrevocable): Same.
2569
        (ipa_tm_scan_irr_block): Same.
2570
        (ipa_tm_decrement_clone_counts): Same.
2571
        (ipa_tm_scan_irr_function): Same.
2572
        (ipa_tm_create_version_alias): Same.
2573
        (ipa_tm_create_version): Same.
2574
        (ipa_tm_transform_calls_redirect): Same.
2575
        (ipa_tm_transform_calls): Same.
2576
        (ipa_tm_transform_transaction): Same.
2577
        (ipa_tm_execute): Same.
2578
 
2579
2012-01-10  Richard Guenther  
2580
 
2581
        PR middle-end/51806
2582
        * opts.c (common_handle_option): Handle -Werror.
2583
 
2584
2012-01-10  Andreas Schwab  
2585
 
2586
        * config/m68k/sync.md ("atomic_compare_and_swap_1"): Fix
2587
        operand number.
2588
 
2589
2012-01-10  Jason Merrill  
2590
 
2591
        * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
2592
        information.
2593
 
2594
2012-01-10  Rainer Orth  
2595
 
2596
        * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
2597
        supports R_386_TLS_GD_PLT reloc.
2598
        (gcc_cv_as_ix86_tlsldmplt): Check if linker
2599
        supports R_386_TLS_LDM_PLT reloc.
2600
        * configure: Regenerate.
2601
        * config.in: Regenerate.
2602
 
2603
2012-01-10  Georg-Johann Lay  
2604
 
2605
        PR target/49868
2606
        Extend __pgmx semantics to linearize memory.
2607
        * config/avr/avr.md (mov): Use avr_xload_libgcc_p to
2608
        determine if code comes inline or from libgcc.
2609
        (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
2610
        (movmem_qi, movmem_qi): Set constraint #2 to "n".
2611
        (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
2612
        (movmemx_qi, movmemx_hi): New insns.
2613
        (xload__libgcc): Rewrite to new insn condition.
2614
        (xload_): Remove insns.
2615
        * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
2616
        cases that don't satisfy avr_xload_libgcc_p().
2617
        (avr_addr_space_convert): Allow converting in any direction.
2618
        (avr_addr_space_subset_p): Return always true.
2619
        (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
2620
        (avr_emit_movmemhi): Ditto.
2621
        (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
2622
        (avr_out_movmem): Ditto.
2623
        (AVR_SYMBOL_FLAG_PROGMEM): New macro.
2624
        (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
2625
        (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
2626
        (avr_encode_section_info): Encode 'progmem' in symbol flags.
2627
        (output_reload_in_const): Don't zero-extend any 24-bit symbols.
2628
 
2629
2012-01-10  Richard Guenther  
2630
 
2631
        PR tree-optimization/50913
2632
        * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
2633
        Require data-refs to be representable by Graphite with respect
2634
        to any loop nest.
2635
 
2636
2012-01-10  Uros Bizjak  
2637
 
2638
        * config/i386/constraints.md ("L"): Return true for 0xffffffff.
2639
        * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
2640
 
2641
2012-01-10  Tom de Vries  
2642
 
2643
        PR rtl-optimization/51271
2644
        * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
2645
        handling annulled branch.
2646
 
2647
2012-01-10  Richard Henderson  
2648
 
2649
        * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
2650
        TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
2651
        struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
2652
        arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
2653
        arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
2654
        arm_expand_vec_perm_const): New.
2655
        * config/arm/arm-protos.h: Update.
2656
        * config/arm/neon.md (UNSPEC_VCONCAT): New.
2657
        (*neon_vswp): New.
2658
        (neon_vcombine): Use neon_split_vcombine.
2659
        (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
2660
        * config/arm/vec-common.md (vec_perm_const): New.
2661
        (vec_perm): New.
2662
 
2663
2012-01-10  Richard Henderson  
2664
 
2665
        * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
2666
        use it if reload_completed.
2667
        (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
2668
        arm_output_asm_insn, arm_process_output_memory_barrier,
2669
        arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
2670
        arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
2671
        arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
2672
        arm_process_output_sync_insn, arm_output_sync_insn,
2673
        arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
2674
        (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
2675
        (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
2676
        (emit_unlikely_jump): New.
2677
        (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
2678
        (arm_split_atomic_op): New.
2679
        * config/arm/arm-protos.h: Update.
2680
        * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
2681
        (struct arm_sync_generator): Remove.
2682
        * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
2683
        VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
2684
        (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
2685
        (VUNSPEC_LL, VUNSPEC_SC): New.
2686
        (sync_result, sync_memory, sync_required_value, sync_new_value,
2687
        sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
2688
        (attr length): Don't use arm_sync_loop_insns.
2689
        (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
2690
        (movsfcc, movdfcc): Likewise.
2691
        * config/arm/constraints.md (Ua): New.
2692
        * config/arm/prediates.md (mem_noofs_operand): New.
2693
        (sync_compare_and_swap, sync_lock_test_and_set): Remove.
2694
        (sync_clobber, sync_t2_reqd): Remove.
2695
        (sync_, sync_nand): Remove.
2696
        (sync_new_, sync_new_nand): Remove.
2697
        (sync_old_, sync_old_nand): Remove.
2698
        (arm_sync_compare_and_swap): Remove.
2699
        (arm_sync_compare_and_swap): Remove.
2700
        (arm_sync_lock_test_and_set): Remove.
2701
        (arm_sync_lock_test_and_set): Remove.
2702
        (arm_sync_new_): Remove.
2703
        (arm_sync_new_): Remove.
2704
        (arm_sync_new_nand): Remove.
2705
        (arm_sync_new_nand): Remove.
2706
        (arm_sync_old_): Remove.
2707
        (arm_sync_old_): Remove.
2708
        (arm_sync_old_nand): Remove.
2709
        (arm_sync_old_nand): Remove.
2710
        (*memory_barrier): Merge arm_output_memory_barrier.
2711
        (atomic_compare_and_swap): New.
2712
        (atomic_compare_and_swap_1): New.
2713
        (atomic_compare_and_swap_1): New.
2714
        (atomic_exchange): New.
2715
        (cas_cmp_operand, cas_cmp_str): New.
2716
        (atomic_op_operand, atomic_op_str): New.
2717
        (atomic_, atomic_nand): New.
2718
        (atomic_fetch_, atomic_fetch_nand): New.
2719
        (atomic__fetch, atomic_nand_fetch): New.
2720
        (arm_load_exclusive): New.
2721
        (arm_load_exclusivesi, arm_load_exclusivedi): New.
2722
        (arm_store_exclusive): New.
2723
 
2724
2012-01-09  Michael Meissner  
2725
 
2726
        * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
2727
        reload patterns if -mvsx-scalar-memory.
2728
 
2729
        * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
2730
        generated, even -mno-vsx-scalar-double was used.
2731
        (vsx_xscvdpsp_scalar): Likewise.
2732
        (vsx_xscvspdp_scalar2): Likewise.
2733
 
2734
2012-01-09  Tom de Vries  
2735
            Andrew Pinski  
2736
 
2737
        PR debug/51471
2738
        * reorg.c (fill_slots_from_thread): Don't speculate
2739
        frame-related insns.
2740
 
2741
2012-01-09  Richard Sandiford  
2742
 
2743
        * sched-int.h (bb_note): Move to...
2744
        * basic-block.h: ...here.
2745
        * haifa-sched.c (bb_note): Move to...
2746
        * cfgrtl.c: ...here.
2747
        * function.c (next_block_for_reg): New function.
2748
        (move_insn_for_shrink_wrap): Likewise.
2749
        (prepare_shrink_wrap): Rewrite to use the above.
2750
 
2751
2012-01-09  Aldy Hernandez  
2752
 
2753
        * gimple.c (is_gimple_non_addressable): Remove.
2754
        * gimple.h: Remove is_gimple_non_addressable.
2755
        * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
2756
        is_gimple_non_addressable.
2757
        * trans-mem.c (expand_assign_tm): Same.
2758
 
2759
2012-01-09  Richard Guenther  
2760
 
2761
        PR tree-optimization/51775
2762
        * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
2763
        * tree-ssa-pre.c (eliminate): Properly fixup EH info.
2764
 
2765
2012-01-09  Matthew Gretton-Dann  
2766
 
2767
        * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
2768
        tuning parameters.
2769
        * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
2770
 
2771
2012-01-09  Richard Guenther  
2772
 
2773
        * tree-streamer-out.c (write_ts_optimization): Fix spelling.
2774
 
2775
2012-01-08  Jan Hubicka  
2776
 
2777
        PR tree-optimize/51680
2778
        * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
2779
        on when known_vals needs to be computed; cleanup.
2780
 
2781
2012-01-08  Jan Hubicka  
2782
 
2783
        PR tree-optimize/51694
2784
        * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
2785
 
2786
2012-01-08  Jonathan Wakely  
2787
 
2788
        * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
2789
        for -std=c++98 and -std=c++11 too.
2790
 
2791
2012-01-08  Chung-Lin Tang  
2792
 
2793
        * cfgloop.c (cancel_loop): Add free() of bbs array.
2794
 
2795
2012-01-07  Jan Hubicka  
2796
 
2797
        PR tree-optimization/51600
2798
        * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
2799
        that benefits small functions.
2800
 
2801
2012-01-07  Jan Hubicka  
2802
 
2803
        * ipa-inline.c (want_inline_small_function_p): Fix formating.
2804
 
2805
2012-01-07  Jan Hubicka  
2806
 
2807
        PR tree-optimization/51680
2808
        * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
2809
        whose inlining reduce unit size.
2810
 
2811
2012-01-07  Alexandre Oliva  
2812
 
2813
        PR bootstrap/51725
2814
        * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
2815
        Add canonical node to containing_mem chain after the non-canonical
2816
        one, even if there weren't any locs to propagate.
2817
        (remove_useless_values): Keep only canonical values.
2818
        (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
2819
        (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
2820
        canonicalize mem_chain elements that are not discarded.
2821
 
2822
2012-01-06  Jakub Jelinek  
2823
 
2824
        PR target/47333
2825
        * cgraphunit.c (cgraph_optimize): Call output_weakrefs
2826
        before emitting functions.
2827
 
2828
        PR gcov-profile/50127
2829
        * bb-reorder.c (partition_hot_cold_basic_blocks): Call
2830
        clear_aux_for_blocks.
2831
 
2832
2012-01-06  Alexandre Oliva  
2833
 
2834
        PR debug/51746
2835
        * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
2836
 
2837
2012-01-06  Arnaud Charlet  
2838
 
2839
        * c-decl.c (ext_block): Moved up.
2840
        (collect_all_refs, for_each_global_decl): Take ext_block into account.
2841
 
2842
2012-01-06  Han Shen  
2843
 
2844
        Translate built-in include paths for sysroot.
2845
        * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
2846
        (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
2847
 
2848
        * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
2849
        GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
2850
 
2851
        * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
2852
        control whether sysroot should be prepended to gxx include dir.
2853
 
2854
        * configure: Regenerate.
2855
 
2856
2012-01-06  Torvald Riegel  
2857
 
2858
        PR rtl-optimization/51771
2859
        * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
2860
        * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
2861
 
2862
2012-01-05  Eric Botcazou  
2863
 
2864
        PR tree-optimization/51315
2865
        * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
2866
        (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
2867
 
2868
2012-01-05  Uros Bizjak  
2869
 
2870
        PR target/51681
2871
        * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
2872
        for shrp pattern.  Correctly handle and fixup shift variable.
2873
        Return false when shift > nelt for BYTES_BIG_ENDIAN target.
2874
 
2875
2012-01-05  Jakub Jelinek  
2876
 
2877
        PR debug/51762
2878
        * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
2879
        note when !ACCUMULATE_OUTGOING_ARGS.
2880
 
2881
2012-01-05  Eric Botcazou  
2882
 
2883
        * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
2884
        condition.
2885
        (extract_range_from_unary_expr_1): Avoid useless computations.
2886
 
2887
2012-01-05  Jakub Jelinek  
2888
 
2889
        PR rtl-optimization/51767
2890
        * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
2891
        of jump_block and add an extra edge for degenerated asm gotos.
2892
 
2893
        PR middle-end/51768
2894
        * stmt.c (check_unique_operand_names): Don't ICE during error
2895
        reporting if i is from labels chain.
2896
 
2897
        PR middle-end/44777
2898
        * profile.c (branch_prob): Split bbs that have exit edge
2899
        and need a fake entry edge too.
2900
 
2901
2012-01-05  Jan Hubicka  
2902
 
2903
        PR middle-end/49710
2904
        * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
2905
        unlooping loops.
2906
 
2907
2012-01-05  Richard Guenther  
2908
 
2909
        PR lto/50490
2910
        * tree-streamer-out.c (write_ts_optimization): New function.
2911
        (streamer_write_tree_body): Call it.
2912
        * tree-streamer-in.c (lto_input_ts_optimization): New function.
2913
        (streamer_read_tree_body): Call it.
2914
        * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
2915
 
2916
2012-01-05  Jakub Jelinek  
2917
 
2918
        PR middle-end/51761
2919
        * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
2920
        * gimplify.c (gimplify_cleanup_point_expr): Save and set
2921
        in_cleanup_point_expr before gimplify_stmt call and restore it
2922
        afterwards.
2923
        (gimplify_target_expr): Don't add {CLOBBER} cleanup if
2924
        in_cleanup_point_expr is false.
2925
 
2926
2012-01-05  Richard Guenther  
2927
 
2928
        PR middle-end/51764
2929
        * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
2930
        to c.opt.
2931
        * toplev.c (process_options): Reject combining mudflap and LTO.
2932
        * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
2933
 
2934
2012-01-05  Richard Guenther  
2935
 
2936
        PR tree-optimization/51760
2937
        * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
2938
        not VARYING.
2939
        (bit_value_unop): Handle UNDEFINED operands.
2940
        (bit_value_binop): Likewise.
2941
 
2942
2012-01-05  Georg-Johann Lay  
2943
 
2944
        * config/avr/avr.c (avr_replace_prefix): Remove.
2945
        (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
2946
        (avr_asm_function_rodata_section): Ditto.
2947
        (avr_asm_select_section): Ditto.
2948
 
2949
2012-01-05  Marcus Shawcroft  
2950
 
2951
        * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
2952
        insertion.
2953
 
2954
2012-01-05  Jakub Jelinek  
2955
 
2956
        PR bootstrap/51648
2957
        * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
2958
        calls that have any non-fake successor edges.
2959
 
2960
        PR debug/51746
2961
        * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
2962
 
2963
2012-01-04  Eric Botcazou  
2964
 
2965
        PR tree-optimization/51624
2966
        * tree-sra.c (build_ref_for_model): When replicating a chain of
2967
        COMPONENT_REFs, stop as soon as the offset would become negative.
2968
 
2969
2012-01-04  Jakub Jelinek  
2970
 
2971
        PR debug/51695
2972
        * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
2973
        in .debug_loc on the floor.
2974
 
2975
2012-01-04  Andrew Pinski  
2976
 
2977
        * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
2978
 
2979
2012-01-04  Andrew Pinski  
2980
            Adam Nemet  
2981
 
2982
        * config/mips/mips.md (size): Add SI and DI.
2983
        (SIZE): New mode attribute.
2984
        (U): New code attribute.
2985
        * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
2986
        (mips_lbux_): Delete.
2987
        (mips_lx_ext_): New pattern.
2988
        (mips_lhx): Use gen_mips_lhx_extsi.
2989
        (mips_lhx_): Delete.
2990
        (mips_lwx): Delete.
2991
        (mips_lx): New expand.
2992
        (mips_lwx_): Delete.
2993
        (mips_lx_): New pattern.
2994
        (*mips_lwx__ext): Likewise.
2995
        * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
2996
        * config/mips/mips.c (mips_lx_address_p): New function.
2997
        (mips_rtx_costs ): Call mips_lx_address_p.
2998
        (dsp64): New availability predicate.
2999
        (mips_builtins): Add an entry for __builtin_mips_ldx.
3000
        * config/mips/mips.h (ISA_HAS_LBX): New define.
3001
        (ISA_HAS_LBUX): Likewise.
3002
        (ISA_HAS_LHX): Likewise.
3003
        (ISA_HAS_LHUX): Likewise.
3004
        (ISA_HAS_LWX): Likewise.
3005
        (ISA_HAS_LWUX): Likewise.
3006
        (ISA_HAS_LDX): Likewise.
3007
        * doc/extend.texi (__builtin_mips_ldx): Document.
3008
 
3009
2012-01-04  Tristan Gingold  
3010
 
3011
        * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
3012
        when long pointers are used.
3013
        * config.build (*-*-*vms*): Handle all OpenVMS targets.
3014
        (alpha64-dec-*vms*, alpha*-dec-*vms*)
3015
        (ia64-hp-*vms*): Remove.
3016
        * config/vms/xm-vms64.h: Delete.
3017
 
3018
2012-01-04  Aldy Hernandez  
3019
 
3020
        PR middle-end/51472
3021
        * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
3022
 
3023
2012-01-04  Aldy Hernandez  
3024
 
3025
        * opts.c (finish_options): Remove duplicate sorry.
3026
 
3027
2012-01-04  Aldy Hernandez  
3028
 
3029
        PR middle-end/51696
3030
        * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
3031
        correctly.
3032
 
3033
2012-01-04  Richard Guenther  
3034
 
3035
        PR middle-end/51750
3036
        * tree.c (size_low_cst): New function.
3037
        * tree.h (size_low_cst): Declare.
3038
        * fold-const.c (fold_comparison): Use it to extract the low
3039
        part of the POINTER_PLUS_EXPR offset.
3040
 
3041
2012-01-04  Georg-Johann Lay  
3042
 
3043
        Fix clearing ZERO_REG
3044
        * config/avr/avr.md (cc): Add alternative "ldi".
3045
        (movqi_insn): Use it in cc attribute.
3046
        * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
3047
        (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
3048
        (output_reload_insisf): Use ZERO_REG to pre-clear register.
3049
 
3050
2012-01-04  Andreas Krebbel  
3051
 
3052
        * configure: Regenerate.
3053
 
3054
2012-01-04  Richard Guenther  
3055
 
3056
        PR tree-optimization/49651
3057
        * tree-ssa-structalias.c (type_can_have_subvars): New function.
3058
        (var_can_have_subvars): Use it.
3059
        (get_constraint_for_1): Only consider subfields if there can be any.
3060
 
3061
2012-01-03  Jakub Jelinek  
3062
 
3063
        PR bootstrap/51725
3064
        * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
3065
        to its new canonical_cselib_val and the cselib_val was in
3066
        first_containing_mem chain, but the canonical_cselib_val was not,
3067
        add the latter into the chain.
3068
        (cselib_invalidate_mem): Compare canonical_cselib_val of
3069
        addr_list chain elt with v.
3070
 
3071
        PR pch/51722
3072
        * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
3073
        dwarf2out_undef): Allocate e.info using ggc_strdup instead
3074
        of xstrdup.
3075
        (output_macinfo_op): Don't ggc_strdup fd->filename.
3076
        (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
3077
        then ggc_strdup it.  Don't free inc->info or cur->info.
3078
        (output_macinfo): Don't free ref->info or file->info.
3079
 
3080
2012-01-03  Ira Rosen  
3081
 
3082
        PR tree-optimization/51269
3083
        * tree-vect-loop-manip.c (set_prologue_iterations): Make
3084
        first_niters a pointer.
3085
        (slpeel_tree_peel_loop_to_edge): Likewise.
3086
        (vect_do_peeling_for_loop_bound): Update call to
3087
        slpeel_tree_peel_loop_to_edge.
3088
        (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
3089
        here.  Remove it from the parameters list.
3090
        (vect_do_peeling_for_alignment): Update calls and compute
3091
        wide_prolog_niters.
3092
 
3093
2012-01-03  Richard Guenther  
3094
 
3095
        PR tree-optimization/51070
3096
        * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
3097
        Properly handle calls.
3098
 
3099
2012-01-03  Richard Guenther  
3100
 
3101
        PR tree-optimization/51692
3102
        * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
3103
        the LHS of allocation stmts.
3104
 
3105
2012-01-03  Olivier Hainque  
3106
 
3107
        * system.h: Prior to #define, #undef fopen and freopen unconditionally.
3108
 
3109
2012-01-03  Olivier Hainque  
3110
 
3111
        * collect2.c (main): In AIX specific computations for vector
3112
        insertions, use CONST_CAST2 to cast from char ** to const char **.
3113
 
3114
2012-01-03  Richard Guenther  
3115
 
3116
        PR debug/51650
3117
        * dwarf2out.c (dwarf2out_finish): Always create a DIE for
3118
        the context of a limbo DIE when it does not already exist.
3119
 
3120
2012-01-03  Jakub Jelinek  
3121
 
3122
        PR tree-optimization/51719
3123
        * value-prof.c (gimple_ic): When indirect call isn't noreturn,
3124
        but direct call is, clear direct call's lhs and don't add fallthrough
3125
        edge from dcall_bb to join_bb and PHIs.
3126
 
3127
2012-01-03  Andreas Krebbel  
3128
 
3129
        * config/s390/s390.md ("*cmp_ccs"): Fix comment mentioning
3130
        the instructions emitted by the pattern.
3131
        ("*TDC_insn_"): Add comment.
3132
 
3133
2012-01-03  Richard Guenther  
3134
 
3135
        PR middle-end/51730
3136
        * fold-const.c (fold_comparison): Properly canonicalize
3137
        tree offset and HOST_WIDE_INT bit position.
3138
 
3139
2012-01-02  Uros Bizjak  
3140
 
3141
        * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
3142
        operands for extzv pattern.
3143
 
3144
2012-01-02  Jakub Jelinek  
3145
 
3146
        PR bootstrap/51725
3147
        * cselib.c (add_mem_for_addr): Call canonical_cselib_val
3148
        on mem_elt first.
3149
 
3150
2012-01-02  Sandra Loosemore  
3151
 
3152
        * doc/invoke.texi (-flto and related options): Copy-edit.
3153
 
3154
2012-01-02  Richard Sandiford  
3155
 
3156
        * config/mips/mips.md (loadgp_newabi_): Add missing earlyclobber.
3157
 
3158
2012-01-02  Jakub Jelinek  
3159
 
3160
        * config/i386/sse.md (*avx2_gatherdi_3, *avx2_gatherdi_4):
3161
        New patterns.
3162
 
3163
2012-01-02  Richard Sandiford  
3164
 
3165
        * expr.h (move_by_pieces_ninsns): Declare.
3166
        * expr.c (move_by_pieces_ninsns): Make external.
3167
        * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
3168
        (mips_store_by_pieces_p): Likewise.
3169
        * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
3170
        (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
3171
        * config/mips/mips.c (mips_move_by_pieces_p): New function.
3172
        (mips_store_by_pieces_p): Likewise.
3173
 
3174
2012-01-02  Jakub Jelinek  
3175
 
3176
        * passes.c (register_one_dump_file): Free full_name.
3177
 
3178
        * reload1.c (reload): Don't allocate reg_max_ref_width here.
3179
        (calculate_elim_costs_all_insns): Free offsets_at and
3180
        offsets_known_at at the end and clear the pointers.
3181
 
3182
2012-01-02  Georg-Johann Lay  
3183
 
3184
        * config/avr/avr.opt (-mbranch-cost): Fix double definition of
3185
        this option introduced in r180739.
3186
 
3187
2012-01-02  Georg-Johann Lay  
3188
 
3189
        PR target/51345
3190
        * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
3191
        (tmake_file target=avr): Add avr/t-multilib.
3192
 
3193
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
3194
        to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
3195
        * config/avr/genmultilib.awk: New file.
3196
        * config/avr/t-multilib: New auto-generated file.
3197
        * config/avr/multilib.h: New auto-generated file.
3198
        * config/avr/t-avr (AVR_MCUS): New variable.
3199
        (genopt.sh): Use it.
3200
        (s-mlib): Depend on t-multilib.
3201
        (t-multilib, multilib.h): New dependencies.
3202
        (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
3203
        (MULTILIB_OPTIONS): Remove.
3204
        (MULTILIB_MATCHES): Remove.
3205
        (MULTILIB_DIRNAMES): Remove.
3206
        (MULTILIB_EXCEPTIONS): Remove:
3207
        * config/avr/genopt.sh: Don't use hard coded file name;
3208
        pass AVR_MCUS from t-avr instead.
3209
 
3210
2012-01-02  Georg-Johann Lay  
3211
 
3212
        * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
3213
 
3214
2012-01-02  Georg-Johann Lay  
3215
 
3216
        Implement light-weight DImode support.
3217
        * config/avr/avr-dimode.md: New file.
3218
        * config/avr/avr.md: Include it.
3219
        (adjust_len): Add plus64, compare64.
3220
        (HIDI): Remove code iterator.
3221
        (code_stdname): New code attribute.
3222
        (rotx, rotsmode): Remove DI.
3223
        (rotl3, *rotw, *rotb): Use HISI instead of HIDI
3224
        as code iterator.
3225
        * config/avr/avr-protos.h (avr_have_dimode): New.
3226
        (avr_out_plus64, avr_out_compare64): New.
3227
        * config/avr/avr.c (avr_out_compare): Handle DImode.
3228
        (avr_have_dimode): New variable definition and initialization.
3229
        (avr_out_compare64, avr_out_plus64): New functions.
3230
        (avr_out_plus_1): Use simplify_unary_operation to negate xval.
3231
        (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
3232
        (avr_compare_pattern): Skip DImode comparisons.
3233
 
3234
2012-01-02  Revital Eres  
3235
 
3236
        * ddg.c (def_has_ccmode_p): New function.
3237
        (add_cross_iteration_register_deps,
3238
        create_ddg_dep_from_intra_loop_link): Call it.
3239
 
3240
2012-01-02  Richard Guenther  
3241
 
3242
        PR other/51679
3243
        * invoke.texi (fassociative-math): Remove spurious paranthesis.
3244
 
3245
2012-01-01  Jakub Jelinek  
3246
 
3247
        * gcc.c (process_command): Update copyright notice dates.
3248
        * gcov.c (print_version): Likewise.
3249
        * gcov-dump.c (print_version): Likewise.
3250
        * mips-tfile.c (main): Likewise.
3251
        * mips-tdump.c (main): Likewise.
3252
 
3253
2012-01-01  Ira Rosen  
3254
 
3255
        PR tree-optimization/51704
3256
        * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
3257
        a use is inside the basic block or loop before accessing its vect info.
3258
 
3259
2012-01-01  Jan Hubicka  
3260
 
3261
        PR rtl-optimization/51069
3262
        * cfgloopmanip.c (remove_path): Removing path making irreducible
3263
        region unconditional makes BB part of the region.
3264
 
3265
2012-01-01  Jakub Jelinek  
3266
 
3267
        PR tree-optimization/51683
3268
        * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
3269
        calls with side-effects.
3270
        * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
3271
 
3272
Copyright (C) 2012 Free Software Foundation, Inc.
3273
 
3274
Copying and distribution of this file, with or without modification,
3275
are permitted in any medium without royalty provided the copyright
3276
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.