]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
In C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a95d4000
UB
12011-04-06 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
4 (AVXMODEDCVTPS2DQ): Ditto.
5 (VEC_FLOAT_MODE): Ditto.
6 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
7 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
8 (<any_logic:code><mode>3): Use VF mode iterator.
9 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
10 Use VF mode iterator.
11 (copysign<mode>3): Use VF mode iterator.
12 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
13 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
14 (*<any_logic:code><MODEF:mode>3): Merge with
15 *avx_<any_logic:code><MODEF:mode>3.
16 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
17 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
18 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
19 (avx_cvtdq2ps<avxmodesuffix>): Remove.
20 (sse2_cvtdq2ps): Use %v modifier.
21 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
22 (avx_cvtps2dq<avxmodesuffix>): Remove.
23 (sse2_cvtps2dq): Use %v modifier.
24 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
25 (avx_cvttps2dq<avxmodesuffix>): Remove.
26 (sse2_cvttps2dq): Use %v modifier.
27 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
28 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
29 (sse2_cvtsd2siq): Fix insn template.
30 (sse2_cvtsd2siq_2): Ditto.
31 (sse2_cvttsd2siq): Ditto.
32 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
33 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
34
ad01c437
JM
352011-04-06 Joseph Myers <joseph@codesourcery.com>
36
37 * gcov-io.c: Use GCC Runtime Library Exception.
38
fe846284
JJ
392011-04-06 Jakub Jelinek <jakub@redhat.com>
40
41 PR debug/48466
42 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
43 as base_reg whatever register reg has been eliminated to, instead
44 of hardcoding STACK_POINTER_REGNUM.
45
acce4e77
JM
462011-04-06 Joseph Myers <joseph@codesourcery.com>
47
48 * doc/tm.texi.in: Document C target hooks as separate from general
49 target hooks.
50 * doc/tm.texi: Regenerate.
51 * genhooks.c (struct hook_desc): Add docname field.
52 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
53 docname field.
54 (hook_array): Include c-target.def.
55 (emit_documentation): Use docname field in output.
56 (emit_init_macros): Take docname argument. Only emit definitions
57 for hooks matching docname.
58 (main): Expect additional arguments in all cases. Pass argument
59 to emit_init_macros.
60 * target.def: Move initial macro definitions and comments to
61 target-hooks-macros.h.
62 (gcc_targetcm): Move to c-family/c-target.def.
63 * target.h (targetcm): Move declaration to c-family/c-target.h.
64 * targhooks.c (default_handle_c_option): Move to
65 c-family/c-opts.c.
66 * targhooks.h (default_handle_c_option): Move declaration to
67 c-family/c-common.h.
68 * target-hooks-macros.h: New file.
69 * config.gcc (target_has_targetcm): Define and use to add to
70 c_target_objs and cxx_target_objs.
71 * config/default-c.c: New file.
72 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
73 of target.h and target-def.h.
74 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
75 (darwin_objc_construct_string, darwin_cfstring_ref_p,
76 darwin_check_cfstring_format_arg): Make static.
77 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
78 TARGET_STRING_OBJECT_REF_TYPE_P,
79 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
80 * config/darwin-protos.h (darwin_objc_construct_string,
81 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
82 declare.
83 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
84 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 85 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
86 * config/t-darwin (darwin-c.o): Update dependencies.
87 * system.h (TARGET_HAS_TARGETCM): Poison.
88 * Makefile.in (TARGET_H): Update.
89 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
90 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
91 (default-c.o): New target.
92 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 93 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
94 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
95 c-target.def.
96 (build/genhooks.o): Update dependencies.
97
275b4baa 982011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 99
275b4baa
RG
100 * ipa-inline.c (enum inlining_mode): Remove.
101 (cgraph_flatten): Use some other token.
102 (cgraph_edge_early_inlinable_p): New function, split out from ...
103 (cgraph_perform_always_inlining): New function, split out from ...
104 (cgraph_decide_inlining_incrementally): ... here.
105 (cgraph_mark_inline_edge): Adjust.
106 (cgraph_early_inlining): Re-structure.
107 (pass_early_inline): Require SSA form.
108
9adc580c
AS
1092011-03-06 Andrew Stubbs <ams@codesourcery.com>
110 Julian Brown <julian@codesourcery.com>
111 Mark Shinwell <shinwell@codesourcery.com>
112
113 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
114 LO_REGS only for Thumb-1.
115 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
116 be used in short instructions when optimising for size on Thumb-2.
117
516426da
EB
1182011-04-06 Eric Botcazou <ebotcazou@adacore.com>
119
120 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
121 associated with user returns to be preserved.
122
96621ebf
TG
1232011-04-06 Tristan Gingold <gingold@adacore.com>
124
125 * dbxout.c: (debug_nesting, symbol_queue, symbol_queue_index)
126 (symbol_queue_size, DBXOUT_DECR_NESTING)
127 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
128 if XCOFF_DEBUGGING_INFO.
129
07c0852e
UB
1302011-04-06 Uros Bizjak <ubizjak@gmail.com>
131
132 * config/i386/i386.md (attribute isa): New.
133 (attribute enabled): New.
134 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
135 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
136 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
137 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
138 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
139 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
140 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
141 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
142
143 * config/i386/sse.md (VF): New mode iterator.
144 (VF1): Ditto.
145 (VF2): Ditto.
146 (VF_128): Ditto.
147 (SSEMODEF4): Remove.
148 (attribute sse): Handle V8SF and V4DF modes.
149 (<absneg:code><mode>2): Use VF mode iterator.
150 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
151 mode iterator.
152 (<plusminus_insn><mode>3): Use VF mode iterator.
153 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
154 Use VF mode iterator.
155 (<sse>_vm<plusminus_insn><mode>3): Merge with
156 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
157 (mul<mode>3): Use VF mode iterator.
158 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
159 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
160 mode iterator.
161 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
162 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
163 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
164 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
165 mode iterator.
166 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
167 Use VF1 mode iterator.
168 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
169 (sqrt<VF2:mode>2): New expander.
170 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
171 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
172 and sqrtv2df2. Use VF mode iterator.
173 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
174 mode iterator.
175 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
176 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
177 Use VF1 mode iterator.
178 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
179 (<smaxmin:code><mode>3): Use VF mode iterator.
180 (*<smaxmin:code><mode>3_finite): Merge with
181 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
182 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
183 (<sse>_vm<smaxmin:code><mode>2): Merge with
184 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
185 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
186 mode iterator.
187 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
188 mode iterator.
189 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
190 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
191 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
192 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
193 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
194 VF mode iterator.
195 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
196 Use VF_128 mode iterator.
197 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
198 mode iterator.
199 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
200 VF_128 mode iterator.
201 (vcond<mode>): Use VF mode iterator.
202 * config/i386/predicates.md (sse_comparison_operator): Merge with
203 avx_comparison_float_operator. Do not declare as special_predicate.
204 * config/i386/i386.c (struct builtin_description): Update for renamed
205 compare patterns.
206 (ix86_expand_args_builtin): Ditto.
207 (ix86_expand_sse_compare_mask): Ditto.
208
ff5d142c
RG
2092011-04-06 Richard Guenther <rguenther@suse.de>
210
211 * tree-inline.c (estimate_num_insns): For calls simply account
212 for all passed arguments and a used return value.
213
d7d1d041 2142011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 215
d7d1d041
RG
216 PR tree-optimization/47663
217 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
218 call_stmt_time fields.
219 (cgraph_edge_inlinable_p): Declare.
220 (cgraph_edge_recursive_p): New inline function.
221 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
222 (cgraph_clone_edge): Copy it.
223 * ipa-inline.c (cgraph_estimate_edge_time): New function.
224 Account for call stmt time.
225 (cgraph_estimate_time_after_inlining): Take edge argument.
226 (cgraph_estimate_edge_growth): Account call stmt size.
227 (cgraph_estimate_size_after_inlining): Take edge argument.
228 (cgraph_mark_inline_edge): Adjust.
229 (cgraph_check_inline_limits): Likewise.
230 (cgraph_recursive_inlining_p): Remove.
231 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
232 (cgraph_decide_recursive_inlining): Take edge argument and
233 adjust.
234 (cgraph_decide_inlining_of_small_functions): Do not avoid
235 diags for recursive inlining here.
236 (cgraph_flatten): Adjust.
237 (cgraph_decide_inlining_incrementally): Likewise.
238 (estimate_function_body_sizes): Remove call cost handling.
239 (compute_inline_parameters): Initialize caller edge call costs.
240 (cgraph_estimate_edge_growth): New function.
241 (cgraph_estimate_growth): Use it.
242 (cgraph_edge_badness): Likewise.
243 (cgraph_check_inline_limits): Take an edge argument.
244 (cgraph_decide_inlining_of_small_functions): Adjust.
245 (cgraph_decide_inlining): Likewise.
246 * tree-inline.c (estimate_num_insns): Only account for call
247 return value if it is used.
248 (expand_call_inline): Avoid diagnostics on recursive inline
249 functions here.
250 * lto-cgraph.c (lto_output_edge): Output edge call costs.
251 (input_edge): Input edge call costs.
252
2feb95f7
RO
2532011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
254
255 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
256
26fbd9c2
JW
2572011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
258
259 * doc/invoke.texi (Spec Files): Fix typo.
260
694dc0ca
EB
2612011-04-06 Eric Botcazou <ebotcazou@adacore.com>
262
263 * profile.c (branch_prob): Move declaration of local variable. Remove
264 obsolete ??? comment. Expand the location explicitly instead of using
265 the LOCATION_FILE and LOCATION_LINE macros.
266
4925d0d5
WG
2672011-04-06 Wei Guozhi <carrot@google.com>
268
269 PR target/47855
270 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
271 (arm_cond_branch): Likewise.
272 (arm_cond_branch_reversed): Likewise.
273 (arm_jump): Likewise.
274 (push_multi): Likewise.
275 * config/arm/constraints.md (Py): New constraint.
276
f55dfa2f
NF
2772011-04-05 Nathan Froyd <froydnj@codesourcery.com>
278
279 PR bootstrap/48471
280 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
281 Move these...
282 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
283 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
284 #ifdef DBX_DEBUGGING_INFO.
285
fca96842
BS
2862011-04-05 Bernd Schmidt <bernds@codesourcery.com>
287
288 PR bootstrap/48403
289 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
290 if old and new states differ.
291
30b83e38
JM
2922011-04-05 Joseph Myers <joseph@codesourcery.com>
293
294 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
295 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
296 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
297 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
298 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
299 mcfv4e): Use Alias.
300 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
301 ColdFire options to -mcpu= options.
302
277a9aa5
JL
3032011-04-05 Jeff Law <law@redhat.com>
304
305 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
306 check if BB is a successor of LOOP->header and return
307 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
308
c1e2610e
SB
3092011-04-05 Steven Bosscher <steven@gcc.gnu.org>
310
311 * cprop.c (struct reg_use): Remove.
312 (reg_use_table): Make an array of RTX.
313 (find_used_regs, constprop_register, local_cprop_pass,
314 bypass_block): Simplify users of reg_use_table.
315 (cprop_insn): Likewise. Iterate if copy propagation succeeded
316 on one of the uses found by find_used_regs.
317
e532f586
NF
3182011-04-05 Nathan Froyd <froydnj@codesourcery.com>
319
320 PR bootstrap/48469
321 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
322 declaration.
323
3fb7c055
NF
3242011-04-05 Nathan Froyd <froydnj@codesourcery.com>
325
326 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
327 as an rtx.
328 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
329
b71b43d9
SB
3302011-04-05 Steven Bosscher <steven@gcc.gnu.org>
331
332 PR middle-end/48441
333 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
334
b405b274
NF
3352011-04-05 Nathan Froyd <froydnj@codesourcery.com>
336
337 * combine.c: Include obstack.h.
338 (struct insn_link): Define.
339 (uid_log_links): Adjust type.
340 (FOR_EACH_LOG_LINK): New macro.
341 (insn_link_obstack): Declare.
342 (alloc_insn_link): Define.
343 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
344 type of link variables.
345 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
346 (try_combine, record_promoted_values, distribute_notes): Likewise.
347 (distribute_links): Likewise. Tweak prototype.
348 (clear_log_links): Delete.
349 (adjust_for_new_dest): Call alloc_insn_link.
350 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
351
6409abe3
NF
3522011-04-05 Nathan Froyd <froydnj@codesourcery.com>
353
354 * gcse.c (modify_mem_list): Convert to an array of VECs.
355 (canon_modify_mem_list, compute_transp): Tweak formatting.
356 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
357 (load_killed_in_block_p): Likewise.
358 (record_last_mem_set_info): Likewise.
359 (clear_modify_mem_tables): Likewise.
360
170d8157
TV
3612011-04-05 Tom de Vries <tom@codesourcery.com>
362
363 PR middle-end/48461
364 * function.c (emit_use_return_register_into_block): Only define if
365 HAVE_return.
366
c5911a55
EB
3672011-04-05 Eric Botcazou <ebotcazou@adacore.com>
368
369 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
370
abd016e6
JM
3712011-04-05 Joseph Myers <joseph@codesourcery.com>
372
373 * config/rx/rx-opts.h: New.
374 * config/rx/rx.c (rx_cpu_type): Remove.
375 (rx_handle_option): Don't assert that global structures are in
376 use. Access variables via opts pointer. Defer most handling of
377 OPT_mint_register_. Use error_at.
378 (rx_option_override): Handle deferred OPT_mint_register_ here.
379 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
380 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
381 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
382 (rx_cpu_types): New Enum and EnumValue entries.
383 (mint-register=): Use Defer and use Var accordingly.
384
1ed13f83
NF
3852011-04-05 Nathan Froyd <froydnj@codesourcery.com>
386
387 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
388 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
389 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
390 Move these...
391 (debug_free_queue, debug_nesting, symbol_queue_index):
392 ...and these...
393 * dbxout.c: ...to here. Make static.
394
6ce1edcf
NF
3952011-04-05 Nathan Froyd <froydnj@codesourcery.com>
396
397 * gcse.c (modify_pair): Define. Define a VEC of it.
398 (canon_modify_mem_list): Convert to an array of VECs.
399 (free_insn_expr_list_list): Delete.
400 (clear_modify_mem_tables): Call VEC_free instead.
401 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
402 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
403 (canon_list_insert, compute_transp): Likewise.
404
c201ac94
TV
4052011-04-05 Tom de Vries <tom@codesourcery.com>
406
407 PR target/43920
408 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
409 for size.
410
4c029f40
TV
4112011-04-05 Tom de Vries <tom@codesourcery.com>
412
413 PR target/43920
414 * function.c (emit_use_return_register_into_block): New function.
415 (thread_prologue_and_epilogue_insns): Use
416 emit_use_return_register_into_block.
417
2a562b0a
TV
4182011-04-05 Tom de Vries <tom@codesourcery.com>
419
420 PR target/43920
421 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
422 insn.
423
0248bceb
TV
4242011-04-05 Tom de Vries <tom@codesourcery.com>
425
426 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
427
ffa94123
YZ
4282011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
429
430 * config/arm/arm.md (define_constants for unspec): Replace with
431 define_c_enum.
432 (define_constants for unspecv): Replace with define_c_enum.
433 * config/arm/neon.md (define_constants for unspec): Replace with
434 define_c_enum.
435
3b8f9b46
RH
4362011-04-04 Richard Henderson <rth@redhat.com>
437
720cf80f 438 PR bootstrap/48400
3b8f9b46
RH
439 * dwarf2out.c (output_line_info): Always emit line info from
440 at least one section.
441 (dwarf2out_init): Create text_section_line_info here ...
442 (set_cur_line_info_table): ... not here.
443
720cf80f 4442011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
445
446 PR target/48380
447 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 448 not called.
e5b0e1ca 449
720cf80f 450 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 451
196565d4
SB
4522011-04-04 Steven Bosscher <steven@gcc.gnu.org>
453
b77f9eab
SB
454 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
455 (expr_equiv_p): Remove.
456 (insert_set_in_table): Look at <dest, src> pair instead of expr.
457 (hash_scan_set): Update call to insert_set_in_table.
458 (dump_hash_table): Dump <dest, src> pair.
459 (lookup_set): Simplify. Lookup <dest, src> pair.
460 (compute_transp): Remove, fold heavily simplified code into...
461 (compute_local_properties): ...here. Expect COMP and TRANSP
462 unconditionally.
463 (find_avail_set): Take set directly from struct expr.
464 (find_bypass-set): Likewise.
465 (bypass_block): Likewise.
466 (cprop_insn): Likewise. Remove redundant INSN_P test.
467
384d7a55
SB
468 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
469 checks on form of COND from find_implicit_sets to here.
470 (find_implicit_sets): Cleanup control flow. Split critical edges
471 if it exposes implicit sets. Allocate/resize implicit_sets as
472 necessary.
473 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
474 changed something. Run df_analyze after find_implicit_sets if any
475 edges were split. Do not allocate implicit_sets here.
476
3084ce69
SB
477 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
478 (gcse_obstack): Renamed to cprop_obstack.
479 (GNEW, GNEWVEC, GNEWVAR): Remove.
480 (gmalloc): Remove.
481 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
482 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
483 (gcse_alloc): Likewise, and rename to cprop_alloc.
484 (alloc_gcse_men, free_gcse_mem): Remove.
485 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
486 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
487 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
488
196565d4
SB
489 * cprop.c (oprs_not_set_p): Remove.
490 (mark_set, mark_clobber): Remove.
491 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
492 (reg_not_set_p): New function.
493 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
494 (cprop_insn): Likewise.
495 (cprop_jump): Use FOR_EACH_EDGE.
496
9b69cf83
BS
4972011-04-04 Bernd Schmidt <bernds@codesourcery.com>
498
499 PR bootstrap/48403
500 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
501 (rank_for_schedule): Use scheduled_insns vector instead of
502 last_scheduled_insn.
503 (ok_for_early_queue_removal): Likewise.
504 (queue_to_ready): Search forward in nonscheduled_insns_begin if
505 we have a dbg_cnt.
506 (choose_ready): Likewise.
507 (commit_schedule): Use VEC_iterate.
508 (schedule_block): Initialize nonscheduled_insns_begin. If we have
509 a dbg_cnt, use it and ensure the first insn is in the ready list.
510 (haifa_sched_init): Allocate scheduled_insns.
511 (sched_extend_ready_list): Don't allocate it; reserve space.
512 (haifa_sched_finish): Free it.
513
24f48c2f
JM
5142011-04-04 Joseph Myers <joseph@codesourcery.com>
515
516 * optc-gen.awk: Always remove type from Variable entry before
517 recording in var_seen.
518
8effe856
EB
5192011-04-04 Eric Botcazou <ebotcazou@adacore.com>
520
521 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
522 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
523 call to tidy_fallthru_edges.
524
413519ae
JM
5252011-04-04 Joseph Myers <joseph@codesourcery.com>
526
527 * doc/options.texi (ToLower): Document.
528 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower
529 field.
530 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
531 * opts.h (cl_option): Add cl_tolower field.
532 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
533 arguments with lowercase strings.
534 * config/rx/rx.opt (mcpu=): Add ToLower.
535 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
536 argument.
537
7d34a1b0
RS
5382011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
539
540 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
541
c30e7434
RS
5422011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
543
544 * config/vax/vax.c: Include reload.h.
545
112a861d
AS
5462011-04-04 Anatoly Sokolov <aesok@post.ru>
547
548 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
549 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
550 (sparc_preferred_reload_class): New function.
551
e8c6bb74
JJ
5522011-04-04 Jakub Jelinek <jakub@redhat.com>
553
2aeaa366 554 PR debug/48401
e8c6bb74
JJ
555 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
556 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
557
2c081caf
NF
5582011-04-03 Nathan Froyd <froydnj@codesourcery.com>
559
560 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
561 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
562
53802f27
AS
5632011-04-03 Anatoly Sokolov <aesok@post.ru>
564
565 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
566 (ASM_OUTPUT_ALIGNED_BSS): Define.
567
e89964e3
MM
5682011-04-03 Michael Matz <matz@suse.de>
569
570 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
571 and next_slot members.
572 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
573 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
574 (lto_streamer_cache_append): Declare.
575 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
576 unsigned index, remove offset parameter, ensure that we append
577 or update existing entries.
578 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
579 parameter, update next_slot for append.
580 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
581 parameter.
582 (lto_streamer_cache_insert_at): Likewise.
583 (lto_streamer_cache_append): New function.
584 (lto_streamer_cache_lookup): Use unsigned index.
585 (lto_streamer_cache_get): Likewise.
586 (lto_record_common_node): Don't test tree_node_can_be_shared.
587 (preload_common_node): Adjust call to lto_streamer_cache_insert.
588 (lto_streamer_cache_delete): Don't free offsets member.
589 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
590 (lto_output_string_with_length): Use lto_output_data_stream.
591 (lto_output_tree_header): Remove ix parameter, don't write it.
592 (lto_output_builtin_tree): Likewise.
593 (lto_write_tree): Adjust callers to above, don't track and write
594 offset, write unsigned index.
595 (output_unreferenced_globals): Don't emit all global vars.
596 (write_global_references): Use unsigned indices.
597 (lto_output_decl_state_refs): Likewise.
598 (write_symbol): Likewise.
599 * lto-streamer-in.c (lto_input_chain): Move earlier.
600 (input_function): Use unsigned index.
601 (input_alias_pairs): Don't read and then ignore all global vars.
602 (lto_materialize_tree): Remove ix_p parameter, don't read index,
603 don't pass it back, use lto_streamer_cache_append.
604 (lto_register_var_decl_in_symtab): Use unsigned index.
605 (lto_register_function_decl_in_symtab): Likewise.
606 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
607 index.
608 (lto_get_builtin_tree): Don't read index, use
609 lto_streamer_cache_append.
610 (lto_read_tree): Adjust call to lto_materialize_tree.
611
612 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
613 don't use function calls in arguments to MIN.
614
615 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
616 twice.
617
618 * gimple.c (gimple_type_leader_entry): Mark deletable.
619
b9a5b5b2
AM
6202011-04-03 Alan Modra <amodra@gmail.com>
621
622 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
623
ac6a641b
MM
6242011-04-03 Michael Matz <matz@suse.de>
625
626 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
627 an integer.
628 * tree.h (tree_decl_non_common.vindex): Adjust comment.
629
0038d4e0
MM
6302011-04-03 Michael Matz <matz@suse.de>
631
e9c18386 632 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
633 * gimple-fold.c (canonicalize_constructor_val): Accept being called
634 without function context.
635 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
636 current_function_decl and cfun.
637
91f2fae8
MM
6382011-04-03 Michael Matz <matz@suse.de>
639
640 * tree.c (decl_init_priority_insert): Don't create entry for
641 default priority.
642 (decl_fini_priority_insert): Ditto.
643 (fields_compatible_p, find_compatible_field): Remove.
644 * tree.h (fields_compatible_p, find_compatible_field): Remove.
645 * gimple.c (gimple_compare_field_offset): Adjust block comment.
646
da29e070
EB
6472011-04-03 Eric Botcazou <ebotcazou@adacore.com>
648
649 * combine.c (try_combine): Remove useless local variable.
650
4979c28b 6512011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 652 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
653
654 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
655 non-variable offsets and compare the remaining bases of the two
656 accesses instead of looking for exact same data-ref.
657
b4ddcaee
KT
6582011-04-02 Kai Tietz <ktietz@redhat.com>
659
f90298e1
KT
660 PR target/48416
661 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
662
b4ddcaee
KT
663 * i386.c (ix86_is_msabi_thiscall): New helper function.
664 (ix86_is_type_thiscall): New helper function.
665 (ix86_comp_type_attributes): Handle thiscall for method-functions
666 special.
667 (init_cumulative_args): Likewise.
668 (find_drap_reg): Likewise.
669 (ix86_static_chain): Likewise.
670 (x86_this_parameter): Likewise.
671 (x86_output_mi_thunk): Likewise.
672
2a9d769a 6732011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
674 Nicolas Setton <setton@adacore.com>
675 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
676
677 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
678 (add_gnat_descriptive_type_attribute): New function.
679 (gen_array_type_die): Call it.
680 (gen_enumeration_type_die): Likewise.
681 (gen_struct_or_union_type_die): Likewise.
682 (modified_type_die): Likewise.
683 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
684 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
685 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
686
15a03a11
JJ
6872011-04-01 Jakub Jelinek <jakub@redhat.com>
688
689 PR bootstrap/48148
690 * dwarf2out.c (resolve_addr): Don't call force_decl_die
691 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
692
693 Revert:
694 2011-03-17 Richard Guenther <rguenther@suse.de>
695
696 PR bootstrap/48148
697 * lto-cgraph.c (input_overwrite_node): Clear the abstract
698 origin for decls in other ltrans units.
699 (input_varpool_node): Likewise.
700
19228b93
JJ
7012011-04-01 Jakub Jelinek <jakub@redhat.com>
702
703 PR middle-end/48335
704 * expr.c (expand_assignment): Handle all possibilities
705 if TO_RTX is CONCAT.
e9c18386 706 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
707 (store_split_bit_field): If SUBREG_REG (op0) or
708 op0 itself has smaller mode than word, return it
709 for offset 0 and const0_rtx for out-of-bounds stores.
710 If word is const0_rtx, skip it.
711
88cb339e
N
7122011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
713
714 * config/h8300/h8300.c (print_operand_address): Rename to...
715 (h8300_print_operand_address): ...this. Make static. Adjust comments.
716 Call h8300_print_operand and h8300_print_operand_address instead of
717 print_operand and print_operand_address. Declare.
718 (print_operand): Renake to...
719 (h8300_print_operand): ...this. Make static. Adjust comments.
720 Call h8300_print_operand instead of print_operand. Declare.
721 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
722 (h8300_register_move_cost): Likewise.
723 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
724 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
725 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
726 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
727 * config/h8300/h8300-protos.h (print_operand): Delete.
728 (print_operand_address): Delete.
729
756d6ee9
RH
7302011-04-01 Richard Henderson <rth@redhat.com>
731
732 PR 48400
733 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
734 in strict mode before dwarf4. Re-order tests to early out
735 before switching sections.
736
ceaaaeab
NF
7372011-04-01 Nathan Froyd <froydnj@codesourcery.com>
738
739 * config/h8300/constraints.md: New file.
740 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
741 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
742 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
743 * config/h8300/predicates.md (bit_operand): Likewise.
744 (incdec_operand): Use satisfies_constraint_M and
745 satisfies_constraint_O. Don't use C code block.
746 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
747 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
748 (compute_mov_length): Use satisfies_constraint_G.
749 (fix_bit_operand): Use satisfies_constraint_U.
750 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
751 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
752 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
753 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
754 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
755 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
756 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
757 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
758 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
759 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
760 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
761 (EXTRA_MEMORY_CONSTRAINT): Delete.
762
08ae38e0
AP
7632011-04-01 Andrew Pinski <pinskia@gmail.com>
764 Michael Meissner <meissner@linux.vnet.ibm.com>
765
766 PR target/48262
767 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
768 operands, as per the specifications.
769
770 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
771 (vec_extract_evenv4sf): Ditto.
772 (vec_extract_evenv8hi): Ditto.
773 (vec_extract_evenv16qi): Ditto.
774 (vec_extract_oddv4si): Ditto.
775
bdb0b0f6
MW
7762011-03-31 Mark Wielaard <mjw@redhat.com>
777
778 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
779 high_pc attribute if the CU has no associated code. Only output
780 DW_AT_entry_pc for CU if not generating strict dwarf and
781 dwarf_version < 4.
782
722279e4
BS
7832011-04-01 Bernd Schmidt <bernds@codesourcery.com>
784
785 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
786 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
787 out of ...
788 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
789 * final.c (final_start_function): Call the new function rather
790 than using a NULL argument for dwarf2out_frame_debug.
791
c5dd277d
BS
792 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
793 that contains the prologue.
794
ec4efea9
BS
795 * haifa-sched.c (queue_insn): New arg REASON. All callers
796 changed. Print it in debugging output.
797
2a6a0d80
BS
798 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
799
86014d07
BS
800 * sched-ebb.c (begin_schedule_ready): Remove second argument.
801 Split most of the code into...
802 (begin_move_insn): ... here. New function.
803 (ebb_sched_info): Add a pointer to it.
804 * haifa-sched.c (scheduled_insns): New static variable.
805 (sched_extend_ready_list): Allocate it.
806 (schedule_block): Use it to record the order of scheduled insns.
807 Perform RTL changes to move insns only after all scheduling
808 decisions have been made.
809 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
810 begin_move_insn field.
811 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
812 * sched-int.h (struct haifa_sched_info): Remove second argument
813 from begin_schedule_ready hook. Add new member begin_move_insn.
814 * sched-rgn.c (begin_schedule_ready): Remove second argument.
815 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
816
9d701248
BS
817 * haifa-sched.c (prune_ready_list): New function, broken out of
818 schedule_block.
819 (schedule_block): Use it.
820
1ca1dad5
UW
8212011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
822
823 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
824
49568e45
KT
8252011-04-01 Kai Tietz <ktietz@redhat.com>
826
827 * config.gcc (*-*-mingw*): Allow as option the
828 posix threading model.
07c0852e 829 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
830 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
831 definition.
832 (CPP_SPEC): Add pthread/no-pthread handling.
833 (LIB_SPEC): Likewise.
834 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
835 (LIB_SPEC): Likewise.
836 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
837 flag to pass -pthread option for shared libgcc build.
838 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
839 for shared libgcc build.
840 * config/i386/t-mingw-pthread: New file.
841 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
842 New define to enable use of library pthread by default.
843 * config/i386/mingw.opt (pthread): New driver option.
844 (no-pthread): New driver option.
e9c18386 845 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
846 * config/i386/mingw-w64.opt: Likewise.
847
636b4106
GF
8482011-04-01 Gary Funck <gary@intrepid.com>
849
850 * c-decl.c (grokdeclarator): Fix formatting.
851
f04713ee
RS
8522011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
853
854 * expr.c (emit_block_move_via_movmem): Use n_generator_args
855 instead of n_operands.
856 (set_storage_via_setmem): Likewise.
857 * optabs.c (maybe_gen_insn): Likewise.
858 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
859 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
860 (mips_expand_builtin_direct): Likewise.
861 * config/spu/spu.c (expand_builtin_args): Likewise.
862
b29387ee
RS
8632011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
864
865 * recog.h (insn_data_d): Add n_generator_args.
866 * genoutput.c (data): Likewise.
867 (output_insn_data): Print it.
868 (max_opno, num_dups): Delete.
869 (scan_operands): Just fill in "d->operand[...]".
870 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
871
e792559a
RS
8722011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
873
874 * gensupport.h (pattern_stats): New structure.
875 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
876 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
877 (max_operand_1, max_operand_vec): Delete.
878 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
879
e8110d6f
NF
8802011-03-31 Nathan Froyd <froydnj@codesourcery.com>
881
882 * emit-rtl.c (emit_pattern_after_setloc): New function.
883 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
884 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
885 (emit_pattern_after): New function.
886 (emit_insn_after, emit_jump_insn_after): Call it.
887 (emit_call_insn_after, emit_debug_insn_after): Likewise.
888 (emit_pattern_before_setloc): New function.
889 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
890 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
891 Likewise.
892 (emit_pattern_before): New function.
893 (emit_insn_before, emit_jump_insn_before): Call it.
894 (emit_call_insn_before, emit_debug_insn_before): Likewise.
895
576f85f1
RH
8962011-03-31 Richard Henderson <rth@redhat.com>
897
898 * dwarf2out.c (dw_separate_line_info_ref): Remove.
899 (dw_separate_line_info_entry): Remove.
900 (enum dw_line_info_opcode): New.
901 (dw_line_info_entry): Use it.
902 (dw_line_info_table, dw_line_info_table_p): New.
903 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
904 (line_info_table, line_info_label_num): Remove.
905 (line_info_table_in_use): Remove.
906 (separate_line_info_table): Remove.
907 (separate_line_info_table_allocated): Remove.
908 (separate_line_info_table_in_use): Remove.
909 (LINE_INFO_TABLE_INCREMENT): Remove.
910 (line_info_label_num): New.
911 (cur_line_info_table): New.
912 (text_section_line_info, cold_text_section_line_info): New.
913 (separate_line_info): New.
914 (SEPARATE_LINE_CODE_LABEL): Remove.
915 (print_dwarf_line_table): Remove.
916 (debug_dwarf): Don't dump it.
917 (output_one_line_info_table): New.
918 (output_line_info): Use it.
919 (new_line_info_table): New.
920 (set_cur_line_info_table): New.
921 (dwarf2out_switch_text_section): Use it.
922 (dwarf2out_begin_function): Likewise.
923 (push_dw_line_info_entry): New.
924 (dwarf2out_source_line): Rewrite for new line info tables.
925 (dwarf2out_init): Remove dead initailizations.
926
300d83d9
JM
9272011-03-31 Joseph Myers <joseph@codesourcery.com>
928
929 * opts.h (cl_option): Add comments to fields. Add bit-fields for
930 various flags.
931 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
932 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
933 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
934 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
935 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
936 * opt-functions.awk (flag_init, switch_bit_fields): New.
937 (switch_flags): Don't handle flags moved to bit-fields. Don't
938 generate CL_MISSING_OK or CL_SAVE.
939 * optc-gen.awk: Update to generate bit-field output as well as
940 flags field.
941 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
942 bit-field instead of CL_REJECT_DRIVER flag.
943 * opts-common.c (generate_canonical_option,
944 decode_cmdline_option): Use bit-fields instead of CL_* flags.
945 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
946 instead of CL_REJECT_NEGATIVE flag.
947 * toplev.c (print_switch_values): Use cl_report bit-field instead
948 of CL_REPORT flag.
949
d4d73ce2
EB
9502011-03-31 Eric Botcazou <ebotcazou@adacore.com>
951
952 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
953 a zero minimum index only if it is redundant.
954
b8faca75
VM
9552011-03-31 Vladimir Makarov <vmakarov@redhat.com>
956
957 PR rtl-optimization/48381
958 * ira-color.c (assign_hard_reg): Use hard reg set intersection
959 instead of ira_class_hard_reg_index for calculating conflicting
960 hard registers.
961
7d11cebe
SB
9622011-03-31 Steven Bosscher <steven@gcc.gnu.org>
963
964 * cprop.c: Clean up hash table building.
965 (reg_avail_info): Remove.
966 (oprs_available_p): Remove.
967 (record_last_reg_set_info): Remove.
968 (record_last_set_info): Remove.
969 (reg_available_p): New function.
970 (gcse_constant_p): Do not treat unfolded conditions as constants.
971 (make_set_regs_unavailable): New function.
972 (hash_scan_set): Simplify with new reg_available_p.
973 (compute_hash_table_work): Traverse insns stream only once.
974 Do not compute reg_avail_info. Traverse insns in reverse order.
975 Record implicit sets after recording explicit sets from the block.
976
98faf84f
MM
9772011-03-31 Michael Matz <matz@suse.de>
978
e9c18386 979 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 980
f52d97da
AS
9812011-03-31 Anatoly Sokolov <aesok@post.ru>
982
983 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
984 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
985 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
986 (h8300_mode_dependent_address_p): New function.
987 (h8300_get_index): Make static.
988
e16b6fd0
JL
9892011-03-31 Jeff Law <law@redhat.com>
990
10c51983
JL
991 * reload1.c (elimination_effects): Fix typo in recent change.
992
e9c18386 993 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
994 typo potentially leading to null pointer dereference.
995
996 * caller-save.c (new_saved_hard_reg): Eliminate return value.
997 (setup_save_areas): Corresponding changes to avoid useless
998 assignments.
999
1000 * jump.c (reversed_comparison_code_parts): Avoid successive return
1001 statements when REVERSE_CONDITION is defined.
1002
1003 * expr.c (expand_assignment): Avoid useless assignments.
1004 (expand_expr_real_1): Likewise.
1005 (expand_expr_real_2): Avoid useless statements.
1006
1007 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
1008
1009 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
1010
1011 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
1012 statements.
1013
1014 * stmt.c (expand_expr_stmt): Avoid useless assignment.
1015
eb1eb914
JM
10162011-03-31 Joseph Myers <joseph@codesourcery.com>
1017
1018 PR target/47109
1019 * doc/tm.texi.in (TARGET_VERSION): Remove.
1020 * doc/tm.texi: Regenerate.
1021 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
1022 * collect2.c (main): Don't use TARGET_VERSION.
1023 * mips-tdump.c (main): Don't use TARGET_VERSION.
1024 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 1025 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
1026 * config/rs6000/vxworksae.h: Remove.
1027 * config/alpha/alpha.h (TARGET_VERSION): Remove.
1028 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
1029 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
1030 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
1031 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
1032 * config/arm/arm.h (TARGET_VERSION): Remove.
1033 * config/arm/coff.h (TARGET_VERSION): Remove.
1034 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
1035 * config/arm/elf.h (TARGET_VERSION): Remove.
1036 * config/arm/freebsd.h (TARGET_VERSION): Remove.
1037 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
1038 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
1039 * config/arm/pe.h (TARGET_VERSION): Remove.
1040 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
1041 * config/arm/semi.h (TARGET_VERSION): Remove.
1042 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
1043 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
1044 * config/arm/vxworks.h (TARGET_VERSION): Remove.
1045 * config/avr/avr.h (TARGET_VERSION): Remove.
1046 * config/bfin/bfin.h (TARGET_VERSION): Remove.
1047 * config/fr30/fr30.h (TARGET_VERSION): Remove.
1048 * config/frv/frv.h (TARGET_VERSION): Remove.
1049 * config/h8300/h8300.h (TARGET_VERSION): Remove.
1050 * config/i386/cygwin.h (TARGET_VERSION): Remove.
1051 * config/i386/darwin.h (TARGET_VERSION): Remove.
1052 * config/i386/darwin64.h (TARGET_VERSION): Remove.
1053 * config/i386/djgpp.h (TARGET_VERSION): Remove.
1054 * config/i386/freebsd.h (TARGET_VERSION): Remove.
1055 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
1056 * config/i386/gnu.h (TARGET_VERSION): Remove.
1057 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
1058 * config/i386/i386elf.h (TARGET_VERSION): Remove.
1059 * config/i386/linux.h (TARGET_VERSION): Remove.
1060 * config/i386/linux64.h (TARGET_VERSION): Remove.
1061 * config/i386/lynx.h (TARGET_VERSION): Remove.
1062 * config/i386/mingw32.h (TARGET_VERSION): Remove.
1063 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
1064 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
1065 * config/i386/netware.h (TARGET_VERSION): Remove.
1066 * config/i386/nto.h (TARGET_VERSION): Remove.
1067 * config/i386/openbsd.h (TARGET_VERSION): Remove.
1068 * config/i386/vxworks.h (TARGET_VERSION): Remove.
1069 * config/ia64/elf.h (TARGET_VERSION): Remove.
1070 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
1071 * config/ia64/hpux.h (TARGET_VERSION): Remove.
1072 * config/ia64/linux.h (TARGET_VERSION): Remove.
1073 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
1074 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
1075 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
1076 * config/lm32/lm32.h (TARGET_VERSION): Remove.
1077 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
1078 * config/m32c/m32c.h (TARGET_VERSION): Remove.
1079 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
1080 * config/m32r/m32r.h (TARGET_VERSION): Remove.
1081 * config/m68k/linux.h (TARGET_VERSION): Remove.
1082 * config/m68k/m68k.h (TARGET_VERSION): Remove.
1083 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
1084 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
1085 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
1086 * config/mep/mep.h (TARGET_VERSION): Remove.
1087 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
1088 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
1089 * config/mips/iris6.h (MACHINE_TYPE): Remove.
1090 * config/mips/linux.h (TARGET_VERSION): Remove.
1091 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
1092 * config/mips/vxworks.h (TARGET_VERSION): Remove.
1093 * config/mmix/mmix.h (TARGET_VERSION): Remove.
1094 * config/mn10300/linux.h (TARGET_VERSION): Remove.
1095 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
1096 * config/pa/pa.h (TARGET_VERSION): Remove.
1097 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
1098 * config/picochip/picochip.h (TARGET_VERSION): Remove.
1099 * config/rs6000/aix.h (TARGET_VERSION): Remove.
1100 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
1101 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
1102 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
1103 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
1104 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
1105 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
1106 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
1107 * config/rs6000/linux.h (TARGET_VERSION): Remove.
1108 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
1109 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
1110 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
1111 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
1112 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
1113 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
1114 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
1115 * config/s390/linux.h (TARGET_VERSION): Remove.
1116 * config/s390/s390.h (TARGET_VERSION): Remove.
1117 * config/s390/tpf.h (TARGET_VERSION): Remove.
1118 * config/score/score.h (TARGET_VERSION): Remove.
1119 * config/sh/linux.h (TARGET_VERSION): Remove.
1120 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
1121 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
1122 * config/sh/sh.h (TARGET_VERSION): Remove.
1123 * config/sh/sh64.h (TARGET_VERSION): Remove.
1124 * config/sh/superh.h (TARGET_VERSION): Remove.
1125 * config/sh/vxworks.h (TARGET_VERSION): Remove.
1126 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
1127 * config/sparc/linux.h (TARGET_VERSION): Remove.
1128 * config/sparc/linux64.h (TARGET_VERSION): Remove.
1129 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
1130 TARGET_NAME32, TARGET_NAME): Remove.
1131 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
1132 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
1133 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
1134 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
1135 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
1136 * config/spu/spu.h (TARGET_VERSION): Remove.
1137 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
1138 * config/v850/v850.h (TARGET_VERSION): Remove.
1139 * config/vax/linux.h (TARGET_VERSION): Remove.
1140 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
1141 * config/xtensa/elf.h (TARGET_VERSION): Remove.
1142 * config/xtensa/linux.h (TARGET_VERSION): Remove.
1143
ace31bca
EB
11442011-03-31 Eric Botcazou <ebotcazou@adacore.com>
1145
1146 PR target/48142
1147 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
1148 frame-related from frame-unrelated adjustments to the stack pointer.
1149
76f9db36
JJ
11502011-03-31 Jakub Jelinek <jakub@redhat.com>
1151
1152 * common.opt (fdebug-types-section): Move earlier.
1153 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
1154
b7826465
AT
11552011-03-31 Andreas Tobler <andreast@fgznet.ch>
1156
1157 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
1158 var.
1159
1290e54c
NF
11602011-03-30 Nathan Froyd <froydnj@codesourcery.com>
1161
1162 * tree.h (CASE_CHAIN): Define.
1163 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
1164 (gimple_redirect_edge_and_branch): Likewise.
1165
bddc98e1
VM
11662011-03-30 Vladimir Makarov <vmakarov@redhat.com>
1167
1168 PR middle-end/48367
1169 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
1170 calculation.
1171
c865e437
JL
11722011-03-30 Jeff Law <law@redhat.com>
1173
b3750213 1174 * PR bootstrap/48371
c865e437
JL
1175 * reload1.c (reload): Fix botch in last change.
1176
1177 * reload.h (struct reload): Fix typo introduced in last change.
1178
2cdf9574
JM
11792011-03-30 Joseph Myers <joseph@codesourcery.com>
1180
1181 * config/arm/arm.opt (mhard-float, msoft-float): Mark
1182 Undocumented. Remove help text.
1183 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
1184 -mhard-float.
1185
666a21a2
JM
11862011-03-30 Joseph Myers <joseph@codesourcery.com>
1187
1188 * doc/options.texi (NegativeAlias): Document.
1189 (Alias): Mention NegativeAlias.
1190 * opt-functions.awk: Handle NegativeAlias.
e9c18386 1191 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
1192 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
1193 * opts.h (CL_NEGATIVE_ALIAS): Define.
1194 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
1195 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
1196 OPT_mspe_.
1197 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
1198 Alias entries.
1199 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
1200 mno-spe and mno-isel instead of mspe=no and -misel=no.
1201
0fa4e351
MW
12022011-03-29 Mark Wielaard <mjw@redhat.com>
1203
1204 * common.opt (fdebug-types-section): New flag.
1205 * doc/invoke.texi: Document new -fno-debug-types-section flag.
1206 * dwarf2out.c (use_debug_types): New define.
1207 (struct die_struct): Mark die_id with GTY desc use_debug_types.
1208 (print_die): Guard output of type unit signatures using
1209 use_debug_types.
1210 (build_abbrev_table): Replace assert of dwarf_version >= 4
1211 with assert on use_debug_types.
1212 (size_of_die): Likewise.
1213 (unmark_dies): Likewise.
1214 (value_format): Decide AT_ref_external form on use_debug_types.
1215 (output_die): Replace dwarf_version version check guard with
1216 use_debug_types where appropriate.
1217 (modified_type_die): Likewise.
1218 (gen_reference_type_die): Likewise.
1219 (dwarf2out_start_source_file): Likewise.
1220 (dwarf2out_end_source_file): Likewise.
1221 (prune_unused_types_walk_attribs): Likewise.
1222 (dwarf2out_finish): Likewise.
1223
4648deb4
VM
12242011-03-30 Vladimir Makarov <vmakarov@redhat.com>
1225
1226 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
1227
4f431835
RS
12282011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
1229
1230 PR rtl-optimization/48332
1231 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
1232 mode of input operand N and modeN to its actual mode.
1233
f2034d06
JL
12342011-03-30 Jeff Law <law@redhat.com>
1235
1236 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
1237 define accessor macro.
1238 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
1239 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
1240 (reg_equiv_init): Likewise.
1241 (reg_equivs_size): New variable.
1242 (reg_equiv_init_size): Remove.
1243 (allocate_initial_values): Move prototype to here from....
1244 * integrate.h (allocate_initial_values): Remove prototype.
1245 * integrate.c: Include reload.h.
1246 (allocate_initial_values): Corresponding changes.
1247 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
1248 (fix_reg_equiv_init, no_equiv): Corresponding changes.
1249 (update_equiv_regs): Corresponding changes.
1250 (ira): Corresponding changes.
1251 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
1252 (push_secondary_reload): Corresponding changes.
1253 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
1254 (make_memloc, find_reloads_address): Corresponding changes.
1255 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
1256 (find_reloads_address_1): Corresponding changes.
1257 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
1258 (refers_to_regno_for_reload_p): Corresponding changes.
1259 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
1260 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
1261 * reload1.c: Include ggc.h.
1262 (grow_reg_equivs): New function.
1263 (replace_pseudos_in, reload): Corresponding changes.
1264 (calculate_needs_all_insns, alter_regs): Corresponding changes.
1265 (eliminate_regs_1, elimination_effects): Corresponding changes.
1266 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
1267 (delete_output_reload): Likewise.
1268 * caller-save.c (mark_referenced_regs): Corresponding changes.
1269 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
1270 * frv/predicates.md (frv_load_operand): Corresponding changes.
1271 * microblaze/microblaze.c (double_memory_operand): Corresponding
1272 changes.
1273 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
1274 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 1275 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
1276 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
1277 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
1278 changes.
1279 * pa/pa.c (emit_move_sequence): Corresponding changes.
1280 * vax/vax.c (nonindexed_address_p): Corresponding changes.
1281
159b81b0
RS
12822011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
1283
1284 PR target/47551
1285 * config/arm/arm.c (coproc_secondary_reload_class): Handle
1286 structure modes. Don't check neon_vector_mem_operand for
1287 vector or structure modes.
1288
a6217191
RS
12892011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
1290 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1291
1292 PR target/43590
1293 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
1294 operand 1 and reshuffle the operands to match.
1295 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
1296
bd837408
CS
12972011-03-30 Christian Schüler <cschueler@gmx.de>
1298
6955d771 1299 PR driver/48208
bd837408 1300 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 1301
6955d771 1302 PR driver/48260
bd837408
CS
1303 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
1304 handler function.
1305 * config/darwin.opt: Added '-arch' option.
1306
e9c0470a
NC
13072011-03-30 Nick Clifton <nickc@redhat.com>
1308
1309 * config/rx/rx.md: Add peepholes and patterns to combine
1310 extending loads and simple arithmetic instructions.
1311 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
1312 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
1313 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 1314 modes to use pre-decrement and post-increment addressing.
e9c18386 1315 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 1316 addresses.
e9c18386
UB
1317 (rx_print_operand): Add support for %Q. Fix handling of %Q.
1318 (rx_memory_move_cost): Adjust cost of stores.
1319 (rx_adjust_insn_length): New function.
e9c0470a 1320
8a87e7ab
JJ
13212011-03-30 Jakub Jelinek <jakub@redhat.com>
1322
1323 PR c/48305
1324 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
1325 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
1326 matching arg00/arg01 types.
1327
12486e03
EB
13282011-03-30 Eric Botcazou <ebotcazou@adacore.com>
1329
1330 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
1331 last_location to UNKNOWN_LOCATION.
1332
0b99eef6
L
13332011-03-30 H.J. Lu <hongjiu.lu@intel.com>
1334
1335 PR target/48349
1336 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
1337 FLOAT_SSE_REGS.
1338
023592aa
JM
13392011-03-30 Joseph Myers <joseph@codesourcery.com>
1340 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1341
1342 PR bootstrap/48337
1343 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
1344 Init(PROCESSOR_V7).
1345 (sparc_cpu): Likewise.
1346 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
1347 PROCESSOR_V7.
1348
ad3b266b
VM
13492011-03-29 Vladimir Makarov <vmakarov@redhat.com>
1350
1351 PR target/48336
1352 PR middle-end/48342
1353 PR rtl-optimization/48345
1354 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
1355 hard regs for given mode from profitable regs when doing secondary
1356 allocation.
1357
633c9126
JL
13582011-03-29 Jeff Law <law@redhat.com>
1359
1360 PR bootstrap/48327
1361 * tree-ssa-threadupdate.c (struct redirection_data): Remove
1362 do_not_duplicate field.
1363 (lookup_redirection_data): Corresponding changes.
1364 (create_duplicates): Always create a template block.
1365 (redirect_edges): Remove code which reused the original block
1366 when it was going to become unreachable code.
1367 (thread_block): Don't set do_not_duplicate field.
1368
eb50f63a
JM
13692011-03-29 Joseph Myers <joseph@codesourcery.com>
1370
1371 * lto-opts.c (register_user_option_p, lto_register_user_option):
1372 Make type argument unsigned.
1373 * lto-streamer.h (lto_register_user_option): Make type argument
1374 unsigned.
1375 * opth-gen.awk: Make CL_* macros unsigned.
1376 * opts-common.c (find_opt): Make lang_mask argument unsigned.
1377 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
1378 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
1379 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
1380 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
1381 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
1382 (find_opt): Make lang_mask argument unsigned.
1383
76763a6d
VM
13842011-03-29 Vladimir Makarov <vmakarov@redhat.com>
1385
1386 PR rtl-optimization/48331
1387 PR rtl-optimization/48334
1388 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
1389 for any used algorithm.
1390
5c82436e
VM
13912011-03-29 Vladimir Makarov <vmakarov@redhat.com>
1392
1393 * ira-conflicts.c (build_object_conflicts): Add unused attribute
1394 to parent_max.
1395
7a81008b
UB
13962011-03-29 Uros Bizjak <ubizjak@gmail.com>
1397
1398 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
1399 (alpha_option_override): Don't set alpha_sr_alias_set.
1400 (emit_frame_store_1): Use gen_frame_mem rather than calling
1401 set_mem_alias_set.
1402 (alpha_expand_epilogue): Ditto.
1403
86c8d1f6
IR
14042011-03-29 Ira Rosen <ira.rosen@linaro.org>
1405
1406 PR tree-optimization/48290
1407 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
1408 vectorization, check that relevant phis in the basic block after
1409 the inner loop are really inner loop's exit phis.
1410
0d12220f
RS
14112011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
1412
e8cf17e7 1413 PR debug/48190
0d12220f
RS
1414 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
1415 (cached_dw_loc_list_def): New structure.
1416 (cached_dw_loc_list): New typedef.
1417 (cached_dw_loc_list_table): New variable.
1418 (cached_dw_loc_list_table_hash): New function.
1419 (cached_dw_loc_list_table_eq): Likewise.
1420 (add_location_or_const_value_attribute): Take a bool cache_p.
1421 Cache the list when the parameter is true.
1422 (gen_formal_parameter_die): Update caller.
1423 (gen_variable_die): Likewise.
1424 (dwarf2out_finish): Likewise.
1425 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
1426 while generating debug info for the decl.
1427 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
1428 (dwarf2out_init): Initialize cached_dw_loc_list_table.
1429 (resolve_addr): Cache the result of resolving a chain of
1430 location lists.
1431
1756cb66
VM
14322011-03-28 Vladimir Makarov <vmakarov@redhat.com>
1433
1434 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
1435 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 1436
1756cb66
VM
1437 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
1438 after regstat_init_n_sets_and_refs.
1439
1440 * ira.c: Add more comments at the top.
1441 (setup_stack_reg_pressure_class, setup_pressure_classes):
1442 Add comments how we compute the register pressure classes.
1443 (setup_allocno_and_important_classes): Add more comments.
1444 (setup_class_translate_array, reorder_important_classes)
1445 (setup_reg_class_relations): Add comments.
1446
1447 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
1448 start of the file.
1449
1450 * ira-color.c: Add 2011 to the Copyright line.
1451 (assign_hard_reg): Add more comments.
1452 (improve_allocation): Ditto.
1453
1454 * ira-costs.c: Add 2011 to the Copyright line.
1455 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
1456 comments.
1457 (setup_regno_cost_classes_by_mode): Ditto.
1458
1459 Initial patches from ira-improv branch:
1460
1461 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
1462
1463 * ira-build.c: (ira_create_object): Remove initialization of
1464 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
1465 (ira_create_allocno): Remove initialization of
1466 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
1467 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
1468 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
1469 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
1470 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
1471 Initialize ALLOCNO_ADD_DATA.
1472 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
1473 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
1474 ALLOCNO_REG.
1475 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
1476 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
1477
1478 * ira.c (ira_reallocate): Remove.
1479 (setup_pressure_classes): Call
1480 ira_init_register_move_cost_if_necessary. Use
1481 ira_register_move_cost instead of ira_get_register_move_cost.
1482 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
1483 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
1484
1485 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
1486 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
1487 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
1488 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
1489 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
1490 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
1491 Fix formatting.
7a81008b 1492 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
1493 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1494 (struct allocno_color_data): New.
1495 (allocno_color_data_t): New typedef.
1496 (allocno_color_data): New definition.
1497 (ALLOCNO_COLOR_DATA): New macro.
1498 (struct object_color_data): New.
1499 (object_color_data_t): New typedef.
1500 (object_color_data): New definition.
1501 (OBJECT_COLOR_DATA): New macro.
1502 (update_copy_costs, calculate_allocno_spill_cost): Call
1503 ira_init_register_move_cost_if_necessary. Use
1504 ira_register_move_cost instead of ira_get_register_move_cost.
1505 (move_spill_restore, update_curr_costs): Ditto.
1506 (allocno_spill_priority): Make it inline.
7a81008b 1507 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
1508 (struct coalesce_data, coalesce_data_t): New.
1509 (allocno_coalesce_data): New definition.
1510 (ALLOCNO_COALESCE_DATA): New macro.
1511 (merge_allocnos, coalesced_allocno_conflict_p): Use
1512 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
1513 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
1514 (coalesce_allocnos): Ditto.
1515 (setup_coalesced_allocno_costs_and_nums): Ditto.
1516 (collect_spilled_coalesced_allocnos): Ditto.
1517 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
1518 (setup_slot_coalesced_allocno_live_ranges): Ditto.
1519 (coalesce_spill_slots): Ditto.
1520 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
1521 free allocno_coalesce_data.
1522
1523 * ira-conflicts.c: Fix formatting.
1524 (process_regs_for_copy): Call
1525 ira_init_register_move_cost_if_necessary. Use
1526 ira_register_move_cost instead of ira_get_register_move_cost.
1527 (build_object_conflicts): Optimize.
1528
1529 * ira-costs.c (record_reg_classes): Optimize. Call
1530 ira_init_register_move_cost_if_necessary. Use
1531 ira_register_move_cost, ira_may_move_in_cost, and
1532 ira_may_move_out_cost instead of ira_get_register_move_cost and
1533 ira_get_may_move_cost.
1534 (record_address_regs): Ditto.
1535 (scan_one_insn): Optimize.
1536 (find_costs_and_classes): Optimize.
1537 (process_bb_node_for_hard_reg_moves): Call
1538 ira_init_register_move_cost_if_necessary. Use
1539 ira_register_move_cost instead of ira_get_register_move_cost.
1540
1541 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
1542 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
1543 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
1544 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
1545 definitions.
1546 (ira_initiate_emit_data, ira_finish_emit_data)
1547 (create_new_allocno): New functions.
7a81008b 1548 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
1549 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
1550 Use ira_register_move_cost instead of ira_get_register_move_cost.
1551
1552 * ira-int.h: Fix some comments.
7a81008b
UB
1553 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
1554 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
1555 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
1556 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
1557 add_data.
1558 (struct ira_allocno): Make mode and aclass a bitfield. Move other
1559 bitfield after mode. Make hard_regno a short int. Make
1560 hard_regno short. Remove first_coalesced_allocno and
1561 next_coalesced_allocno. Move mem_optimized_dest_p,
1562 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
1563 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
1564 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
1565 temp, colorable_p. Add new member add_data.
1566 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
1567 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
1568 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
1569 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
1570 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
1571 (ALLOCNO_ADD_DATA): New macro.
1572 (ira_emit_data_t): New typedef.
1573 (struct ira_emit_data): New. Move mem_optimized_dest_p,
1574 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
1575 from struct ira_allocno.
1576 (ALLOCNO_EMIT_DATA): New macro.
1577 (ira_allocno_emit_data, allocno_emit_reg): New.
1578 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 1579 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
1580 (OBJECT_ADD_DATA): New macro.
1581 (ira_reallocate): Remove.
1582 (ira_initiate_emit_data, ira_finish_emit_data): New.
1583 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
1584 (ira_init_register_move_cost_if_necessary): New.
1585 (ira_object_conflict_iter_next): Merge into
1586 ira_object_conflict_iter_cond.
7a81008b 1587 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66
VM
1588
1589 * ira-live.c: (process_single_reg_class_operands): Call
1590 ira_init_register_move_cost_if_necessary. Use
1591 ira_register_move_cost instead of ira_get_register_move_cost.
1592
1593 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
1594
1595 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
1596
1597 * ira-costs.c: Fix formatting.
1598 (cost_classes, cost_classes_num): Remove.
1599 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
1600 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
1601 (cost_classes_del, cost_classes_htab): New.
1602 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
1603 (initiate_regno_cost_classes, setup_cost_classes): New.
1604 (setup_regno_cost_classes_by_aclass): New.
7a81008b 1605 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
1606 (record_reg_classes): Use regno_cost_classes instead of
1607 cost_classes. Move checking opposite operand up.
1608 (record_address_regs): Use regno_cost_classes
1609 instead of cost_classes.
1610 (scan_one_insn): Ditto. Use always general register.
1611 (print_allocno_costs): Use regno_cost_classes instead of
1612 cost_classes.
1613 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
1614 (find_costs_and_classes): Set up cost classes for each registers.
1615 Use also their mode for this. Use regno_cost_classes instead of
1616 cost_classes.
1617 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
1618 cost_classes.
1619 (free_ira_costs, ira_init_costs): Don't use cost_classes.
1620 (ira_costs, ira_set_pseudo_classes): Call
1621 initiate_regno_cost_classes and finish_regno_cost_classes.
1622
1623 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
1624
1625 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
1626
1627 * target.def (ira_cover_classes): Remove.
1628
7a81008b 1629 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
1630
1631 * doc/tm.texi.in: Ditto.
1632
1633 * ira-conflicts.c: Remove mentioning cover classes from the file.
1634 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 1635 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
1636
1637 * targhooks.c (default_ira_cover_classes): Remove.
1638
1639 * targhooks.h (default_ira_cover_classes): Ditto.
1640
1641 * haifa-sched.c: Remove mentioning cover classes from the file.
1642 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
1643 ira_pressure_classes and ira_pressure_classes_num instead of
1644 ira_reg_class_cover_size and ira_reg_class_cover. Use
1645 sched_regno_pressure_class instead of sched_regno_cover_class.
1646 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
1647 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1648
1649 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
1650 classes from the file.
1651 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
1652 (struct object_hard_regs, struct object_hard_regs_node): New.
1653 (struct ira_object): New members profitable_hard_regs,
1654 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
1655 (struct ira_allocno): Rename cover_class to aclass. Rename
1656 cover_class_cost and updated_cover_class_cost to class_cost and
1657 updated_class_cost. Remove splay_removed_p and
1658 left_conflict_size. Add new members colorable_p.
1659 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
1660 (ALLOCNO_COLORABLE_P): New macro.
1661 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
1662 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
1663 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
1664 (OBJECT_...): Rename parameter C to O.
1665 (OBJECT_PROFITABLE_HARD_REGS): New macro.
1666 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
1667 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
1668 (struct target_ira_int): New members x_ira_max_memory_move_cost,
1669 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
1670 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
1671 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
1672 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
1673 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
1674 x_ira_reg_class_subunion.
1675 (ira_max_memory_move_cost, ira_max_register_move_cost)
1676 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
1677 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
1678 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 1679 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
1680 (ira_reg_class_union): Rename to ira_reg_class_subunion.
1681 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
1682 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
1683 (ira_tune_allocno_costs_and_cover_classes): Rename to
1684 ira_tune_allocno_costs.
1685 (ira_debug_hard_regs_forest): New.
1686 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
1687 (ira_object_conflict_iter_next): Fix comments.
7a81008b 1688 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
1689 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
1690 cover_class to aclass.
1691 (ira_allocate_and_accumulate_costs): Ditto.
1692 (ira_allocate_and_set_or_copy_costs): Ditto.
1693
1694 * opts.c (decode_options): Remove ira_cover_class check.
1695
1696 * ira-color.c: Remove mentioning cover classes from the file. Use
1697 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
1698 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
1699 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
1700 (splay-tree.h): Remove include.
1701 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
1702 before copy_freq_compare_func.
1703 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
1704 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
1705 New definitions.
1706 (hard_regs_roots, hard_regs_node_vec): Ditto.
1707 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
1708 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
1709 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
1710 (create_new_object_hard_regs_node): Ditto.
1711 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 1712 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
1713 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
1714 Ditto.
1715 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
1716 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
1717 (remove_unused_object_hard_regs_nodes): Ditto.
1718 (enumerate_object_hard_regs_nodes): Ditto.
1719 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
1720 (object_hard_regs_subnode_t): Ditto.
1721 (struct object_hard_regs_subnode): Ditto.
1722 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
1723 (setup_object_hard_regs_subnode_index): Ditto.
1724 (get_object_hard_regs_subnodes_num): Ditto.
1725 (form_object_hard_regs_nodes_forest): Ditto.
1726 (finish_object_hard_regs_nodes_tree): Ditto.
1727 (finish_object_hard_regs_nodes_forest): Ditto.
1728 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 1729 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
1730 (pseudos_have_intersected_live_ranges_p): Rename to
1731 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1732 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
1733 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
1734 (update_copy_costs): Remove assert. Skip cost update if the hard
1735 reg does not belong the class.
1736 (assign_hard_reg): Process only profitable hard regs.
1737 (uncolorable_allocnos_num): Make it scalar.
1738 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
1739 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
1740 and ira_reg_class_max_nregs.
1741 (bucket_allocno_compare_func): Check frequency first.
1742 (sort_bucket): Add compare function as a parameter.
1743 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
1744 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
1745 (push_allocno_to_stack): Rewrite for checking new allocno
1746 colorability.
7a81008b 1747 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
1748 (push_only_colorable): Pass new parameter to sort_bucket.
1749 (push_allocno_to_spill): Remove.
1750 (allocno_spill_priority_compare): Make it inline and rewrite.
1751 (splay_tree_allocate, splay_tree_free): Remove.
1752 (allocno_spill_sort_compare): New function.
1753 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
1754 build and use splay tree. Choose first allocno in uncolorable
1755 allocno bucket to spill. Remove setting spill cost.
1756 (all_conflicting_hard_regs): Remove.
1757 (setup_allocno_available_regs_num): Check only profitable hard
1758 regs. Print info about hard regs nodes.
1759 (setup_allocno_left_conflicts_size): Remove.
1760 (put_allocno_into_bucket): Don't call
7a81008b 1761 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
1762 (improve_allocation): New.
1763 (color_allocnos): Call setup_profitable_hard_regs,
1764 form_object_hard_regs_nodes_forest, improve_allocation,
1765 finish_object_hard_regs_nodes_forest. Setup spill cost.
1766 (print_loop_title): Use pressure classes.
1767 (color_allocnso): Ditto.
1768 (do_coloring): Remove allocation and freeing splay_tree_node_pool
1769 and allocnos_for_spilling.
1770 (ira_sort_regnos_for_alter_reg): Don't setup members
1771 {first,next}_coalesced_allocno.
1772 (color): Remove allocating and freeing removed_splay_allocno_vec.
1773 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
1774 prohibited_class_mode_regs.
1775
1776 * ira-lives.c: Remove mentioning cover classes from the file. Fix
1777 formatting.
1778 (update_allocno_pressure_excess_length): Use pressure classes.
1779 (inc_register_pressure, dec_register_pressure): Check for pressure
1780 class.
1781 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
1782 pressure class. Use ira_reg_class_nregs instead of
1783 ira_reg_class_max_nregs.
1784 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
1785 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
1786 (single_reg_class): Use ira_reg_class_nregs instead of
1787 ira_reg_class_max_nregs.
1788 (process_bb_node_lives): Use pressure classes.
1789
1790 * ira-emit.c: Remove mentioning cover classes from the file. Use
1791 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
1792 (change_loop): Use pressure classes.
1793 (modify_move_list): Call ira_set_allocno_class instead of
1794 ira_set_allocno_cover_class.
1795
1796 * ira-build.c: Remove mentioning cover classes from the file. Use
1797 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
1798 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
1799 ALLOCNO_UPDATED_CLASS_COST instead of
1800 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
1801 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
1802 (ira_create_allocno): Remove initialization of
1803 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
1804 ALLOCNO_COLORABLE_P.
1805 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
1806 Update conflict regs for the objects.
1807 (create_cap_allocno): Remove assert. Don't propagate
1808 ALLOCNO_AVAILABLE_REGS_NUM.
1809 (ira_free_allocno_costs): New function.
1810 (finish_allocno): Change a part of code into call of
1811 ira_free_allocno_costs.
1812 (low_pressure_loop_node_p): Use pressure classes.
1813 (object_range_compare_func): Don't compare classes.
1814 (setup_min_max_conflict_allocno_ids): Ditto.
1815
1816 * loop-invariant.c: Remove mentioning cover classes from the file.
1817 Use ira_pressure_classes and ira_pressure_classes_num instead of
1818 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
1819 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
1820 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1821 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
1822 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
1823 STACK_REG_COVER_CLASS.
1824 (get_regno_cover_class): Rename to get_regno_pressure_class.
1825 (move_loop_invariants): Initialize and finalize regstat.
1826
1827 * ira.c: Remove mentioning cover classes from the file. Add
1828 comments about coloring without cover classes. Use ALLOCNO_CLASS
1829 instead of ALLOCNO_COVER_CLASS. Fix formatting.
1830 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
1831 setup_class_subset_and_memory_move_costs.
1832 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
1833 (setup_cover_and_important_classes): Rename to
1834 setup_allocno_and_important_classes.
1835 (setup_class_translate_array): New.
1836 (setup_class_translate): Call it for allocno and pressure classes.
1837 (cover_class_order): Rename to allocno_class_order.
1838 (comp_reg_classes_func): Use ira_allocno_class_translate instead
1839 of ira_class_translate.
1840 (reorder_important_classes): Set up ira_important_class_nums.
1841 (setup_reg_class_relations): Set up ira_reg_class_superunion.
1842 (print_class_cover): Rename to print_classes. Add parameter.
1843 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
1844 Print pressure classes too.
1845 (find_reg_class_closure): Rename to find_reg_classes. Don't call
1846 setup_reg_subclasses.
7a81008b 1847 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
1848 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
1849 (setup_prohibited_class_mode_regs): Use
7a81008b 1850 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
1851 (clarify_prohibited_class_mode_regs): New function.
1852 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
1853 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
1854 (ira_init_once): Initialize them.
1855 (free_register_move_costs): Process them.
1856 (ira_init): Move calls of find_reg_classes and
1857 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
1858 Call clarify_prohibited_class_mode_regs.
1859 (ira_no_alloc_reg): Remove.
1860 (too_high_register_pressure_p): Use pressure classes.
1861
1862 * sched-deps.c: Remove mentioning cover classes from the file.
1863 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
1864 ira_pressure_classes and ira_pressure_classes_num instead of
1865 ira_reg_class_cover_size and ira_reg_class_cover.
1866 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
1867 sched_regno_pressure_class instead of sched_regno_cover_class.
1868 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
1869 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1870
1871 * ira.h: Add 2010 to Copyright.
1872 (ira_no_alloc_reg): Remove external.
1873 (struct target_ira): Rename x_ira_hard_regno_cover_class,
1874 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
1875 x_ira_class_translate to x_ira_hard_regno_allocno_class,
1876 x_ira_allocno_classes_num, x_ira_allocno_classes, and
1877 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
1878 x_ira_pressure_classes, x_ira_pressure_class_translate, and
1879 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
1880 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
1881 x_ira_no_alloc_regs.
7a81008b 1882 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
1883 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
1884 ira_allocno_classes_num and ira_allocno_classes.
1885 (ira_class_translate): Rename to ira_allocno_class_translate.
1886 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
1887 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
1888 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
1889 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
1890 (ira_no_alloc_regs): New.
1891
1892 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
1893 classes from the file. Use ALLOCNO_CLASS instead of
1894 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
1895 ALLOCNO_COVER_CLASS_COST.
1896 (regno_cover_class): Rename to regno_aclass.
1897 (record_reg_classes): Use ira_reg_class_subunion instead of
1898 ira_reg_class_union.
1899 (record_address_regs): Check overflow.
1900 (scan_one_insn): Ditto.
7a81008b 1901 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
1902 (print_pseudo_costs): Use REG_N_REFS.
1903 (find_costs_and_classes): Use classes intersected with them on the
1904 1st pass. Check overflow. Use ira_reg_class_subunion instead of
1905 ira_reg_class_union. Use ira_allocno_class_translate and
1906 regno_aclass instead of ira_class_translate and regno_cover_class.
1907 Modify code for finding regno_aclass. Setup preferred classes for
1908 the next pass.
1909 (setup_allocno_cover_class_and_costs): Rename to
1910 setup_allocno_class_and_costs. Use regno_aclass instead of
1911 regno_cover_class. Use ira_set_allocno_class instead of
1912 ira_set_allocno_cover_class.
1913 (init_costs, finish_costs): Use regno_aclass instead of
1914 regno_cover_class.
1915 (ira_costs): Use setup_allocno_class_and_costs instead of
1916 setup_allocno_cover_class_and_costs.
1917 (ira_tune_allocno_costs_and_cover_classes): Rename to
1918 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
1919 by processing objects. Use ira_reg_class_max_nregs instead of
1920 ira_reg_class_nregs.
1921
1922 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
1923
1924 * sched-int.h: Remove mentioning cover classes from the file.
1925 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
1926
1927 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
1928 classes from the file.
1929 (struct reg_pref): Rename coverclass into allocnoclass.
1930 (reg_cover_class): Rename to reg_allocno_class.
1931
7a81008b 1932 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
1933
1934 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
1935
1936 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
1937
1938 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
1939
1940 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
1941
1942 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
1943
1944 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
1945
1946 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
1947
1948 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
1949
1950 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
1951
1952 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
1953 (i386_ira_cover_classes): Ditto.
1954
1955 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
1956
1957 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
1958
1959 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
1960
1961 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
1962
1963 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
1964
1965 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
1966
1967 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
1968 (mips_ira_cover_classes): Ditto.
1969
1970 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
1971
1972 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
1973
1974 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
1975
1976 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
1977
1978 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
1979
1980 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
1981 (IRA_COVER_CLASSES_VSX): Ditto.
1982
1983 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
1984 (rs6000_ira_cover_classes): Ditto.
1985
1986 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
1987
1988 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
1989
1990 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
1991
1992 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
1993
1994 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
1995
1996 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
1997
1998 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
1999
2000 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
2001
2002 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
2003
2004 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
2005
2b80199f
JJ
20062011-03-29 Jakub Jelinek <jakub@redhat.com>
2007
71dae1fe
JJ
2008 PR debug/48253
2009 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
2010 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
2011 dw_fde_unlikely_section_end_label, cold_in_std_section,
2012 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
2013 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
2014 fields.
2015 (output_fde): Use dw_fde_second_{begin,end} if second is
2016 true, otherwise dw_fde_{begin,end}.
2017 (output_call_frame_info): Test dw_fde_second_begin != NULL
2018 instead of dw_fde_switched_sections.
2019 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
2020 fields, initialize new fields. Initialize in_std_section
2021 unconditionally from the first partition.
2022 (dwarf2out_end_epilogue): Don't override dw_fde_end when
2023 dw_fde_second_begin is non-NULL.
2024 (dwarf2out_switch_text_section): Stop initializing removed
2025 dw_fde_struct fields, initialize new fields, initialize
2026 also dw_fde_end here. Set dw_fde_switch_cfi even when
2027 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
2028 (struct var_loc_list_def): Add last_before_switch field.
2029 (arange_table, arange_table_allocated, arange_table_in_use,
2030 ARANGE_TABLE_INCREMENT, add_arange): Removed.
2031 (size_of_aranges): Count !in_std_section and !second_in_std_section
2032 hunks in fdes, instead of looking at arange_table_in_use.
2033 (output_aranges): Add aranges_length argument, don't call
2034 size_of_aranges here. Instead of using aranges_table*
2035 emit ranges for fdes when !in_std_section resp.
2036 !second_in_std_section.
2037 (dw_loc_list): Break ranges crossing section switch.
2038 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 2039 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
2040 (gen_subprogram_die): Don't call add_arange. Use
2041 dw_fde_{begin,end} for first partition and if switched
2042 section dw_fde_second_{begin,end} for the second.
2043 (var_location_switch_text_section_1,
2044 var_location_switch_text_section): New functions.
2045 (dwarf2out_begin_function): Initialize cold_text_section even
2046 when function_section () isn't text_section.
2047 (prune_unused_types): Don't walk arange_table.
2048 (dwarf2out_finish): Don't needlessly test
2049 flag_reorder_blocks_and_partition when testing cold_text_section_used.
2050 If info_section_emitted, call size_of_aranges and if it indicates
2051 non-empty .debug_aranges, call output_aranges with the computed
2052 size. Stop using removed dw_fde_struct fields, use
2053 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
2054 for second.
2055
2b80199f
JJ
2056 PR debug/48203
2057 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
2058 create ENTRY_VALUE if incoming or address of incoming's MEM
2059 is a hard REG.
2060 * dwarf2out.c (mem_loc_descriptor): Don't emit
2061 DW_OP_GNU_entry_value of DW_OP_fbreg.
2062 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
2063 on ENTRY_VALUE is able to find the canonical parameter VALUE.
2064 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
2065 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
2066 ENTRY_VALUE_EXPs.
2067 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
2068 is a REG_P or MEM_P with REG_P address, compute hash directly
2069 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
2070 (preserve_only_constants): Don't clear VALUES forwaring
2071 ENTRY_VALUE to some other VALUE.
2072
8a445129
RS
20732011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
2074
2075 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
2076 instead of GEN_INT.
2077
c82fee88
EB
20782011-03-28 Eric Botcazou <ebotcazou@adacore.com>
2079
2080 * cfgexpand.c (expand_gimple_cond): Always set the source location and
2081 block before expanding the statement.
2082 (expand_gimple_stmt_1): Likewise. Set them here...
2083 (expand_gimple_stmt): ...and not here. Tidy.
2084 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
2085 unknown.
2086
e45425ec
SB
20872011-03-28 Steven Bosscher <steven@gcc.gnu.org>
2088
2089 * Makefile.in: New rule for cprop.o.
2090 * gcse.c: Move constant/copy propagation to cprop.c.
2091 (compute_local_properties): Only handle expression tables.
2092 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
2093 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
2094 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
2095 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 2096 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
2097 compute_cprop_data, find_used_regs, try_replace_reg,
2098 find_avail_set, cprop_jump, constprop_register, cprop_insn,
2099 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
2100 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
2101 find_bypass_set, reg_killed_on_edge, bypass_block,
2102 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
2103 execute_rtl_cprop, pass_rtl_cprop): Move to...
2104 * cprop.c: ...here. New file, constant/copy propagation for RTL
2105 moved from gcse.c to here with minor cleanups in duplicated code.
2106
c09d5426
L
21072011-03-28 H.J. Lu <hongjiu.lu@intel.com>
2108
2109 * config/i386/i386.c (flag_opts): Fix a typo in
2110 -mavx256-split-unaligned-store.
2111
9eaa7740
AS
21122011-03-28 Anatoly Sokolov <aesok@post.ru>
2113
2114 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
2115 LIBCALL_VALUE): Remove macros.
2116 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2117 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2118 (h8300_function_value, h8300_libcall_value,
2119 h8300_function_value_regno_p): New functions.
2120
dcec2be2
AS
21212011-03-28 Anatoly Sokolov <aesok@post.ru>
2122
2123 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
2124
520af9ec
JL
21252011-03-28 Jeff Law <law@redhat.com>
2126
2127 * tree-ssa-threadupdate.c (redirect_edges): Call
2128 create_edge_and_update_destination_phis as needed.
2129 (create_edge_and_update_destination_phis): Accept new BB argument.
2130 All callers updated.
2131 (thread_block): Do not update the profile when threading around
2132 intermediate blocks.
2133 (thread_single_edge): Likewise.
2134 (determine_bb_domination_status): If BB is not a successor of the
2135 loop header, return NONDOMINATING.
2136 (register_jump_thread): Note when we register a jump thread around
2137 an intermediate block.
2138 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
2139 (thread_across_edge): Use it.
2140
7450b54f
TG
21412011-03-28 Tristan Gingold <gingold@adacore.com>
2142
2143 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
2144 when for_return is 2.
2145
649beb33
JL
21462011-03-28 Jeff Law <law@redhat.com>
2147
2148 * var-tracking.c (canonicalize_values_mark): Delete unused
2149 lhs assignment.
2150 (canonicalize_values_star, set_variable_part): Likewise.
2151 (clobber_variable_part, delete_variable_part): Likewise.
2152
d5b8da97
SB
21532011-03-28 Steven Bosscher <steven@gcc.gnu.org>
2154
2155 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
2156
322dd859
MJ
21572011-03-28 Martin Jambor <mjambor@suse.cz>
2158
2159 * tree-inline.c (expand_call_inline): Do not check that destination
2160 node is analyzed.
2161 (optimize_inline_calls): Assert that destination node is analyzed.
2162 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
2163 not call tree_lowering_passes.
2164 * cgraph.h (cgraph_analyze_function): Declare.
2165 * cgraphunit.c (cgraph_analyze_function): Make public.
2166
aa53e58b
JM
21672011-03-28 Joseph Myers <joseph@codesourcery.com>
2168
2169 * config/sparc/sparc-opts.h: New.
2170 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
2171 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
2172 (sparc_option_override): Store processor_type enumeration rather
2173 than string in cpu_default. Remove name and enumeration from
2174 cpu_table. Directly default -mcpu then default -mtune from -mcpu
2175 without using sparc_select. Use target_flags_explicit instead of
2176 fpu_option_set.
2177 * config/sparc/sparc.h (enum processor_type): Move to
2178 sparc-opts.h.
2179 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
2180 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
2181 HeaderInclude entry.
2182 (mcpu=, mtune=): Use Var and Enum.
2183 (sparc_processor_type): New Enum and EnumValue entries.
2184
dd350eba
RO
21852011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2186 Iain Sandoe <iains@gcc.gnu.org>
2187
2188 PR target/48245
2189 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
2190
1b29f05e
EB
21912011-03-28 Eric Botcazou <ebotcazou@adacore.com>
2192
2193 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
2194 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
2195 Insert new statements at it in lieu of STMT.
2196 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
2197 * tree-vect-stmts.c (vectorizable_store): Likewise.
2198 (vectorizable_load): Likewise.
2199
506e6808
UB
22002011-03-28 Uros Bizjak <ubizjak@gmail.com>
2201
2202 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
2203 (divtf3): Ditto.
2204 (multf3): Ditto.
2205 (subtf3): Ditto.
2206
2e939ee9
L
22072011-03-27 H.J. Lu <hongjiu.lu@intel.com>
2208
2209 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
2210 unaligned 256bit load/store.
2211 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
2212 (*avx_movdqu<avxmodesuffix>): Likewise.
2213
5e85ab88
JDA
22142011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2215
2216 PR target/48288
2217 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
2218 * config/pa/pa.md (iordi3): Use new predicate in expander.
2219 (iorsi3): Likewise.
2220
47be3d6d
AS
22212011-03-27 Anatoly Sokolov <aesok@post.ru>
2222
506e6808 2223 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 2224 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
2225 * config/mips/mips-protos.h (mips_function_value): Remove.
2226 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
2227 (mips_function_value_1): ... this. Make static. Handle receiving
2228 the function type in 'fn_decl_or_type' argument.
2229 (mips_function_value, mips_libcall_value,
2230 mips_function_value_regno_p): New function.
2231 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2232 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2233
d253656a
L
22342011-03-27 H.J. Lu <hongjiu.lu@intel.com>
2235
2236 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
2237 and -mavx256-split-unaligned-store.
2238 (ix86_option_override_internal): Split 32-byte AVX unaligned
2239 load/store by default.
2240 (ix86_avx256_split_vector_move_misalign): New.
2241 (ix86_expand_vector_move_misalign): Use it.
2242
2243 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
2244 -mavx256-split-unaligned-store.
2245
2246 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
2247 256bit load/store. Generate unaligned store on misaligned memory
2248 operand.
2249 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
2250 256bit load/store.
2251 (*avx_movdqu<avxmodesuffix>): Likewise.
2252
2253 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
2254 -mavx256-split-unaligned-store.
2255
1ea9206a
RS
22562011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
2257
2258 PR target/38598
2259 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
2260 Update commentary.
2261
b99ce2a8
RS
22622011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
2263
2264 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
2265 opno arguments with an expand_operand. Use create_input_operand.
2266 (mips_prepare_builtin_target): Delete.
2267 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
2268 functions.
2269 (mips_expand_builtin_direct): Use create_output_operand and
2270 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
2271 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
2272 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
2273
69d52339
IR
22742011-03-27 Ira Rosen <ira.rosen@linaro.org>
2275
2276 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
2277 function.
2278 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
2279
ba5e9aca
EB
22802011-03-26 Eric Botcazou <ebotcazou@adacore.com>
2281
2282 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
2283 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
2284 basic blocks and call commit_edge_insertions directly.
2285 (fixup_abnormal_edges): Move from here to...
2286 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
2287 on the edges and return whether some have actually been inserted.
2288 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
2289 compensation code.
2290
5d369d58
AB
22912011-03-26 Andrey Belevantsev <abel@ispras.ru>
2292
2293 PR rtl-optimization/48144
2294 * sel-sched-ir.c (merge_history_vect): Factor out from ...
2295 (merge_expr_data): ... here.
2296 (av_set_intersect): Rename to av_set_code_motion_filter.
2297 Update all callers. Call merge_history_vect when an expression
2298 is found in both sets.
2299 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
2300
f082c000
AM
23012011-03-26 Alan Modra <amodra@gmail.com>
2302
2303 * config/rs6000/predicates.md (word_offset_memref_op): Handle
2304 cmodel medium addresses.
2305 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
2306 64-bit gpr loads and stores.
2307 (rs6000_secondary_reload_ppc64): New function.
2308 * config/rs6000/rs6000-protos.h: Declare it.
2309 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
2310
8ac5e12e
AM
23112011-03-26 Alan Modra <amodra@gmail.com>
2312
2313 PR target/47487
2314 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
2315 GNU Go in traceback table.
2316
c2654ded
RH
23172011-03-25 Richard Henderson <rth@redhat.com>
2318
2319 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
2320 if there are exactly 6 operands.
2321 (set_storage_via_setmem): Similarly.
2322
ba78087b
KT
23232011-03-25 Kai Tietz <ktietz@redhat.com>
2324
2325 * collect2.c (write_c_file_stat): Handle backslash
2326 as right-hand directory separator.
2327 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
2328 checking just for slash.
2329 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
2330 instead of checking for trailing slash.
2331 * gcc.c (record_temp_file): Use filename_cmp instead
2332 of strcmp.
2333 (do_spec_1): Likewise.
2334 (replace_outfile_spec_function): Likewise.
2335 (is_directory): Use filename_ncmp instead of strncmp.
2336 (print_multilib_info): Likewise.
2337 * gcov.c (find_source): Use filename_cmp instead
2338 instead of strcmp.
2339 (make_gcov_file_name): Fix order of slash/backslash
2340 checks.
2341 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
2342 (add_standard_paths): Likewise.
2343 * mips-tfile.c (saber_stop): Handle backslash.
2344 * prefix.c (update_path): Use filename_ncmp instead of
2345 strncmp.
2346 * profile.c (output_location): Use filename_cmp instead
2347 of strcmp.
2348 * read-md.c (handle_toplevel_file): Handle backslash.
2349 * tlink.c (frob_extension): Likewise.
2350 * tree-cfg.c (same_line_p): Use filename_cmp instead of
2351 strcmp.
2352 * tree-dump.c (dequeue_and_dump): Handle backslash.
2353 * tree.c (get_file_function_name): Likewise.
2354 * gengtype.c (read_input_list): Likewise.
2355 (get_file_realbasename): Likewise.
2356 (get_output_file_with_visibility): Use filename_cmp
2357 instead of strcmp.
2358
75f6ec9a
RS
23592011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
2360
2361 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
2362 case to VFPv1.
2363
6c4e2997
NF
23642011-03-25 Nathan Froyd <froydnj@codesourcery.com>
2365
2366 * fold-const.c (expr_location_or): New function.
2367 (fold_truth_not_expr): Call it.
2368
0edf1bb2
JL
23692011-03-25 Jeff Law <law@redhat.com>
2370
2371 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
2372 va_end.
2373 * c-family/c-common.c (def_fn_type): Likewise.
2374 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
2375 * emit-rtl.c (gen_rtvec): Likewise.
2376 * lto/lto-lang.c (def_fn_type): Likewise.
2377
fdc2de95
RG
23782011-03-25 Richard Guenther <rguenther@suse.de>
2379
2380 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
2381 also generate copies.
2382 (fini_copy_prop): Handle constant values properly.
2383
21385db0
JJ
23842011-03-25 Jakub Jelinek <jakub@redhat.com>
2385
2386 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
2387 mode size instead of bitsize with DWARF2_ADDR_SIZE.
2388 (hash_loc_operands, compare_loc_operands): Handle
2389 DW_OP_GNU_entry_value.
2390
6510e8bb
KT
23912011-03-25 Kai Tietz <ktietz@redhat.com>
2392
2393 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
2394 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
2395 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
2396 comment and use macro TARGET_64BIT_MS_ABI instead.
2397 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
2398 and change default behavior for 32-bit MS_ABI.
2399 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
2400 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
2401 32-bit, too.
2402 (ix86_cfun_abi): Likewise.
2403 (ix86_maybe_switch_abi): Adjust comment.
2404 (init_cumulative_args): Check for bit-ness in MS_ABI case.
2405 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
2406 instead of checking for SYSV_ABI.
2407 (ix86_nsaved_sseregs): Likewise.
2408 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
2409 to 16 bytes.
2410 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
2411 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
2412 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
2413 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
2414 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
2415
34019e28
RG
24162011-03-25 Richard Guenther <rguenther@suse.de>
2417
2418 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
2419 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
2420 (verify_gimple): Remove.
2421 * tree-cfg.c (verify_gimple_call): Merge verification
2422 from verify_stmts.
2423 (verify_gimple_phi): Merge verification from verify_stmts.
2424 (verify_gimple_label): New function.
2425 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
2426 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
2427 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
2428 (verify_stmts): Rename to verify_gimple_in_cfg.
2429 (verify_gimple_in_cfg): New function.
2430 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
2431 * tree-ssa.c (verify_ssa): Likewise.
2432 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
2433
605896f5
RG
24342011-03-25 Richard Guenther <rguenther@suse.de>
2435
2436 * passes.c (init_optimization_passes): Add FRE pass after
2437 early SRA.
2438
7baa7c13
BS
24392011-03-25 Bernd Schmidt <bernds@codesourcery.com>
2440 Andrew Stubbs <ams@codesourcery.com>
2441
2442 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
2443 for Cortex-A8.
2444 (arm_movdi_vfp_cortexa8): New pattern.
2445 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
2446 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
2447 instructions when tuning for Cortex-A8. Set attribute "arch".
2448 * config/arm/arm.md: Move include arm-tune.md up a bit.
2449 (define_attr "arch"): Add "onlya8" and "nota8" values.
2450 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
2451
45dbce1b
NF
24522011-03-25 Nathan Froyd <froydnj@codesourcery.com>
2453
4ff08abf 2454 PR bootstrap/48282
45dbce1b
NF
2455 Revert:
2456 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2457
2458 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
2459 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
2460 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
2461 * passes.c (init_optimization_passes): Move
2462 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
2463
ac9a30ae
KT
24642011-03-25 Kai Tietz <ktietz@redhat.com>
2465
2466 * c-typeck.c (comptypes_internal): Replace target
2467 hook call of comp_type_attributes by version in tree.c file.
2468 * gimple.c (gimple_types_compatible_p_1): Likewise.
2469 * tree-ssa.c (useless_type_conversion_p): Likewise.
2470 * tree.c (build_type_attribute_qual_variant): Likewise.
2471 (attribute_value_equal): New static helper function.
2472 (comp_type_attributes): New function.
2473 (merge_attributes): Use attribute_value_equal for comparison.
2474 (attribute_list_contained): Likewise.
2475 * tree.h (comp_type_attributes): New prototype.
2476
afdac116
RG
24772011-03-25 Richard Guenther <rguenther@suse.de>
2478
2479 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
2480 of complex types at -O0.
2481 (verify_gimple_assign_binary): Likewise.
2482 (verify_gimple_assign_ternary): Likewise.
2483
ec6165f8
MW
24842011-03-24 Mark Wielaard <mjw@redhat.com>
2485
2486 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
2487 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
2488
2a5ac39a
MW
24892011-03-24 Mark Wielaard <mjw@redhat.com>
2490
2491 PR debug/48041
2492 * dwarf2out.c (output_abbrev_section): Only write table when
2493 abbrev_die_table_in_use > 1.
2494
e533b2a4
RH
24952011-02-24 Richard Henderson <rth@redhat.com>
2496
2497 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
2498 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
2499 (alpha_expand_unaligned_load_words): Use extql.
2500 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
2501 (emit_insxl): Handle all modes for consistency.
2502
0b2a7367
RH
25032011-02-24 Richard Henderson <rth@redhat.com>
2504
2505 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
2506 (alpha_expand_unaligned_load): Likewise.
2507 (alpha_expand_unaligned_store): Likewise.
2508 (alpha_expand_unaligned_load_words): Likewise.
2509 (alpha_expand_unaligned_store_words): Likewise.
2510 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
2511 (alpha_split_lock_test_and_set_12): Likewise.
2512 (print_operand, alpha_fold_builtin_extxx): Likewise.
2513 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
2514 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
2515 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
2516 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
2517 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
2518 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
2519 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
2520 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
2521 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
2522 (extwl, extll, extql): Similarly.
2523 (inswh, inslh, insqh): Similarly.
2524 (mskbl, mskwl, mskll, mskql): Similarly.
2525 (mskwh, msklh, mskqh): Similarly.
2526
315b2bef
RH
25272011-02-24 Richard Henderson <rth@redhat.com>
2528
2529 * config/alpha/alpha.md (attribute isa): Add er, ner.
2530 (attribute enabled): Handle them.
2531 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
2532
67102517
RH
25332011-02-24 Richard Henderson <rth@redhat.com>
2534
2535 * config/alpha/alpha.md (attribute isa): Add vms.
2536 (attribute enabled): Handle it.
2537 (*movsf): Merge *movsf_{nofix,fix,nofp}.
2538 (*movdf): Merge *movdf_{nofix,fix,nofp}.
2539 (*movtf): Rename from *movtf_internal for consistency.
2540 (*movsi): Merge with *movsi_nt_vms.
2541 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
2542 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
2543 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
2544 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
2545
6aba5cb4
RH
25462011-02-24 Richard Henderson <rth@redhat.com>
2547
2548 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
2549 (extendqisi2, extendhisi2): Likewise.
2550 (extendqidi2): Simplify BWX/non-BWX expansions.
2551 (extendhidi2): Similarly.
2552
bdfb351b
RH
25532011-02-24 Richard Henderson <rth@redhat.com>
2554
2555 * config/alpha/alpha.md (attribute isa): New.
2556 (attribute enabled): New.
2557 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
2558 (zero_extendqisi2, zero_extendqidi2): Similarly.
2559 (zero_extendhisi2, zero_extendhidi2): Similarly.
2560 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
2561
6abe71eb
RH
25622011-02-24 Richard Henderson <rth@redhat.com>
2563
2564 * config/alpha/predicates.md (input_operand): Revert last change;
2565 update comment to mention 32-bit VMS rather than Windows.
2566
7114321e
NF
25672011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2568
2569 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
2570 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
2571 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
2572 * passes.c (init_optimization_passes): Move
2573 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
2574
c8679567
EB
25752011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2576
2577 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
2578
27173058
UB
25792011-03-24 Uros Bizjak <ubizjak@gmail.com>
2580
2581 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
2582 correctly.
2583
6f0c9f06
JJ
25842011-03-24 Jakub Jelinek <jakub@redhat.com>
2585
2586 PR debug/48204
2587 * simplify-rtx.c (simplify_const_unary_operation): Call
2588 real_convert when changing mode class with FLOAT_EXTEND.
2589
662666e5
NC
25902011-03-24 Nick Clifton <nickc@redhat.com>
2591
2592 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
2593 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
2594 * config/rx/rx.c (rx_option_override): Set align_jumps,
2595 align_loops and align_labels if not set by the user.
2596 (rx_align_for_label): New function.
2597 (rx_max_skip_for_label): New function.
2598 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
2599 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
2600 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
2601 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
2602 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
2603
2b99b2b8
RS
26042011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
2605
2606 PR rtl-optimization/48263
2607 * optabs.c (expand_binop_directly): Reinstate convert_modes code
2608 and original commutative_p handling. Use maybe_gen_insn.
2609
ccecd6ea
AK
26102011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2611
2612 * reload.c (find_reloads_subreg_address): Add address_reloaded
2613 parameter and return true there if the full address has been
2614 reloaded.
2615 (find_reloads_toplev): Pass address_reloaded flag.
2616 (find_reloads_address_1): Don't use address_reloaded parameter.
2617
67295642
JL
26182011-03-24 Jeff Law <law@redhat.com>
2619
2620 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
2621 unused variable "ann".
2622 (remove_unused_locals): Likewise.
2623
2624 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
2625 statement.
2626
2627 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
2628 after it is freed.
2629
212aa74f
AK
26302011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2631
2632 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
2633 for invalid symbolic addresses.
2634 (s390_secondary_reload): Don't use s390_check_symref_alignment for
2635 larl operands.
2636
fe784e0d
EB
26372011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2638
2639 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
2640 the argument in calls to fold_truth_not_expr.
2641
63ee8641
NF
26422011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2643
2644 * tree.c (record_node_allocation_statistics): New function.
2645 (make_node_stat, copy_node_stat, build_string): Call it.
2646 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
2647 (build1_stat, build_omp_clause): Likewise.
2648
61be2a1c
RS
26492011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
2650
2651 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
2652 last commit.
2653
a881aaa7
RG
26542011-03-24 Richard Guenther <rguenther@suse.de>
2655
2656 PR tree-optimization/48271
2657 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
2658 blocks that still exist.
2659
dbaa912c
RG
26602011-03-24 Richard Guenther <rguenther@suse.de>
2661
2662 PR tree-optimization/48270
2663 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
2664 not free datarefs before ddrs.
2665
1d60cc55
EB
26662011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2667
2668 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
2669 from the address built for a reference with variable offset.
2670
c78dd519
UB
26712011-03-24 Uros Bizjak <ubizjak@gmail.com>
2672
2673 PR target/48237
2674 * config/i386/i386.md (*movdf_internal_rex64): Do not split
2675 alternatives that can be handled with movq or movabsq insn.
2676 (*movdf_internal): Disable for !TARGET_64BIT.
2677 (*movdf_internal_nointeger): Ditto.
2678 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
2679
b25b9e8f
NF
26802011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2681
2682 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
2683 (FUNCTION_ARG_ADVANCE): Likewise.
2684 * tm.texi.in: Change references to them to hook references.
2685 * tm.texi: Regenerate.
c78dd519 2686 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
2687 (default_function_incoming_arg): Likewise.
2688 (default_function_arg_advance): Likewise.
c78dd519 2689 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
2690 (function_arg_advance): Likewise.
2691 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
2692
190b2187
RG
26932011-03-24 Richard Guenther <rguenther@suse.de>
2694
2695 PR middle-end/48269
2696 * tree-object-size.c (addr_object_size): Do not double-account
2697 for MEM_REF offsets.
2698
a183b5c7
DN
26992011-03-24 Diego Novillo <dnovillo@google.com>
2700
2701 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 2702 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
2703 (lto_input_data_block): Move from lto-opts.c. Make extern.
2704 Update all users.
2705 (lto_input_string): Rename from input_string. Make extern.
2706 Update all users.
2707 * lto-streamer-out.c (lto_output_string_with_length): Rename from
2708 output_string_with_length.
2709 Output 0 to indicate a non-NULL string. Update all callers to
2710 not emit 0.
2711 (lto_output_string): Rename from output_string. Make extern.
2712 Update all users.
2713 (lto_output_decl_state_streams): Make extern.
2714 (lto_output_decl_state_refs): Make extern.
2715 * lto-streamer.h (lto_input_string): Declare.
2716 (lto_input_data_block): Declare.
2717 (lto_output_string): Declare.
2718 (lto_output_string_with_length): Declare.
2719 (lto_output_decl_state_streams): Declare.
2720 (lto_output_decl_state_refs): Declare.
2721
cfef45c8
RG
27222011-03-24 Richard Guenther <rguenther@suse.de>
2723
2724 PR tree-optimization/46562
2725 * tree.c (build_invariant_address): New function.
2726 * tree.h (build_invariant_address): Declare.
2727 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
2728 a renamed function moved ...
2729 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
2730 Take valueization callback parameter.
2731 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
2732 * gimple-fold.h: New file.
2733 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
2734 (ccp_fold, fold_const_aggregate_ref,
2735 fold_ctor_reference, fold_nonarray_ctor_reference,
2736 fold_array_ctor_reference, fold_string_cst_ctor_reference,
2737 get_base_constructor): Move ...
2738 * gimple-fold.c: ... here.
2739 (gimple_fold_stmt_to_constant_1): New function
2740 split out from ccp_fold. Take a valueization callback parameter.
2741 Valueize all operands.
2742 (gimple_fold_stmt_to_constant): New wrapper function.
2743 (fold_const_aggregate_ref_1): New function split out from
2744 fold_const_aggregate_ref. Take a valueization callback parameter.
2745 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
2746 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
2747 invariant POINTER_PLUS_EXPRs to invariant form.
2748 (vn_valueize): New function.
2749 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
2750 * tree-vrp.c (vrp_valueize): New function.
2751 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
2752 to fold statements to constants.
2753 * tree-ssa-pre.c (eliminate): Properly guard propagation of
2754 function declarations.
2755 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
2756 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
2757
5e0a7e40
RS
27582011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
2759
2760 * config/h8300/predicates.md (jump_address_operand): Fix register
2761 mode check.
2762
bfe068c3
IR
27632011-03-24 Ira Rosen <ira.rosen@linaro.org>
2764
2765 * doc/invoke.texi (max-stores-to-sink): Document.
2766 * params.h (MAX_STORES_TO_SINK): Define.
2767 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
2768 if either vectorization or if-conversion is disabled.
2769 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
2770 tree-vect-data-refs.c vect_equal_offsets.
2771 (dr_equal_offsets_p): New function.
2772 (find_data_references_in_bb): Remove static.
2773 * tree-data-ref.h (find_data_references_in_bb): Declare.
2774 (dr_equal_offsets_p): Likewise.
2775 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
2776 (vect_drs_dependent_in_basic_block): Update calls to
2777 vect_equal_offsets.
2778 (vect_check_interleaving): Likewise.
2779 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
2780 (cond_if_else_store_replacement): Rename to...
2781 (cond_if_else_store_replacement_1): ... this. Change arguments and
2782 documentation.
2783 (cond_if_else_store_replacement): New function.
2784 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
2785 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
2786
4908b0bf
CLT
27872011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
2788
2789 PR target/46934
2790 * config/arm/arm.md (casesi): Use the gen_int_mode() function
2791 to subtract lower bound instead of GEN_INT().
2792
2be478a2
JW
27932011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
2794
2795 PR other/48179
2796 PR other/48221
2797 PR other/48234
2798 * doc/extend.texi (Alignment): Move section to match order in TOC.
2799 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
2800 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
2801
0c617be4
JL
28022011-03-23 Jeff Law <law@redhat.com>
2803
2804 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
2805 before removing the edge.
2806
2807 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
2808 it may have been freed by redirect_branch_edge or
2809 redirect_edge_succ_nodup.
2810
58da96fe
RG
28112011-03-23 Richard Guenther <rguenther@suse.de>
2812
c78dd519 2813 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
2814 (check_va_list_escapes): Likewise.
2815 (check_all_va_list_escapes): Likewise.
2816
b8beb4d1
RG
28172011-03-23 Richard Guenther <rguenther@suse.de>
2818
2819 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
2820 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
2821 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
2822 (alias.o): Likewise.
2823 (ipa-type-escape.o): Remove.
2824 (ipa-struct-reorg.o): Likewise.
2825 (GTFILES): Remove ipa-struct-reorg.c.
2826 * alias.c: Do not include ipa-type-escape.h.
2827 * tree-ssa-alias.c: Likewise.
2828 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
2829 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
2830 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
2831 and ipa-type-escape passes.
2832 * tree-pass.h (pass_ipa_type_escape): Remove.
2833 (pass_ipa_struct_reorg): Likewise.
2834 * ipa-struct-reorg.h: Remove.
2835 * ipa-struct-reorg.c: Likewise.
2836 * ipa-type-escape.h: Likewise.
2837 * ipa-type-escape.c: Likewise.
2838 * doc/invoke.texi (-fipa-struct-reorg): Remove.
2839 (--param struct-reorg-cold-struct-ratio): Likewise.
2840 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
2841 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
2842 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
2843
f137aa63
AK
28442011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2845
2846 * config/s390/2084.md: Enable all insn reservations also for z9_ec
2847 cpu attribute value.
2848 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
2849 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
2850 * config/s390/s390.c (processor_flags_table): New constant array.
2851 (s390_handle_arch_option): Remove.
2852 (s390_handle_option): Remove s390_handle_arch_option invocations
2853 and OPT_mwarn_framesize_ handling.
2854 (s390_option_override): Remove s390_handle_arch_option invocation.
2855 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
2856 warnings.
2857 * config/s390/s390.md (cpu attribute): Add z9_ec value.
2858 * config/s390/s390.opt (s390_tune, s390_arch)
2859 (march=): Replace s390_arch_option enum and values with
2860 processor_type. Set variable name to s390_arch. Set
2861 initialization value.
2862 (mtune=): Replace s390_arch_option with processor_type. Set
2863 variable name to s390_tune. Set initialization value.
2864
bf90208f
JB
28652011-03-23 Julian Brown <julian@codesourcery.com>
2866
2867 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
2868 accesses which are not naturally aligned.
2869
3460fdf3
RS
28702011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
2871
2872 PR target/47553
2873 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
2874
a5c7d693
RS
28752011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
2876
2877 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
2878 parameter from "int" to "enum insn_code".
2879 (expand_operand_type): New enum.
2880 (expand_operand): New structure.
2881 (create_expand_operand): New function.
2882 (create_fixed_operand, create_output_operand): Likewise
2883 (create_input_operand, create_convert_operand_to): Likewise.
2884 (create_convert_operand_from, create_address_operand): Likewise.
2885 (create_integer_operand): Likewise.
2886 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
2887 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
2888 (expand_insn, expand_jump_insn): Likewise.
2889 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
2890 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
2891 (expand_movstr, expand_builtin___clear_cache): Likewise.
2892 (expand_builtin_lock_release): Likewise.
2893 * explow.c (allocate_dynamic_stack_space): Likewise.
2894 (probe_stack_range): Likewise. Allow check_stack to FAIL,
2895 and use the default handling in that case.
2896 * expmed.c (check_predicate_volatile_ok): Delete.
2897 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
2898 (emit_cstore): Likewise.
2899 * expr.c (emit_block_move_via_movmem): Likewise.
2900 (set_storage_via_setmem, expand_assignment): Likewise.
2901 (emit_storent_insn, try_casesi): Likewise.
2902 (emit_single_push_insn): Likewise. Allow the expansion to fail.
2903 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
2904 (expand_vec_shift_expr, expand_binop_directly): Likewise.
2905 (expand_twoval_unop, expand_twoval_binop): Likewise.
2906 (expand_unop_direct, emit_indirect_jump): Likewise.
2907 (emit_conditional_move, vector_compare_rtx): Likewise.
2908 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
2909 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
2910 (expand_sync_lock_test_and_set): Likewise.
2911 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
2912 (emit_unop_insn): Likewise.
2913 (expand_copysign_absneg): Change icode to an insn_code.
2914 (create_convert_operand_from_type): New function.
2915 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
2916 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
2917 (expand_insn, expand_jump_insn): Likewise.
2918 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
2919 than const_int_operand for operand 2.
2920
78fadbab
AK
29212011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2922
2923 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
2924 if possible.
2925
5f02387d
NF
29262011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2927
2928 * emit-rtl.c (emit_pattern_before_noloc): New function.
2929 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
2930 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
2931 (emit_pattern_after_noloc): New function.
2932 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
2933 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
2934
fdf3e18a
NF
29352011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2936
2937 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
2938 (__ffsDI2): Likewise.
2939
42d085c1
RH
29402011-03-22 Richard Henderson <rth@redhat.com>
2941
2942 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
2943 of !TARGET_ABI_OPEN_VMS.
2944 (alpha_trampoline_init, alpha_start_function): Likewise.
2945 (alpha_expand_epilogue, alpha_file_start): Likewise.
2946 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
2947 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
2948 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
2949 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
2950 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
2951
cabbe12a
JM
29522011-03-22 Joseph Myers <joseph@codesourcery.com>
2953
2954 * config/s390/s390-opts.h: New.
2955 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
2956 s390_arch_flags, s390_warn_framesize, s390_stack_size,
2957 s390_stack_guard): Remove.
2958 (s390_handle_arch_option): Return void. Take enum
2959 s390_arch_option value instead of string and searching array.
2960 (s390_handle_option): Don't assert that global structures are in
2961 use. Access variables via opts pointer. Use error_at. Don't use
2962 sscanf for -mstack-guard= or -mstack-size=. Update call to
2963 s390_handle_arch_option.
2964 (s390_option_override): Update call to s390_handle_arch_option.
2965 (s390_emit_prologue): Use %d format for s390_stack_size in
2966 diagnostic. Use %wd for HOST_WIDE_INT.
2967 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
2968 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
2969 * config/s390/s390.opt (config/s390/s390-opts.h): New
2970 HeaderInclude entry.
2971 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
2972 s390_arch_flags, s390_warn_framesize): New Variable entries.
2973 (s390_arch_option): New Enum and EnumValue entries.
2974 (march=): Use Enum instead of Var.
2975 (mstack-guard=, mstack-size=): Use UInteger and Var.
2976 (mtune=): Use Enum.
2977
05b12036
JM
29782011-03-22 Joseph Myers <joseph@codesourcery.com>
2979
2980 * config/score/score.c (score_handle_option): Don't assert that
2981 global structures are in use. Access target_flags via opts
2982 pointer. Use value of -march= option to determine target_flags
2983 settings.
2984 * config/score/score.opt (march=): Use Enum.
2985 (score_arch): New Enum and EnumValue entries.
2986
dd51e35a
JM
29872011-03-22 Joseph Myers <joseph@codesourcery.com>
2988
2989 * config/mep/mep.c (option_mtiny_specified): Remove.
2990 (mep_option_override): Move register handling for -mivc2 from
2991 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
2992 instead of option_mtiny_specified.
2993 (mep_handle_option): Access target_flags via opts pointer. Don't
2994 assert that global structures are in use. Defer part of -mivc2
2995 handling and move it to mep_option_override.
2996 * config/mep/mep.opt (IVC2): New Mask entry.
2997 (mivc2): Use Var and Defer instead of Mask.
2998
4a8d3d91
JM
29992011-03-22 Joseph Myers <joseph@codesourcery.com>
3000
3001 * config/v850/v850-opts.h: New.
3002 * config/v850/v850.c (small_memory): Replace with
3003 small_memory_physical_max array. Make that array static const.
3004 (v850_handle_memory_option): Take integer value of argument. Take
3005 gcc_options pointer, option text and location. Return void.
3006 Update for changes to small memory structures.
3007 (v850_handle_option): Access target_flags via opts pointer. Don't
3008 assert that global structures are in use. Update calls to
3009 v850_handle_memory_option.
c78dd519
UB
3010 (v850_encode_data_area): Update references to small memory settings.
3011 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
3012 (enum small_memory_type): Move to v850-opts.h.
3013 * config/v850/v850.opt (config/v850/v850-opts.h): New
3014 HeaderInclude entry.
3015 (small_memory_max): New Variable entry.
3016 (msda): Replace by pair of options msda= and msda-. Use UInteger.
3017 (mtda, mzda): Likewise.
3018
117fdbfa
JM
30192011-03-22 Joseph Myers <joseph@codesourcery.com>
3020
3021 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
3022 pointer. Don't assert that global structures are in use.
3023
d715091c
JM
30242011-03-22 Joseph Myers <joseph@codesourcery.com>
3025
3026 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
3027 via opts pointer. Don't assert that global structures are in use.
3028
1bb721dc
JM
30292011-03-22 Joseph Myers <joseph@codesourcery.com>
3030
3031 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
3032 (munix=93): Use Var.
3033 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
3034 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
3035 * config/pa/pa-opts.h: New.
3036 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
3037 (pa_handle_option): Don't assert that global structures are in
3038 use. Access target_flags via opts pointer. Don't handle
3039 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
3040 OPT_munix_98 here.
3041 (pa_option_override): Handle deferred OPT_mfixed_range_.
3042
cd8d8754
JM
30432011-03-22 Joseph Myers <joseph@codesourcery.com>
3044
3045 * config/mn10300/mn10300-opts.h: New.
3046 * config/mn10300/mn10300.c (mn10300_processor,
3047 mn10300_tune_string): Remove.
3048 (mn10300_handle_option): Don't assert that global structures are
3049 in use. Access mn10300_processor via opts pointer. Don't handle
3050 OPT_mtune_ here.
3051 * config/mn10300/mn10300.h (enum processor_type): Move to
3052 mn10300-opts.h.
3053 (mn10300_processor): Remove.
3054 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
3055 HeaderInclude entry.
3056 (mn10300_processor): New Variable entry.
3057 (mtune=): Use Var.
3058
24e6e6b1
JM
30592011-03-22 Joseph Myers <joseph@codesourcery.com>
3060
3061 * config/microblaze/microblaze.c: Don't include opts.h.
3062 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
3063 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
3064 (mno-clearbss): Use Var and Warn.
3065
8a784afb
JM
30662011-03-22 Joseph Myers <joseph@codesourcery.com>
3067
3068 * config/m32r/m32r-opts.h: New.
3069 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
3070 (m32r_handle_option): Don't assert that global structures are in
3071 use. Access target_flags and m32r_cache_flush_func via opts
3072 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
3073 OPT_mno_flush_trap here.
3074 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
3075 include of m32r-opts.h.
3076 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
3077 HeaderInclude entry.
3078 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
3079 (mmodel=): Use Enum and Var.
3080 (m32r_model): New Enum and EnumValue entries.
3081 (mno-flush-trap): Use Var.
3082 (msdata=): Use Enum and Var.
3083 (m32r_sdata): New Enum and EnumValue entries.
3084
bbfc9a8c
JM
30852011-03-22 Joseph Myers <joseph@codesourcery.com>
3086
3087 * config/m32c/m32c.c: Don't include opts.h.
3088 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
3089 m32c_handle_option): Remove.
3090 (m32c_option_override): Check global_options_set.x_target_memregs
3091 instead of target_memregs_set.
3092 * config/m32c/m32c.h (target_memregs): Remove.
3093 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
3094 variable.
3095
e24b8335
JM
30962011-03-22 Joseph Myers <joseph@codesourcery.com>
3097
3098 * config/iq2000/iq2000-opts.h: New.
3099 * config/iq2000/iq2000.c: Don't include opts.h.
3100 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 3101 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
3102 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
3103 HeaderInclude entry.
3104 (iq2000_tune): New Variable entry.
3105 (march=): Add comment. Use Enum.
3106 (iq2000_arch): New Enum and EnumValue entries.
3107 (mcpu=): Use Enum and Var.
3108 (iq2000_tune): New Enum and EnumValue entries.
3109
e6cc0c98
JM
31102011-03-22 Joseph Myers <joseph@codesourcery.com>
3111
3112 * config/ia64/ia64-opts.h: New.
3113 * config/ia64/ia64.c (ia64_tune): Remove.
3114 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
3115 here. Use error_at.
3116 (ia64_option_override): Handle deferred OPT_mfixed_range_.
3117 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
3118 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
3119 HeaderInclude entry.
3120 (ia64_tune): New Variable entry.
3121 (mfixed-range=): Use Defer and Var.
3122 (mtune=): Use Enum and Var.
3123 (ia64_tune): New Enum and EnumValue entries.
3124
db25893c
JM
31252011-03-22 Joseph Myers <joseph@codesourcery.com>
3126
3127 * config/frv/frv-opts.h: New.
3128 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
3129 frv-opts.h.
3130 (frv_cpu_type): Remove.
3131 * config/frv/frv.c: Don't include opts.h.
3132 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 3133 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
3134 (frv_cpu_type): New Variable entry.
3135 (frv_cpu): New Enum and EnumValue entries.
3136
6c223f5d
JM
31372011-03-22 Joseph Myers <joseph@codesourcery.com>
3138
3139 * config/cris/cris.c (cris_handle_option): Access target_flags via
3140 opts pointer. Don't assert that global structures are in use.
3141 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
3142 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
3143
bbd399cf
JM
31442011-03-22 Joseph Myers <joseph@codesourcery.com>
3145
3146 * config/bfin/bfin-opts.h: New.
3147 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
3148 bfin_si_revision, bfin_workarounds): Remove.
3149 (bfin_cpus): Make static const.
3150 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
3151 not bfin_lib_id_given.
3152 (bfin_handle_option): Don't set bfin_lib_id_given. Access
3153 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 3154 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
3155 * config/bfin/bfin.h: Include bfin-opts.h.
3156 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
3157 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
3158 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
3159 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
3160 entries.
3161
5e1b4d5a
JM
31622011-03-22 Joseph Myers <joseph@codesourcery.com>
3163
3164 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
3165 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
3166 or -msoft-float here.
3167 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
3168 -msoft-float and -mhard-float.
c78dd519 3169 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
3170 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
3171 msoft-float.
3172 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
3173 -msoft-float.
3174 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
3175 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
3176 not mhard-float.
3177 (LIBGCC_SPEC): Don't handle -msoft-float.
3178 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
3179 -mhard-float.
3180 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
3181 msoft-float.
3182 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
3183 -mfloat-abi=*, not -msoft-float and -mhard-float.
3184 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
3185 -msoft-float.
3186 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
3187 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
3188 mhard-float and msoft-float.
3189 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
3190 mfloat-abi=soft in comments, not mhard-float and msoft-float.
3191 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
3192 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
3193 mhard-float.
3194 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
3195 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
3196 msoft-float.
3197 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
3198 not mhard-float.
3199 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
3200 not msoft-float.
3201
800d1de1
RH
32022011-03-22 Richard Henderson <rth@redhat.com>
3203
3204 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
3205 TARGET_ABI_WINDOWS_NT.
3206 (alpha_output_function_end_prologue): Likewise.
3207 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
3208 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3209 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
3210 (trap, *movsi_nt_vms): Likewise.
3211 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
3212 (*tablejump_osf_nt_internal): Remove.
3213 * config/alpha/predicates.md (input_operand): Only test Pmode.
3214
c59ddd2b
JM
32152011-03-22 Joseph Myers <joseph@codesourcery.com>
3216
3217 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
3218 via opts pointer. Use error_at. Don't assert that global
3219 structures are in use.
3220
1333f97f
JM
32212011-03-22 Joseph Myers <joseph@codesourcery.com>
3222
3223 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
3224 (ix86_handle_option): Access ix86_isa_flags and
3225 ix86_isa_flags_explicit via opts pointer. Don't assert that
3226 global structures are in use.
3227 (ix86_function_specific_save, ix86_function_specific_restore):
3228 Update ix86_isa_flags_explicit field name.
c78dd519 3229 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
3230 (ix86_isa_flags_explicit): Rename TargetSave entry to
3231 x_ix86_isa_flags_explicit.
3232
75db85d8
RH
32332011-03-22 Richard Henderson <rth@redhat.com>
3234
3235 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
3236 (alpha_option_override, direct_return): Likewise.
3237 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
3238 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
3239 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
3240 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
3241 (alpha_expand_epilogue, alpha_end_function): Likewise.
3242 (alpha_init_libfuncs): Likewise.
3243 (struct machine_function): Remove unicosmk members.
3244 (print_operand) ['t']: Remove.
3245 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
3246 unicosmk_output_module_name, unicosmk_output_common,
3247 current_section_align, unicosmk_output_text_section_asm_op,
3248 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
3249 unicosmk_section_type_flags, unicosmk_unique_section,
3250 unicosmk_asm_named_section, unicosmk_insert_attributes,
3251 unicosmk_output_align, unicosmk_defer_case_vector,
3252 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
3253 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
3254 unicosmk_output_ssib, unicosmk_add_call_info_word,
3255 unicosmk_extern_head, unicosmk_output_default_externs,
3256 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
3257 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
3258 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
3259 * config/alpha/alpha-protos.h: Update.
3260 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
3261 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
3262 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
3263 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
3264 (*mulsi_se, mulvsi3): Likewise.
3265 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
3266 (*divmodsi_internal, call, call_value, realign): Likewise.
3267 (moddi3, umoddi3): Likewise; remove duplicate expander.
3268 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
3269 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
3270 (*movdi_nofix): Remove r/U alternative.
3271 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
3272 * config/alpha/constraints.md ("U"): Remove.
3273 * config/alpha/predicates.md (call_operand"): Don't test
3274 TARGET_ABI_UNICOSMK.
3275
96e45421
JM
32762011-03-22 Joseph Myers <joseph@codesourcery.com>
3277
3278 * target.def (handle_option): Take gcc_options and
3279 cl_decoded_option pointers and location_t.
3280 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
3281 * doc/tm.texi: Regenerate.
3282 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
3283 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
3284 * lto-opts.c (lto_reissue_options): Generate option structure for
3285 targetm.handle_option call.
3286 * opts.c (target_handle_option): Update call to
3287 targetm.handle_option. Remove assertions about values now passed
3288 down to hook.
3289 * targhooks.c (default_target_handle_option): New.
3290 * targhooks.h (default_target_handle_option): Declare.
3291 * config/alpha/alpha.c: Include opts.h.
3292 (alpha_handle_option): Update to new hook interface.
3293 * config/arm/arm.c: Include opts.h.
3294 (arm_handle_option): Update to new hook interface.
3295 * config/arm/t-arm (arm.o): Update dependencies.
3296 * config/bfin/bfin.c: Include opts.h.
3297 (bfin_handle_option): Update to new hook interface.
3298 * config/cris/cris.c: Include opts.h.
3299 (cris_handle_option): Update to new hook interface.
3300 * config/frv/frv.c: Include opts.h.
3301 (frv_handle_option): Update to new hook interface.
3302 * config/i386/i386.c: Include opts.h.
3303 (ix86_handle_option): Update to new hook interface.
3304 (ix86_valid_target_attribute_inner_p): Generate option structure
3305 for call to ix86_handle_option.
3306 * config/i386/t-i386 (i386.o): Update dependencies.
3307 * config/ia64/ia64.c: Include opts.h.
3308 (ia64_handle_option): Update to new hook interface.
3309 * config/ia64/t-ia64 (ia64.o): Update dependencies.
3310 * config/iq2000/iq2000.c: Include opts.h.
3311 (iq2000_handle_option): Update to new hook interface.
3312 * config/m32c/m32c.c: Include opts.h.
3313 (m32c_handle_option): Update to new hook interface.
3314 * config/m32r/m32r.c: Include opts.h.
3315 (m32r_handle_option): Update to new hook interface.
3316 * config/m68k/m68k.c: Include opts.h.
3317 (m68k_handle_option): Update to new hook interface.
3318 * config/mep/mep.c: Include opts.h.
3319 (mep_handle_option): Update to new hook interface.
3320 * config/microblaze/microblaze.c: Include opts.h.
3321 (microblaze_handle_option): Update to new hook interface.
3322 * config/mips/mips.c: Include opts.h.
3323 (mips_handle_option): Update to new hook interface.
3324 * config/mn10300/mn10300.c: Include opts.h.
3325 (mn10300_handle_option): Update to new hook interface.
3326 * config/pa/pa.c: Include opts.h.
3327 (pa_handle_option): Update to new hook interface.
3328 * config/pdp11/pdp11.c: Include opts.h.
3329 (pdp11_handle_option): Update to new hook interface.
3330 * config/rs6000/rs6000.c: Include opts.h.
3331 (rs6000_handle_option): Update to new hook interface.
3332 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
3333 * config/rx/rx.c: Include opts.h.
3334 (rx_handle_option): Update to new hook interface.
3335 * config/s390/s390.c: Include opts.h.
3336 (s390_handle_option): Update to new hook interface.
3337 * config/score/score.c: Include opts.h.
3338 (score_handle_option): Update to new hook interface.
3339 * config/sh/sh.c: Include opts.h.
3340 (sh_handle_option): Update to new hook interface.
3341 * config/sparc/sparc.c: Include opts.h.
3342 (sparc_handle_option): Update to new hook interface.
3343 * config/v850/v850.c: Include opts.h.
3344 (v850_handle_option): Update to new hook interface.
3345
66017846
JM
33462011-03-22 Joseph Myers <joseph@codesourcery.com>
3347
3348 * gcc.c (driver_unknown_option_callback): Only permit and save
3349 unknown -Wno- options.
3350 (driver_wrong_lang_callback): Save options directly instead of via
3351 driver_unknown_option_callback.
3352
e8b97ccd
EB
33532011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3354
3355 * combine.c (simplify_set): Try harder to find the best CC mode when
3356 simplifying a nested COMPARE on the RHS.
3357
ebb9f8b0
JM
33582011-03-22 Joseph Myers <joseph@codesourcery.com>
3359
3360 * config/alpha/gnu.h: Remove.
3361 * config/arc: Remove directory.
3362 * config/arm/netbsd.h: Remove.
3363 * config/arm/t-pe: Remove.
3364 * config/crx: Remove directory.
3365 * config/i386/netbsd.h: Remove.
3366 * config/m68hc11: Remove directory.
3367 * config/m68k/uclinux-oldabi.h: Remove.
3368 * config/mcore/mcore-pe.h: Remove.
3369 * config/mcore/t-mcore-pe: Remove.
3370 * config/netbsd-aout.h: Remove.
3371 * config/rs6000/gnu.h: Remove.
3372 * config/sh/sh-symbian.h: Remove.
3373 * config/sh/symbian-base.c: Remove.
3374 * config/sh/symbian-c.c: Remove.
3375 * config/sh/symbian-cxx.c: Remove.
3376 * config/sh/symbian-post.h: Remove.
3377 * config/sh/symbian-pre.h: Remove.
3378 * config/sh/t-symbian: Remove.
3379 * config/svr3.h: Remove.
3380 * config/vax/netbsd.h: Remove.
3381 * config.build: Don't handle i[34567]86-*-pe.
3382 * config.gcc: Remove handling of deprecations for most deprecated
3383 targets.
3384 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
3385 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
3386 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
3387 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
3388 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
3389 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
3390 Remove cases.
3391 * config.host: Don't handle i[34567]86-*-pe.
3392 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
3393 (ASM_SPEC32): Don't handle -mcall-gnu.
3394 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
3395 -mcall-gnu.
3396 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
3397 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
3398 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
3399 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
3400 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
3401 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
3402 conditional on SYMBIAN.
3403 * configure.ac: Don't handle powerpc*-*-gnu*.
3404 * configure: Regenerate.
3405 * doc/extend.texi (interrupt attribute): Don't mention CRX.
3406 * doc/install-old.texi (m6811, m6812): Don't mention.
3407 * doc/install.texi (arc-*-elf*): Don't document multilib option.
3408 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
3409 (m68k-uclinuxoldabi): Don't mention.
3410 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
3411 Remove.
3412 (-mcall-gnu): Remove.
3413 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
3414 families): Remove constraint documentation.
3415
999a7d80
MS
34162011-03-22 Marius Strobl <marius@FreeBSD.org>
3417
3418 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
3419 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
3420 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
3421
980a0ff4
GJL
34222011-03-21 Georg-Johann Lay <avr@gjlay.de>
3423
3424 * config/avr/avr-protos.h (expand_epilogue): Change prototype
3425 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
3426 * config/avr/avr.c (init_cumulative_args)
3427 (avr_function_arg_advance): Use it.
3428 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
3429 sibcall epilogues.
3430 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
3431 (avr_function_ok_for_sibcall): ...this new function.
3432 (avr_lookup_function_attribute1): New static Function.
3433 (avr_naked_function_p, interrupt_function_p)
3434 (signal_function_p, avr_OS_task_function_p)
3435 (avr_OS_main_function_p): Use it.
3436 * config/avr/avr.md ("sibcall", "sibcall_value")
3437 ("sibcall_epilogue"): New expander.
3438 ("*call_insn", "*call_value_insn"): New insn.
3439 ("call_insn", "call_value_insn"): Remove
3440 ("call", "call_value", "epilogue"): Change expander to handle
3441 sibling calls.
3442
49168734
NC
34432011-03-21 Nick Clifton <nickc@redhat.com>
3444
3445 * doc/invoke.texi (Overall Options): Move closing brace to end of
3446 options list.
3447 (Optimization Options): Add missing @gol.
3448 (Directory Options): Likewise.
3449 (i386 and x86-64 Options): Likewise.
3450 (RS6000 and PowerPC Options): Likewise.
3451 (i386 and x86-64 Windows Options): Likewise.
3452 (V850 Options): Add text missing from descriptions.
3453
bdfe906f
RH
34542011-03-22 Richard Henderson <rth@redhat.com>
3455
3456 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
3457 (avr_incoming_return_addr_rtx): New.
3458 (emit_push_byte): New.
3459 (expand_prologue): Use it. Remove incorrect dwarf annotation for
3460 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
3461 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
3462 (emit_pop_byte): New.
3463 (expand_epilogue): Use it. Pop frame pointer by bytes.
3464 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
3465 (INCOMING_RETURN_ADDR_RTX): New.
3466 (INCOMING_FRAME_SP_OFFSET): New.
3467 (ARG_POINTER_CFA_OFFSET): New.
3468 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
3469 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
3470 (pophi): Remove.
3471
d090a5aa
RH
3472 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
3473
fdf3e18a
NF
34742011-03-22 Nathan Froyd <froydnj@codesourcery.com>
3475
3476 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
3477 (FUNCTION_ARG_ADVANCE): Likewise.
3478 * tm.texi.in: Change references to them to hook references.
3479 * tm.texi: Regenerate.
3480 * targhooks.c (default_function_arg): Eliminate check for target
3481 macro.
3482 (default_function_incoming_arg): Likewise.
3483 (default_function_arg_advance): Likewise.
c78dd519 3484 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
3485 (function_arg_advance): Likewise.
3486 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
3487
009d3fcf
NF
34882011-03-22 Nathan Froyd <froydnj@codesourcery.com>
3489
3490 * tree.c (build_call_1): New function.
3491 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
3492
7bec30e1
RG
34932011-03-22 Richard Guenther <rguenther@suse.de>
3494
3495 PR tree-optimization/48228
3496 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
3497 for single-arg PHIs.
3498
0b7e851b
AB
34992011-03-22 Andrey Belevantsev <abel@ispras.ru>
3500
3501 PR rtl-optimization/48143
3502 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
3503 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
3504 sse2_cvtps2pd): Likewise.
3505
d89afca5
AK
35062011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3507
3508 * recog.c (canonicalize_change_group): Use validate_unshare_change.
3509
f471fe72
RG
35102011-03-22 Richard Guenther <rguenther@suse.de>
3511
3512 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
3513 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
3514 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
3515 and REALIGN_LOAD_EXPR.
3516 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
3517 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
3518 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
3519 DOT_PROD_EXPR case ...
3520 (expand_expr_real_2): ... here.
3521 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
3522 and REALIGN_LOAD_EXPR.
3523 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
3524 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
3525 (vect_create_epilog_for_reduction): Likewise.
3526 (vectorizable_reduction): Likewise.
3527 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
3528 * tree-vect-stmts.c (vectorizable_load): Likewise.
3529
f2f81d57
EB
35302011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3531
3532 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
3533
ab081dd6
AK
35342011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3535
3536 * config/s390/s390.c (s390_delegitimize_address): Fix offset
3537 handling for PLTOFF/GOTOFF.
3538
6fd5332b
NC
35392011-03-22 Nick Clifton <nickc@redhat.com>
3540
3541 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
3542 trailing backslash from the end of the macro definition.
3543
01841ac0
AK
35442011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3545
3546 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
3547 and PLT unspecs.
3548
2ef6ce06
RS
35492011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
3550
3551 * expr.h (prepare_operand): Move to...
3552 * optabs.h (prepare_operand): ...here and change the insn code
3553 parameter from "int" to "enum insn_code".
3554 (insn_operand_matches): Declare.
3555 * expr.c (init_expr_target): Use insn_operand_matches.
3556 (compress_float_constant): Likewise.
3557 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
3558 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
3559 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
3560 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
3561 Likewise.
2ef6ce06
RS
3562 (gen_cond_trap): Likewise.
3563 (prepare_operand): Likewise. Change icode to an insn_code.
3564 (insn_operand_matches): New function.
3565 * reload.c (find_reloads_address_1): Use insn_operand_matches.
3566 * reload1.c (gen_reload): Likewise.
3567 * targhooks.c (default_secondary_reload): Likewise.
3568
9e43ad68
UB
35692011-03-21 Uros Bizjak <ubizjak@gmail.com>
3570
9a96da32
UB
3571 * config/alpha/alpha.md (unspec): New define_c_enum.
3572 (unspecv): Ditto.
3573
35742011-03-21 Uros Bizjak <ubizjak@gmail.com>
3575
3576 PR debug/48214
9e43ad68
UB
3577 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
3578 between a call and its CALL_ARG_LOCATION note.
3579
31408f60
EB
35802011-03-21 Eric Botcazou <ebotcazou@adacore.com>
3581
3582 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
3583
35842011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
3585
3586 PR c/42544
3587 PR c/48197
3588 * c-common.c (shorten_compare): If primopN is first sign-extended
3589 to opN and then zero-extended to result type, set primopN to opN.
3590
9dfd55f5
DJ
35912011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
3592
3593 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
3594 for barrier handlers.
3595
f3c33d9d
MM
35962011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
3597
3598 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
3599 UNSPEC constants to be in the unspec enumeration, and redefine
3600 all UNSPECV constants to be in the unspecv enumeration, so that
3601 dumps print which unspec/unspec_volatile this is.
3602 * config/rs6000/vector.md (UNSPEC_*): Ditto.
3603 * config/rs6000/paired.md (UNSPEC_*): Ditto.
3604 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
3605 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
3606 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
3607
3608 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
3609 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
3610 UNSPECV_LWSYNC, since these are used as unspec_volatile.
3611 * config/rs6000/sync.md (isync, lwsync): Ditto.
3612
ac43f774
RG
36132011-03-21 Richard Guenther <rguenther@suse.de>
3614
3615 * params.def (lto-min-partition): Fix typo.
3616
411cdbd8
RG
36172011-03-21 Richard Guenther <rguenther@suse.de>
3618
3619 PR c/47939
3620 * c-decl.c (grokdeclarator): Drop to the main variant only
3621 for array types. Drop flag_gen_aux_info check.
3622
1cd9e416
RG
36232011-03-21 Richard Guenther <rguenther@suse.de>
3624
3625 PR translation/47911
3626 * params.def (lto-partitions): Fix typo.
3627 (lto-min-partition): Fix wording.
3628
ada5ad67
AT
36292011-03-21 Andreas Tobler <andreast@fgznet.ch>
3630
3631 * config/rs6000/t-freebsd: Remove duplication from file.
3632
f9613c9a
RG
36332011-03-21 Richard Guenther <rguenther@suse.de>
3634
3635 PR middle-end/47661
3636 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
3637
9bfbc1eb
RG
36382011-03-21 Richard Guenther <rguenther@suse.de>
3639
3640 PR lto/48210
3641 * params.def (lto-partitions): Require at least 1 partition.
3642
a2268084
RO
36432011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3644
3645 * gthr-solaris.h: Remove.
3646 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
3647 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
3648 (LIB_SPEC): Likewise.
3649 * config/sol2.opt (threads): Remove.
9e43ad68 3650 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
3651 (sparc*-*-solaris2*): Likewise.
3652 * configure.ac (enable_threads): Enable solaris support.
3653 * configure: Regenerate.
9e43ad68 3654 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
3655 * doc/install.texi (Configuration, --enable-threads=lib): Remove
3656 solaris.
3657
c43d9a1b
RO
36582011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3659
3660 * config.gcc: Obsolete *-*-solaris2.8*.
3661 * doc/install.texi (Specific, *-*-solaris2*): Document it.
3662
084239f4
RO
36632011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3664
3665 PR bootstrap/48135
3666 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
3667 reference. Solaris 8 perl works.
3668
64cadbe7
RO
36692011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3670
3671 PR bootstrap/48135
3672 * doc/install.texi (Prerequisites): Move jar etc. up.
3673 Explain support library version requirements.
3674
eb975109
RO
36752011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3676
3677 PR bootstrap/48135
3678 * doc/install.texi (Prerequisites): Move Perl to build
3679 requirements. Always necessary on Solaris 2 with Sun ld.
3680
8a509ffd
RO
36812011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3682
3683 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
3684 binutils 2.21.
3685 (Specific, i?86-*-solaris2.[89]): Likewise.
3686 (Specific, i?86-*-solaris2.10): Likewise.
3687 (Specific, mips-sgi-irix6): Likewise.
3688 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
3689 Update for binutils 2.21.
3690
8fbc58a1
RO
36912011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3692
3693 * configure.ac (gcc_cv_lto_plugin): Fix typo.
3694 Allow -fuse-linker-plugin for non-default plugin linker.
3695 * configure: Regenerate.
3696
7e84ad0b
NP
36972011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
3698
3699 PR bootstrap/48167
3700 * gengtype.c (files_rules): Added rule for cp/parser.h.
3701
2f36e14b
JJ
37022011-03-21 Jakub Jelinek <jakub@redhat.com>
3703
3704 PR target/48213
3705 * config/s390/s390.c (s390_delegitimize_address): Don't call
3706 lowpart_subreg if orig_x has BLKmode.
3707
62d784f7
KT
37082011-03-21 Kai Tietz <ktietz@redhat.com>
3709
3710 PR target/12171
9e43ad68
UB
3711 * doc/plugins.texi: Adjust documentation for plugin register_callback.
3712 * tree.h (attribute_spec): Add new member affects_type_identity.
3713 * attribs.c (empty_attribute_table): Adjust attribute_spec
3714 initializers.
62d784f7
KT
3715 * config/alpha/alpha.c: Likewise.
3716 * config/arc/arc.c: Likewise.
3717 * config/arm/arm.c: Likewise.
3718 * config/avr/avr.c: Likewise.
3719 * config/bfin/bfin.c: Likewise.
3720 * config/crx/crx.c: Likewise.
3721 * config/darwin.h: Likewise.
3722 * config/h8300/h8300.c: Likewise.
3723 * config/i386/cygming.h: Likewise.
3724 * config/i386/i386.c: Likewise.
3725 * config/ia64/ia64.c: Likewise.
3726 * config/m32c/m32c.c: Likewise.
3727 * config/m32r/m32r.c: Likewise.
3728 * config/m68hc11/m68hc11.c: Likewise.
3729 * config/m68k/m68k.c: Likewise.
3730 * config/mcore/mcore.c: Likewise.
3731 * config/mep/mep.c: Likewise.
3732 * config/microblaze/microblaze.c: Likewise.
3733 * config/mips/mips.c: Likewise.
3734 * config/rs6000/rs6000.c: Likewise.
3735 * config/rx/rx.c: Likewise.
3736 * config/sh/sh.c: Likewise.
3737 * config/sol2.h: Likewise.
3738 * config/sparc/sparc.c: Likewise.
3739 * config/spu/spu.c: Likewise.
3740 * config/stormy16/stormy16.c: Likewise.
3741 * config/v850/v850.c: Likewise.
3742
54833ec0
CLT
37432011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
3744
3745 * simplify-rtx.c (simplify_binary_operation_1): Handle
3746 (xor (and A B) C) case when B and C are both constants.
3747
14a41392
MX
37482011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
3749
3750 * tree-dfa.c (add_referenced_var): Fix typo in comment.
3751
806c3492
EB
37522011-03-20 Eric Botcazou <ebotcazou@adacore.com>
3753
3754 PR bootstrap/48168
3755 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
3756
65e0a0f3
JJ
37572011-03-20 Jakub Jelinek <jakub@redhat.com>
3758
3759 PR rtl-optimization/48156
3760 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
3761 assume df and df_lr are not NULL.
3762
b6a75dda
RR
37632011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3764
3765 PR debug/48023
3766 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
3767 between a call and its CALL_ARG_LOCATION note.
3768
5969b52d
KK
37692011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
3770
3771 PR debug/48178
3772 * config/sh/sh.c (find_barrier): Don't emit a constant pool
3773 between a call and its corresponding CALL_ARG_LOCATION note.
3774
f773c2bd
AS
37752011-03-19 Anatoly Sokolov <aesok@post.ru>
3776
3777 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
3778 instead of loop. Use HARD_REGISTER_NUM_P predicate.
3779 * haifa-sched.c (setup_ref_regs): Ditto.
3780 * caller-save.c (add_used_regs_1): Ditto.
3781 * dse.c (look_for_hardregs): Ditto.
3782 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
3783 * sched-rgn.c (check_live_1): Ditto.
3784
8bf872f9
JM
37852011-03-18 Joseph Myers <joseph@codesourcery.com>
3786
3787 * c-decl.c (diagnose_mismatched_decls): Give an error for
3788 redefining a typedef with variably modified type.
3789
ff8e2159
JM
37902011-03-18 Joseph Myers <joseph@codesourcery.com>
3791
3792 * c-decl.c (grokfield): Don't allow typedefs for structures or
3793 unions with no tag by default.
3794 * doc/extend.texi (Unnamed Fields): Update.
3795
16cc4440
UB
37962011-03-18 Uros Bizjak <ubizjak@gmail.com>
3797
3798 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
3799 Rewrite using indirect functions.
3800 (lwp_slwpcb): Ditto.
3801 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
3802 (avx_vinsertf128<mode>): Ditto.
3803
e101e12e
AK
38042011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3805
3806 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
3807 unspecs.
3808
4627c7fb
AK
38092011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3810
3811 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 3812 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 3813
2d36b47f
MK
38142011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
3815
3816 PR rtl-optimization/48170
3817 * gcse.c (hoist_code): Remove bogus asserts.
3818
2a3d7659
JL
38192011-03-18 Georg-Johann Lay <avr@gjlay.de>
3820
3821 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
3822 computation for prologue/epilogue.
3823
34c3ef05
RO
38242011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3825
3826 * Makefile.in (check-consistency): Remove.
3827
81f2b976
JJ
38282011-03-18 Jakub Jelinek <jakub@redhat.com>
3829
3830 PR debug/48176
3831 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
3832 arange_table_in_use is 0, but either text_section_used or
3833 cold_text_section_used is true. Don't call it if
3834 !info_section_emitted.
3835
68fd7765
AS
38362011-03-18 Anatoly Sokolov <aesok@post.ru>
3837
3838 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
3839 FUNCTION_VALUE_REGNO_P): Remove.
3840 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
3841 Remove.
3842 * config/avr/avr.c (avr_ret_register): Make static inline.
3843 (avr_function_value_regno_p): New function.
3844 (avr_libcall_value): Make static. Add 'func' argument.
3845 (avr_function_value): Make static. Rename 'func' argument to
3846 'fn_decl_or_type', forward it to avr_libcall_value. Call
3847 avr_ret_register function instead of RET_REGISTER macro.
3848 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3849
b4ef8aac
JM
38502011-03-18 Jason Merrill <jason@redhat.com>
3851
3852 PR c++/23372
3853 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
3854
09a52fc3
RG
38552011-03-18 Richard Guenther <rguenther@suse.de>
3856
3857 * doc/install.texi (--enable-gold): Remove.
3858 (--with-plugin-ld): Document.
3859 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
3860
2a3d7659 38612011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
3862
3863 PR middle-end/47790
3864 * expr.c (optimize_bitfield_assignment_op): Revamp to work
3865 again after expansion changes.
3866
2abbb0fe
CLT
38672011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
3868
3869 * combine.c (try_combine): Do simplification only call of
3870 subst() on i2 even when i1 is present. Update comments.
3871
2efd0aa6
KK
38722011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
3873
3874 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
3875 and UNSPEC_PCREL_SYMOFF.
3876
30a49b23
AK
38772011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3878
3879 * config/s390/s390.md: Use define_c_enum for the unspec constant
3880 definitions.
3881
419e1853
JJ
38822011-03-18 Richard Henderson <rth@redhat.com>
3883 Jakub Jelinek <jakub@redhat.com>
3884
3885 PR bootstrap/48161
3886 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
3887 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
3888
37875856
L
38892011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3890
3891 PR middle-end/47725
3892 * combine.c (cant_combine_insn_p): Don't check zero/sign
3893 extended hard registers.
3894
76069764
L
38952011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3896
3897 PR middle-end/47725
3898 * combine.c (cant_combine_insn_p): Check zero/sign extended
3899 hard registers.
3900
24da2019
AS
39012011-03-17 Anatoly Sokolov <aesok@post.ru>
3902
3903 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3904 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
3905 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
3906 Change return type to bool.
3907 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3908
a82ff31f
JJ
39092011-03-17 Jakub Jelinek <jakub@redhat.com>
3910
8b29c87a
JJ
3911 PR debug/48163
3912 * var-tracking.c (prepare_call_arguments): If CALL target
3913 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
3914 pc instead of looking it up using cselib_lookup and use
3915 Pmode for it if x has VOIDmode.
3916 * dwarf2out.c (gen_subprogram_die): If also both first and
3917 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
3918
a82ff31f
JJ
3919 PR debug/48163
3920 * function.c (assign_parms): For data.passed_pointer parms
3921 use MEM of data.entry_parm instead of data.entry_parm itself
3922 as DECL_INCOMING_RTL.
3923 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
3924 also when passed and declared mode is the same, DECL_RTL
3925 is a MEM with pseudo as address and DECL_INCOMING_RTL is
3926 a MEM too.
3927
82ce305c
JL
39282011-03-16 Jeff Law <law@redhat.com>
3929
3930 PR rtl-optimization/37273
3931 * ira-costs.c (scan_one_insn): Detect constants living in memory and
3932 handle them like argument loads from stack slots. Do not double
3933 count memory for memory constants and argument loads from stack slots.
3934
fe58e02b
L
39352011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3936
3937 PR debug/48160
3938 * var-tracking.c (prepare_call_arguments): Check SUBREG.
3939
6fc4dbc7
L
39402011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3941
3942 PR target/48171
3943 * config/i386/i386.opt: Add Save to -mavx and -mfma.
3944
db3ed0b3
JJ
39452011-03-17 Jakub Jelinek <jakub@redhat.com>
3946
8054a389
JJ
3947 PR bootstrap/48153
3948 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
3949 if dwarf_strict.
3950 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
3951 Clear call_arg_locations and call_arg_loc_last always.
3952
db3ed0b3
JJ
3953 PR middle-end/48152
3954 * var-tracking.c (prepare_call_arguments): If argument needs to be
3955 passed by reference, adjust argtype and mode.
3956
1bce4ff3
RG
39572011-03-17 Richard Guenther <rguenther@suse.de>
3958
3959 PR middle-end/48134
3960 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
3961 a value make sure to fold the statement.
3962
7c71147d
CLT
39632011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
3964
3965 PR target/43872
3966 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
3967 return condition with !cfun->calls_alloca.
3968
0e1ee172
RG
39692011-03-17 Richard Guenther <rguenther@suse.de>
3970
3971 PR bootstrap/48148
3972 * lto-cgraph.c (input_overwrite_node): Clear the abstract
3973 origin for decls in other ltrans units.
3974 (input_varpool_node): Likewise.
3975
f8bce518
RG
39762011-03-17 Richard Guenther <rguenther@suse.de>
3977
3978 PR middle-end/48165
3979 * tree-object-size.c (compute_object_offset): Properly return
3980 the offset operand of MEM_REFs as sizetype.
3981
1b6fa860
JJ
39822011-03-17 Jakub Jelinek <jakub@redhat.com>
3983
dabd47e7
JJ
3984 PR rtl-optimization/48141
3985 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
3986 * dse.c: Include params.h.
3987 (active_local_stores_len): New variable.
3988 (add_wild_read, dse_step1): Clear it when setting active_local_stores
3989 to NULL.
3990 (record_store, check_mem_read_rtx): Decrease it when removing
3991 from the chain.
3992 (scan_insn): Likewise. Increase it when adding to chain, if it
3993 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
3994 set active_local_stores to NULL before the addition.
3995 * Makefile.in (dse.o): Depend on $(PARAMS_H).
3996
1b6fa860
JJ
3997 PR rtl-optimization/48141
3998 * dse.c (record_store): If no positions are needed in an insn
3999 that cannot be deleted, at least unchain it from active_local_stores.
4000
7b5cb7d6
DS
40012011-03-16 Dodji Seketeli <dodji@redhat.com>
4002
4003 PR debug/47510
4004 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
4005 (lookup_type_die_strip_naming_typedef): ... here.
4006 (get_context_die): Use it.
4007 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
4008 the anonymous struct named by the naming typedef.
4009
585e9d9d
L
40102011-03-16 H.J. Lu <hongjiu.lu@intel.com>
4011
4012 PR target/48154
4013 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
4014 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
4015
6261ab0e
JL
40162011-03-16 Jeff Law <law@redhat.com>
4017
4018 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 4019 check for operands of conditional. Allow type to be a pointer.
6261ab0e 4020
0b0081ec
RG
40212011-03-16 Richard Guenther <rguenther@suse.de>
4022
4023 PR tree-optimization/48149
4024 * fold-const.c (fold_binary_loc): Fold
4025 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
4026
64a3d647
RG
40272011-03-16 Richard Guenther <rguenther@suse.de>
4028
4029 PR tree-optimization/26134
4030 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
4031 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
4032 (non_rewritable_mem_ref_base): Handle complex type component
4033 accesses, constrain offsets for vector and complex extracts
4034 more properly.
4035
ef13324e
RG
40362011-03-16 Richard Guenther <rguenther@suse.de>
4037
4038 PR tree-optimization/48146
4039 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
4040 operands avoiding the need for renaming.
4041
f0eddb90
RG
40422011-03-16 Richard Guenther <rguenther@suse.de>
4043
4044 * gimple-fold.c (maybe_fold_reference): Open-code relevant
4045 constant folding. Move MEM_REF canonicalization first.
4046 Rely on fold_const_aggregate_ref for initializer folding.
4047 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
4048
e42348b8
JJ
40492011-03-16 Jakub Jelinek <jakub@redhat.com>
4050
29f10e71
JJ
4051 PR middle-end/48136
4052 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
4053 arg0/arg1 or their arguments are always fold converted to matching
4054 types.
4055
e42348b8
JJ
4056 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
4057 to nargs.
4058
55b46574
RO
40592011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4060
4061 PR lto/46944
4062 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
4063 Handle in-tree gold.
4064 (ld_vers): Extract binutils version for gold.
4065 (gcc_cv_ld_hidden): Handle gold here.
4066 (gcc_cv_lto_plugin): Determine level of linker plugin support.
4067 * configure: Regenerate.
4068 * config.in: Regenerate.
4069 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
4070 -fuse-linker-plugin otherwise.
4071 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
4072 (LINK_COMMAND_SPEC): Use it.
4073 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
4074
2b1c5433
JJ
40752011-03-16 Jakub Jelinek <jakub@redhat.com>
4076
c2969d8e
JJ
4077 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
4078 * calls.c: Remove debug.h include.
4079 (emit_call_1): Don't call virtual_call_token debug hook.
4080 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
4081 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
4082 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
4083 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
4084 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
4085 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
4086 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
4087 dwarf2out_virtual_call): Remove.
4088 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
4089 copy_call_info and virtual_call hooks.
4090 (dwarf2out_init): Don't initialize vcall_insn_table,
4091 debug_dcall_section and debug_vcall_section.
4092 (prune_unused_types): Don't mark nodes from dcall_table.
4093 (dwarf2out_finish): Don't output dcall or vcall tables.
4094 * final.c (final_scan_insn): Don't call direct_call or
4095 virtual_call debug hooks.
4096 * debug.h (struct gcc_debug_hooks): Remove direct_call,
4097 virtual_call_token, copy_call_info and virtual_call hooks.
4098 (debug_nothing_uid): Remove prototype.
4099 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
4100 copy_call_info and virtual_call hooks.
4101 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
4102 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
4103 * debug.c (do_nothing_debug_hooks): Likewise.
4104 (debug_nothing_uid): Remove.
4105 * doc/invoke.texi (-fenable-icf-debug): Remove.
4106 * common.opt (-fenable-icf-debug): Likewise.
4107
325f5379
JJ
4108 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
4109 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
4110 call's MEM. Handle functions returning aggregate through a hidden
4111 first pointer. For virtual calls add clobbered pc to call arguments
4112 chain.
4113 * dwarf2out.c (gen_subprogram_die): Emit
4114 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
4115 can't be emitted.
4116
a58a8e4b
JJ
4117 PR debug/45882
4118 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
4119 * rtl.h (ENTRY_VALUE_EXP): Define.
4120 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
4121 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
4122 * print-rtl.c (print_rtx): Likewise.
4123 * gengtype.c (adjust_field_rtx_def): Likewise.
4124 * var-tracking.c (vt_add_function_parameter): Adjust
4125 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
4126 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
4127 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
4128 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
4129 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
4130
2b1c5433
JJ
4131 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
4132 Call var_location debug hook even on CALL_INSNs.
4133 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
4134 * rtl.def (ENTRY_VALUE): New.
4135 * dwarf2out.c: Include cfglayout.h.
4136 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
4137 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
4138 (struct call_arg_loc_node): New type.
4139 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
4140 tail_call_site_count): New variables.
4141 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
4142 DW_TAG_GNU_call_site_parameter.
4143 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
4144 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
4145 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
4146 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
4147 and DW_AT_GNU_all_source_call_sites.
4148 (mem_loc_descriptor): Handle ENTRY_VALUE.
4149 (add_src_coords_attributes): Don't add enything if
4150 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
4151 (dwarf2out_abstract_function): Save and clear call_arg_location,
4152 call_site_count and tail_call_site_count around dwarf2out_decl call.
4153 (gen_call_site_die): New function.
4154 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
4155 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
4156 (dwarf2out_function_decl): Clear call_arg_locations,
4157 call_arg_loc_last, set call_site_count and tail_call_site_count
4158 to -1 and free block_map.
4159 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
4160 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
4161 followed by any real instructions.
4162 (dwarf2out_begin_function): Set call_site_count and
4163 tail_call_site_count to 0.
4164 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
4165 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
4166 attempt to force a DIE for it and worst case remove the attribute.
4167 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
4168 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
4169 the decl itself.
4170 * var-tracking.c: Include tm_p.h.
4171 (vt_stack_adjustments): For calls call note_register_arguments.
4172 (argument_reg_set): New variable.
4173 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
4174 ensure the VALUE is resolved.
4175 (call_arguments): New variable.
4176 (prepare_call_arguments): New function.
4177 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
4178 (struct expand_loc_callback_data): Add ignore_cur_loc field.
4179 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
4180 always use the best expression.
4181 (vt_expand_loc): Add ignore_cur_loc argument.
4182 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
4183 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
4184 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
4185 note for all calls.
4186 (vt_add_function_parameter): Use cselib_lookup_from_insn.
4187 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
4188 argument. Don't call cselib_preserve_only_values and
4189 cselib_reset_table.
4190 (note_register_arguments): New function.
4191 (vt_initialize): Compute argument_reg_set. Call
4192 vt_add_function_parameters before processing basic blocks instead of
4193 afterwards. For calls call prepare_call_arguments before calling
4194 cselib_process_insn.
4195 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
4196 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
4197 (var-tracking.o): Depend on $(TM_P_H).
4198 * cfglayout.h (insn_scope): New prototype.
4199 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
4200 * cfglayout.c (insn_scope): No longer static.
4201 * insn-notes.def (CALL_ARG_LOCATION): New.
4202 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
4203 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
4204 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
4205 nothing for DECL_EXTERNAL BLOCK_VARS.
4206
9ef13bd0
AM
42072011-03-16 Alan Modra <amodra@gmail.com>
4208
4209 PR target/45844
4210 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
4211 create invalid offset address for vsx splat insn.
4212 * config/rs6000/predicates.md (splat_input_operand): New.
4213 * config/rs6000/vsx.md (vsx_splat_*): Use it.
4214
56b67510
XDL
42152011-03-15 Xinliang David Li <davidxl@google.com>
4216
4217 PR c/47837
4218 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
4219 (normalize_preds): New function.
4220 (is_use_properly_guarded): Normalize def predicates.
4221
80fffdef
RR
42222011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4223
732f37c6 4224 PR target/46788
80fffdef
RR
4225 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
4226 in the output template.
4227
930672ad
RG
42282011-03-15 Richard Guenther <rguenther@suse.de>
4229
4230 PR middle-end/47650
4231 * tree-pretty-print.c (dump_function_declaration): Properly
4232 dump unprototyped and varargs function types.
4233
c7ee7b45
RG
42342011-03-15 Richard Guenther <rguenther@suse.de>
4235
4236 PR tree-optimization/13954
4237 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
4238 and friends.
4239
b2ad5e37
RG
42402011-03-15 Richard Guenther <rguenther@suse.de>
4241
4242 PR tree-optimization/48037
4243 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
4244 selects into BIT_FIELD_REFs.
4245 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
4246 vector select.
4247
7ee93d4e
JJ
42482011-03-15 Jakub Jelinek <jakub@redhat.com>
4249
4250 PR tree-optimization/48129
4251 * builtins.c (fold_builtin_snprintf): Convert to type of
4252 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
4253 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
4254
e106efc7
RG
42552011-03-15 Richard Guenther <rguenther@suse.de>
4256
4257 PR tree-optimization/41490
4258 * tree-ssa-dce.c (propagate_necessity): Handle returns without
4259 value but with VUSE.
4260 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
4261 return statements.
4262 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
4263 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
4264 * tree-tailcall.c (find_tail_calls): Ignore returns.
4265
17dea42f
RG
42662011-03-15 Richard Guenther <rguenther@suse.de>
4267
4268 PR middle-end/48031
4269 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
4270 or variable-indexed array accesses when in gimple form.
4271
01c77a60
RG
42722011-03-15 Richard Guenther <rguenther@suse.de>
4273
16cc4440 4274 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 4275
77b0791e
AM
42762011-03-15 Alan Modra <amodra@gmail.com>
4277
4278 PR target/48032
4279 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
4280 presume symbol_refs without a symbol_ref_decl are suitably
4281 aligned, nor other trees we may see here. Handle anchor symbols.
4282 (legitimate_constant_pool_address_p): Comment. Add mode param.
4283 Check cmodel=medium addresses. Adjust all calls.
4284 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
4285 creating cmodel=medium optimized access to locals.
4286 * config/rs6000/constraints.md (R): Pass QImode to
4287 legitimate_constant_pool_address_p.
4288 * config/rs6000/predicates.md (input_operand): Pass mode to
4289 legitimate_constant_pool_address_p.
4290 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
4291 Update prototype.
4292
35f61ba4
MM
42932011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4294
4295 PR target/48053
4296 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
4297 64-bit constants being loaded into registers other than GPRs such
4298 as loading 0 into a VSX register.
4299
07332e6d
RO
43002011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4301
16cc4440 4302 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 4303
de888d90
JJ
43042011-03-14 Jakub Jelinek <jakub@redhat.com>
4305
ba3ceb2d
JJ
4306 PR middle-end/47917
4307 * builtins.c (fold_builtin_snprintf): New function.
4308 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
4309 (fold_builtin_4): Likewise.
4310
2e64f8b8
JJ
4311 PR middle-end/38878
4312 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
4313 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
4314 and C - X == X also strip nops from +/-/p+ operand.
4315 When optimizing -X == C, fold C to arg0's type.
4316
de888d90
JJ
4317 PR debug/47946
4318 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
4319 emit it as add_AT_int instead of add_AT_unsigned.
4320
43212011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
4322
4323 * unwind-dw2.c: Include sys/sdt.h if it exists.
4324 (_Unwind_DebugHook): Use STAP_PROBE2.
4325 * config.in, configure: Rebuild.
4326 * configure.ac: Check for sys/sdt.h.
4327
d34abfd2
UB
43282011-03-14 Uros Bizjak <ubizjak@gmail.com>
4329
4330 * config/i386/i386.md (ROUND_FLOOR): New constant.
4331 (ROUND_CEIL): Ditto.
4332 (ROUND_TRUNC): Ditto.
4333 (ROUND_MXCSR): Ditto.
4334 (ROUND_NO_EXC): Ditto.
4335 (rint<mode>2): Use new defines instead of numerical constants.
4336 (floor<mode>2): Ditto.
4337 (ceil<mode>2): Ditto.
4338 (btrunc<mode>2): Ditto.
4339 * config/i386/i386-builtin-types.def: Define ROUND function type
4340 aliases.
4341 * config/i386/i386.c (enum ix86_builtins): Add
4342 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
4343 (struct builtin_description): Add
4344 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
4345 (ix86_expand_sse_round): New static function.
4346 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
4347 function types.
4348 (ix86_builtin_vectorized_function): Handle
4349 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
4350
87f9e23d
TT
43512011-03-14 Tom Tromey <tromey@redhat.com>
4352
4353 * c-parser.c (c_parser_asm_string_literal): Clear
4354 warn_overlength_strings.
4355
b3ab9ea2
TT
43562011-03-14 Tom Tromey <tromey@redhat.com>
4357
4358 * c-parser.c (disable_extension_diagnostics): Save
4359 warn_overlength_strings.
4360 (restore_extension_diagnostics): Restore warn_overlength_strings.
4361
6bd73dd8
JJ
43622011-03-14 Jakub Jelinek <jakub@redhat.com>
4363
4364 * BASE-VER: Change to 4.7.0.
4365
7f4d6e1b
RG
43662011-03-14 Richard Guenther <rguenther@suse.de>
4367
4368 PR middle-end/48098
4369 * tree.c (build_vector_from_val): Adjust assert to requirements
4370 and reality.
4371
c6104ef1
JJ
43722011-03-14 Jakub Jelinek <jakub@redhat.com>
4373
4374 PR bootstrap/48102
d34abfd2 4375 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 4376
dfa95e19
AT
43772011-03-14 Andreas Tobler <andreast@fgznet.ch>
4378
4379 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
4380 terms of target_flags_explicit. Adjust copyright year.
4381
4382 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
4383 * config/rs6000/t-freebsd: New file. Add override for
4384 LIB2FUNCS_EXTRA.
4385
bb322018
CD
43862011-03-13 Chris Demetriou <cgd@google.com>
4387
4388 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
4389 (-fno-diagnostics-show-option): this, to reflect current default.
4390 (-Werror=): Update text about -fno-diagnostics-show-option.
4391
12b1c80b
PB
43922011-03-12 Peter Bergner <bergner@vnet.ibm.com>
4393
4394 PR target/48053
4395 * config/rs6000/predicates.md (easy_vector_constant_add_self,
4396 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
4397 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
4398 mode is not V2DImode or V2DFmode.
4399 (vspltis_constant): Do not handle V2DImode and V2DFmode.
4400 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
4401 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
4402 registers to 0.
4403 (movdi_internal64): Likewise.
4404
57d598f7
SP
44052011-03-12 Sebastian Pop <sebastian.pop@amd.com>
4406
4407 PR tree-optimization/47127
4408 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
4409 parameter.
4410 (set_cloog_options): Same.
4411 (scop_to_clast): Same.
4412 (print_clast_stmt): Do not call cloog_state_malloc and
4413 cloog_state_free.
4414 (print_generated_program): Same.
4415 (gloog): Same.
4416 * graphite-clast-to-gimple.h (cloog_state): Declared.
4417 (scop_to_clast): Adjust declaration.
4418 * graphite.c (cloog_state): Defined here.
4419 (graphite_initialize): Call cloog_state_malloc.
4420 (graphite_finalize): Call cloog_state_free.
4421
f231b5ff
JM
44222011-03-11 Jason Merrill <jason@redhat.com>
4423
4424 * attribs.c (lookup_attribute_spec): Take const_tree.
4425 * tree.h: Adjust.
4426
6a4e2bd5
JM
44272011-03-11 Joseph Myers <joseph@codesourcery.com>
4428
4429 * config/sparc/sparc.c (sparc_option_override): Use
4430 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
4431
a758fd67
RG
44322011-03-11 Richard Guenther <rguenther@suse.de>
4433
4434 PR tree-optimization/48067
4435 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
4436 multiplication result will be only used once on the target
4437 stmt.
4438
03dfda54
RG
44392011-03-11 Richard Guenther <rguenther@suse.de>
4440
4441 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
4442
5f11a50a
RG
44432011-03-11 Richard Guenther <rguenther@suse.de>
4444
4445 PR lto/48073
4446 * tree.c (find_decls_types_r): Do not walk types only reachable
4447 from IDENTIFIER_NODEs.
4448
4074f163
JJ
44492011-03-11 Jakub Jelinek <jakub@redhat.com>
4450
4451 PR middle-end/48044
4452 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
4453 all vnode->force_output nodes as needed.
4454
30f7cdcd
JM
44552011-03-11 Jason Merrill <jason@redhat.com>
4456
4457 PR c++/48069
4458 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
4459 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
4460
62ecfeb8
MJ
44612011-03-11 Martin Jambor <mjambor@suse.cz>
4462
4463 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
4464 cgraph_node.
4465
e89e03ab
JJ
44662011-03-11 Jakub Jelinek <jakub@redhat.com>
4467
4468 PR tree-optimization/48063
4469 * ipa-inline.c (cgraph_decide_inlining): Don't try to
4470 inline functions called once if !tree_can_inline_p (node->callers).
4471
efbe978b 44722011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 4473
efbe978b
EB
4474 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
4475 extra_objs.
9d6193a7
CL
4476 * config/score/score3.c: Delete.
4477 * config/score/score3.h: Delete.
4478 * config/score/mul-div.S: Delete.
4479 * config/score/sfp-machine.h: Add new file.
4480 * config/score/constraints.md: Add new file.
4481 * config/score/t-score-softfp: Add new file.
efbe978b 4482 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
4483 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
4484 (score7_extra_constraint): Delete.
efbe978b 4485 (score7_option_override): Remove unused code.
9d6193a7
CL
4486 * config/score/score.c: Remove score3 and score5 define and code.
4487 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 4488 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
4489 * config/score/score.opt: Remove score3 and score5 options.
4490
5de27cca
JDA
44912011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4492
4493 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
4494 when _HPUX_SOURCE is defined.
4495 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
4496
18d92053
JM
44972011-03-10 Jason Merrill <jason@redhat.com>
4498
4499 PR c++/48029
4500 * stor-layout.c (layout_type): Don't set structural equality
4501 on arrays of incomplete type.
4502 * tree.c (type_hash_eq): Handle comparing them properly.
4503
67a2f76d
JJ
45042011-03-10 Jakub Jelinek <jakub@redhat.com>
4505
4506 PR debug/48043
18d92053 4507 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
4508 result mode matches original rtl mode.
4509
d845b2f9
NC
45102011-03-10 Nick Clifton <nickc@redhat.com>
4511
4512 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 4513 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 4514
db7ec035
JJ
45152011-03-09 Jakub Jelinek <jakub@redhat.com>
4516
4517 PR rtl-optimization/47866
4518 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
4519 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
4520 if target wasn't scalar.
4521 * function.c (assign_stack_temp_for_type): Assert that neither
4522 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
4523 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
4524 macro.
4525 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
4526
5d304e47
AK
45272011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4528
4529 * config/s390/s390-protos.h (s390_label_align): New prototype.
4530 * config/s390/s390.c (s390_label_align): New function.
4531 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
4532
93b826f0
MM
45332011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
4534
4535 PR target/47755
4536 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
4537 V2DI/V2DF constants. Only all 0's or all 1's are easy.
4538 (output_vec_const_move): Ditto.
4539
ef78aed6
AS
45402011-03-08 Anatoly Sokolov <aesok@post.ru>
4541
4542 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
4543 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
4544 * config/mips/mips.c (mips_preferred_reload_class): Make static.
4545 Change 'rclass' argument and result type to reg_class_t.
4546 (TARGET_PREFERRED_RELOAD_CLASS): Define.
4547
5f892aa0
GJL
45482011-03-08 Georg-Johann Lay <avr@gjlay.de>
4549
9e43ad68
UB
4550 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4551 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
4552 (TARGET_MEMORY_MOVE_COST): Define.
4553 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 4554
32bd2409
JJ
45552011-03-08 Jakub Jelinek <jakub@redhat.com>
4556
530a4800
JJ
4557 PR debug/47881
4558 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
4559 removed anything.
4560
32bd2409
JJ
4561 PR tree-optimization/48022
4562 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
4563 for EQ/NE_EXPR.
4564
c7148991
JJ
45652011-03-07 Jakub Jelinek <jakub@redhat.com>
4566
4567 PR debug/47991
4568 * var-tracking.c (find_use_val): Return NULL for
4569 cui->sets && cui->store_p BLKmode MEMs.
4570
43070a6e
AS
45712011-03-07 Anatoly Sokolov <aesok@post.ru>
4572
4573 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
4574 Remove.
4575 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
4576 xstormy16_print_operand_address): Remove.
4577 * config/stormy16/stormy16.c (xstormy16_print_operand,
4578 xstormy16_print_operand_address): Make static.
4579 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
4580
efbe978b 45812011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
4582
4583 PR target/47862
4584 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
4585 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
4586 before definition.
4587
cec8ac0b
ZD
45882011-03-07 Zdenek Dvorak <ook@ucw.cz>
4589
4590 PR bootstrap/48000
4591 * cfgloopmanip.c (fix_bb_placements): Return immediately
4592 if FROM is BASE_LOOP's header.
4593
59527282
PW
45942011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
4595
4596 * gimplify.c (gimplify_function_tree): Fix building calls
4597 to __builtin_return_address.
4598
617718f7
AM
45992011-03-07 Alan Modra <amodra@gmail.com>
4600
4601 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
4602 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
4603 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
4604 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
4605 return_mode args.
4606 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
4607 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
4608 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
4609 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
4610 * config/rs6000/rs6000.c
4611 (rs6000_elf_end_indicate_exec_stack): Rename to..
4612 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
4613 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
4614 (rs6000_file_start): ..here.
4615 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
4616 file scope variables.
4617 (call_ABI_of_interest): New function.
4618 (init_cumulative_args): Set above vars when function return value
4619 is a float, vector, or small struct.
4620 (rs6000_function_arg_advance_1): Likewise for function args.
4621 (rs6000_va_start): Set rs6000_passes_float if variable arg function
4622 references float args.
4623
38528d50
MX
46242011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
4625
4626 * doc/cfg.texi: Remove "See" before @ref.
4627 * doc/invoke.texi: Likewise.
4628
f42cf4f4
JM
46292011-03-05 Jason Merrill <jason@redhat.com>
4630
4631 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
4632
804a304d
AG
46332011-03-05 Anthony Green <green@moxielogic.com>
4634
4635 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
4636
634ee309
ZD
46372011-03-05 Zdenek Dvorak <ook@ucw.cz>
4638
4639 PR rtl-optimization/47899
4640 * cfgloopmanip.c (fix_bb_placements): Fix first argument
4641 to flow_loop_nested_p when moving the loop upward.
4642
6fe471c8
RE
46432011-03-05 Richard Earnshaw <rearnsha@arm.com>
4644
4645 PR target/47719
4646 * arm.md (movhi_insn_arch4): Accept any immediate constant.
4647
cc58ceee
JJ
46482011-03-05 Jakub Jelinek <jakub@redhat.com>
4649
4650 PR tree-optimization/47967
4651 * ipa-cp.c (build_const_val): Return NULL instead of creating
4652 VIEW_CONVERT_EXPR for mismatching sizes.
4653 (ipcp_create_replace_map): Return NULL if build_const_val failed.
4654 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
4655 give up on versioning.
4656
ea868305
AM
46572011-03-05 Alan Modra <amodra@gmail.com>
4658
4659 PR target/47986
4660 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4661 full cmodel medium/large lo_sum + high addresses.
4662
bc6ce334
AK
46632011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4664
4665 * config/s390/s390.c (s390_decompose_address): Reject non-literal
4666 pool references in UNSPEC_LTREL_OFFSET.
4667
87e7b310
JH
46682011-03-04 Jan Hubicka <jh@suse.cz>
4669
4670 PR lto/47497
4671 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
4672 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
4673 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
4674 Add node pointers.
87e7b310
JH
4675 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
4676 cgraph_add_thunk): Add node pointers.
4677 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
4678 associated to right node.
4679 (input_node): Update use of cgraph_same_body_alias
4680 and cgraph_add_thunk.
4681
d9c64246
CF
46822011-03-04 Changpeng Fang <changpeng.fang@amd.com>
4683
4684 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
4685 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
4686 modes when the flag -mprefer-avx128 is on.
d9c64246 4687
08707076
RS
46882011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
4689
4690 * dwarf2out.c (compare_loc_operands): Fix address handling.
4691
52517c81
AM
46922011-03-04 Alan Modra <amodra@gmail.com>
4693
4694 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
4695
b147c5b9
RG
46962011-03-04 Richard Guenther <rguenther@suse.de>
4697
4698 PR middle-end/47968
4699 * expmed.c (extract_bit_field_1): Prefer vector modes that
4700 vec_extract patterns can handle.
4701
8750672f
RG
47022011-03-04 Richard Guenther <rguenther@suse.de>
4703
4704 PR middle-end/47975
4705 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
4706
9eac0f2a
RH
47072011-03-04 Richard Henderson <rth@redhat.com>
4708
4709 * explow.c (emit_stack_save): Remove 'after' parameter.
4710 (emit_stack_restore): Likewise.
4711 * expr.h: Update to match.
4712 * builtins.c, calls.c, stmt.c: Likewise.
4713 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
4714 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
4715 * function.c (expand_function_end): Insert the emit_stack_save
4716 sequence before parm_birth_insn instead of after.
4717
dfee1406
UB
47182011-03-03 Uros Bizjak <ubizjak@gmail.com>
4719
4720 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
4721 (ssse3_pmaddubsw128): Ditto.
4722 (ssse3_pmaddubsw): Ditto.
4723
f1d4c3de
SE
47242011-03-03 Steve Ellcey <sje@cup.hp.com>
4725
4726 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
4727
71f3a3f5
JJ
47282011-03-03 Jakub Jelinek <jakub@redhat.com>
4729
423ed416
JJ
4730 PR c/47963
4731 * gimplify.c (omp_add_variable): Only call omp_notice_variable
4732 on TYPE_SIZE_UNIT if it is a DECL.
4733
71f3a3f5
JJ
4734 PR debug/47283
4735 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
4736 first operand is not is_gimple_mem_ref_addr, try to fold it.
4737 If the operand still isn't is_gimple_mem_ref_addr, clear
4738 MEM_EXPR on op0.
4739
4b1a5c0d
RG
47402011-03-03 Richard Guenther <rguenther@suse.de>
4741
4742 PR middle-end/47283
4743 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
4744 match comment.
4745 (refs_may_alias_p_1): For release branches return true if
4746 we are confused by our input.
4747
b46616fd
AK
47482011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4749
4750 * config/s390/s390.c (s390_function_value): Rename to ...
4751 (s390_function_and_libcall_value): ... this.
4752 (s390_function_value): New function.
4753 (s390_libcall_value): New function.
dfee1406 4754 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
4755 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
4756 target macro definitions.
4757 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
4758
46d8fabb
JM
47592011-03-02 Joseph Myers <joseph@codesourcery.com>
4760
4761 * config/i386/freebsd64.h (CC1_SPEC): Define.
4762 * config/i386/linux64.h (CC1_SPEC): Define.
4763 * config/i386/x86-64.h (CC1_SPEC): Don't define.
4764
6b1ce545
AS
47652011-03-02 Anatoly Sokolov <aesok@post.ru>
4766
4767 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4768 Remove.
4769 * config/stormy16/stormy16.c: Include reload.h.
4770 (xstormy16_memory_move_cost): New function.
4771 (TARGET_MEMORY_MOVE_COST): Define.
4772
34161e98
RS
47732011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
4774
4775 PR rtl-optimization/47925
4776 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
4777 with side effects. Remove the more-specific check for volatile asms.
4778
f60a97cf
AM
47792011-03-02 Alan Modra <amodra@gmail.com>
4780
4781 PR target/47935
4782 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
4783 toc relative addresses for valid offsets.
4784
f2ca11ca
RG
47852011-03-01 Richard Guenther <rguenther@suse.de>
4786
4787 PR tree-optimization/47890
4788 * tree-vect-loop.c (get_initial_def_for_induction): Set
4789 related stmt properly.
4790
7a00d9ea
RG
47912011-03-01 Richard Guenther <rguenther@suse.de>
4792
4793 PR lto/47924
4794 * lto-streamer.c (lto_record_common_node): Also register
4795 the canonical type.
4796
06c7edcc
RG
47972011-03-01 Richard Guenther <rguenther@suse.de>
4798
4799 PR lto/46911
4800 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
4801 Do not stream DECL_ABSTRACT_ORIGIN.
4802 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4803 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4804 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
4805 Do not stream DECL_ABSTRACT_ORIGIN.
4806 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4807 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4808
998871e9
AS
48092011-02-28 Anatoly Sokolov <aesok@post.ru>
4810
4811 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
4812 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 4813 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
4814 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
4815 Add 'outgoing' argument.
4816 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
4817 function.
4818 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4819 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4820
94369251
KT
48212011-02-28 Kai Tietz <kai.tietz@onevision.com>
4822
4823 PR debug/28047
4824 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
4825 (lookup_filename): Likewise.
b2e2ea67 4826 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 4827
80a832cd
JJ
48282011-02-28 Bernd Schmidt <bernds@codesourcery.com>
4829 Jakub Jelinek <jakub@redhat.com>
4830
4831 PR middle-end/47893
4832 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
4833 (assign_stack_local_1): Change last argument type to int.
4834 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
4835 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 4836 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
4837 (assign_stack_local): Adjust caller.
4838 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
4839 of assign_stack_local, pass 0 as last argument.
4840 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
4841 callers.
4842
1b500976
JJ
48432011-02-28 Jakub Jelinek <jakub@redhat.com>
4844
f61c6f34
JJ
4845 PR debug/47283
4846 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
4847 Use target address_mode and pointer_mode hooks instead of hardcoded
4848 Pmode and ptr_mode. Handle some simple cases of extending if
4849 POINTERS_EXTEND_UNSIGNED < 0.
4850 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
4851 Call convert_debug_memory_address.
4852 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
4853 convert_debug_memory_address.
4854
1b500976
JJ
4855 PR middle-end/46790
4856 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
4857 * configure: Regenerated.
4858 * config.in: Regenerated.
4859 * varasm.c (default_function_section): Return NULL
b2e2ea67 4860 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 4861
2f2935b6
MJ
48622011-02-28 Martin Jambor <mjambor@suse.cz>
4863
4864 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
4865 the description to match the printed values.
4866
474086eb
RG
48672011-02-28 Richard Guenther <rguenther@suse.de>
4868
4869 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
4870 of the copied scope tree.
4871
15bf6f3a
RW
48722011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4873
4874 * doc/extend.texi (Function Attributes): Avoid deeply (and
4875 wrongly) nested tables.
4876
f6b439c9
JJ
48772011-02-27 Jakub Jelinek <jakub@redhat.com>
4878
4879 PR middle-end/47903
4880 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
4881 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
4882 r isn't op0 nor op1.
4883
1d8ca2c7
GJL
48842011-02-23 Georg-Johann Lay <avr@gjlay.de>
4885
4886 * config/avr/avr.md: Remove magic comment for emacs.
4887
593fca4b
GJL
48882011-02-23 Georg-Johann Lay <avr@gjlay.de>
4889
4890 PR target/45261
4891 * config/avr/avr.c (avr_option_override): Use error on bad options.
4892 (avr_help): New function.
4893 (TARGET_HELP): Define.
4894
6609216e
GJL
48952011-02-22 Georg-Johann Lay <avr@gjlay.de>
4896
4897 PR target/42240
4898 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
4899 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
4900
03d458af
GP
49012011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
4902
4903 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
4904 (ARM Options): Ditto.
4905 (i386 and x86-64 Options): Ditto.
4906 (RX Options): Ditto.
4907 (SPARC Options): Ditto.
4908
1c379b78
TC
49092011-02-26 Tijl Coosemans <tijl@coosemans.org>
4910
4911 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
4912 FreeBSD 6 and later. Generally use cpu generic.
4913
d5ed058c 49142011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 4915
d5ed058c
GP
4916 * doc/cpp.texi: Update copyright years.
4917
509d65dd 49182011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 4919
509d65dd 4920 PR target/46898
308d39cd
SB
4921 * config/lm32/lm32.md (ashrsi3): Added needed variable.
4922
509d65dd 49232011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 4924
509d65dd 4925 PR target/46898
308d39cd
SB
4926 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
4927 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
4928 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
4929 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 4930 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
4931 (gen_int_relational): Move declarations to start of function.
4932
822ba6d7
EB
49332011-02-25 Eric Botcazou <ebotcazou@adacore.com>
4934
4935 PR tree-optimization/45470
4936 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
4937 can throw internally only.
4938 * tree-vect-stmts.c (vectorizable_call): Likewise.
4939
ef795fc2
AS
49402011-02-24 Anatoly Sokolov <aesok@post.ru>
4941
4942 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
4943 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4944 * config/stormy16/stormy16-protos.h
4945 (xstormy16_preferred_reload_class): Remove.
4946 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
4947 static. Change 'rclass' argument and return type to reg_class_t.
4948 (TARGET_PREFERRED_RELOAD_CLASS,
4949 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4950
1c3277ee
RG
49512011-02-24 Richard Guenther <rguenther@suse.de>
4952
4953 * lto-streamer-in.c (input_bb): Do not find referenced vars
4954 in debug statements.
4955
67e18edb
JM
49562011-02-23 Jason Merrill <jason@redhat.com>
4957
4958 * common.opt (fabi-version): Document v5 and v6.
4959
b14fad9d
RG
49602011-02-23 Richard Guenther <rguenther@suse.de>
4961
4962 PR tree-optimization/47849
4963 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
4964
7fcf46f5
JZ
49652011-02-23 Jie Zhang <jie@codesourcery.com>
4966
4967 * opts-common.c (decode_cmdline_option): Print empty string
4968 argument as "" in decoded->orig_option_with_args_text.
4969 * gcc.c (execute): Print empty string argument as ""
4970 in the verbose output.
4971 (do_spec_1): Keep empty string argument.
4972
f85b70fd
NF
49732011-02-23 Nathan Froyd <froydnj@codesourcery.com>
4974
4975 * config.gcc: Declare score-* and crx-* obsolete.
4976
b152a615
JZ
49772011-02-23 Jie Zhang <jie@codesourcery.com>
4978
4979 PR rtl-optimization/47763
4980 * web.c (web_main): Ignore naked clobber when replacing register.
4981
bb6e77bc
AS
49822011-02-22 Anatoly Sokolov <aesok@post.ru>
4983
4984 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
4985 Remove.
4986
68bf6491
SP
49872011-02-22 Sebastian Pop <sebastian.pop@amd.com>
4988
4989 PR doc/47848
4990 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
4991
88ee1fc7
MS
49922011-02-22 Mike Stump <mikestump@comcast.net>
4993
4994 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
4995 assembler.
4996 * configure: Regenerate.
4997
6042d1dd
CLT
49982011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
4999
5000 PR rtl-optimization/46002
5001 * ira-color.c (update_copy_costs): Change class intersection
5002 test to reg_class_contents[] test of 'hard_regno'.
5003
7de97f9e
JM
50042011-02-21 Joseph Myers <joseph@codesourcery.com>
5005
5006 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
5007 than Driver option.
5008 * config/hpux11.opt (mt): Likewise.
5009 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
5010 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
5011 * config/vax/elf.opt (mno-asm-pic): Likewise.
5012 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
5013
d1d46f9f
MS
50142011-02-21 Mike Stump <mikestump@comcast.net>
5015
5016 PR target/47822
5017 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
5018 tree so we can get save the type.
5019 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
5020 for CFString instead of trying to use past the end of the builtins.
5021 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
5022 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
5023 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
5024 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
5025 Rename to darwin_builtin_cfstring.
5026 (darwin_init_cfstring_builtins): Return the built type.
5027
23e0d930
UB
50282011-02-21 Uros Bizjak <ubizjak@gmail.com>
5029
5030 PR target/47840
5031 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
5032 (_mm256_insert_epi64): Use _mm_insert_epi64.
5033
192997cf
AS
50342011-02-21 Anatoly Sokolov <aesok@post.ru>
5035
5036 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5037 * config/stormy16/stormy16-protos.h
5038 (xstormy16_mode_dependent_address_p): Remove.
5039 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
5040 Make static. Change return type to bool. Change argument type to
5041 const_rtx. Remove dead code.
5042 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5043
e292d003
RG
50442011-02-21 Richard Guenther <rguenther@suse.de>
5045
5046 PR lto/47820
5047 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
5048 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
5049 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
5050 TUs context.
23e0d930 5051 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
5052 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
5053
77f846e9
RG
50542011-02-20 Richard Guenther <rguenther@suse.de>
5055
5056 PR lto/47822
5057 * tree.c (free_lang_data_in_decl): Clean builtins from
5058 the TU decl BLOCK_VARS.
23e0d930 5059
b2cddfc8
AO
50602011-02-19 Alexandre Oliva <aoliva@redhat.com>
5061
5062 PR debug/47620
5063 PR debug/47630
5064 * haifa-sched.c (fix_tick_ready): Skip tick computation
5065 for debug insns.
5066
becf4c11
RG
50672011-02-19 Richard Guenther <rguenther@suse.de>
5068
5069 PR lto/47647
5070 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
5071 Remove lazy BLOCK_VARS streaming.
5072 (lto_input_ts_block_tree_pointers): Likewise.
5073 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
5074
27f98305
JM
50752011-02-19 Joseph Myers <joseph@codesourcery.com>
5076
5077 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
5078
064bf3f4
JM
50792011-02-19 Joseph Myers <joseph@codesourcery.com>
5080
5081 * config/i386/biarch32.h, config/i386/mach.h,
5082 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
5083
9215ddc3
JJ
50842011-02-19 Jakub Jelinek <jakub@redhat.com>
5085
5086 PR target/47800
5087 * config/i386/i386.md (peephole2 for shift and plus): Use
5088 operands[1] original mode in the first insn.
5089
8b021004
MS
50902011-02-18 Mike Stump <mikestump@comcast.net>
5091
65ded153 5092 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 5093
f84ae14c
JH
50942011-02-18 Jan Hubicka <jh@suse.cz>
5095
5096 PR middle-end/47788
65ded153
EB
5097 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
5098 to zero when the function is not inlinable at all.
f84ae14c 5099
eddabc80
JDA
51002011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5101
5102 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
5103 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
5104 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
5105 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
5106 * config/pa/t-pa64: Likewise.
5107 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5108
ca3da783
JJ
51092011-02-18 Jakub Jelinek <jakub@redhat.com>
5110
5111 PR driver/47787
5112 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
5113
430aa868
JDA
51142011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5115
5116 PR target/47792
5117 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
5118
4bf7ff7e
AS
51192011-02-18 Anatoly Sokolov <aesok@post.ru>
5120
5121 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
5122 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
5123 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
5124 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
5125 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
5126 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
5127 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
5128 m32r_load_postinc_p, m32r_store_preinc_predec_p,
5129 m32r_legitimate_address_p): New functions.
5130 * config/m32r/constraints.md (constraint "S"): Don't use
5131 STORE_PREINC_PREDEC_P.
5132 (constraint "U"): Don't use LOAD_POSTINC_P.
5133
7efcf910
CLT
51342011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
5135
5136 PR rtl-optimization/46178
5137 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
5138 compute ira_hard_regno_cover_class[].
5139
237d6259
RG
51402011-02-18 Richard Guenther <rguenther@suse.de>
5141
5142 PR lto/47798
5143 * lto-streamer.h (lto_global_var_decls): Declare.
5144 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
5145 statics for global var processing.
5146
12d80acc
RG
51472011-02-18 Richard Guenther <rguenther@suse.de>
5148
5149 PR tree-optimization/47737
5150 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
5151 edge dominance check.
5152
abfea58d
JJ
51532011-02-18 Jakub Jelinek <jakub@redhat.com>
5154
5155 PR debug/47780
5156 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
5157 avoid invalid rtx sharing.
5158
f73c8882
GP
51592011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
5160
5161 * doc/cpp.texi (Obsolete Features): Add background on the
5162 origin of assertions.
5163
d764a8e6
IS
51642011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5165
5166 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 5167 objc_abi == 2.
d764a8e6
IS
5168 * config/darwin.c (output_objc_section_asm_op): Added support for
5169 ABI v1 and v2.
5170 (is_objc_metadata): New.
5171 (darwin_objc2_section): New.
5172 (darwin_objc1_section): New.
5173 (machopic_select_section): Added support for ABI v1 and v2.
5174 (darwin_emit_objc_zeroed): New.
5175 (darwin_output_aligned_bss): Detect objc metadata and treat it
5176 appropriately.
5177 (darwin_asm_output_aligned_decl_common): Same.
5178 (darwin_asm_output_aligned_decl_local): Same.
5179 * config/darwin-sections.def: Updated for ABI v1 and v2.
5180 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
5181 compiling Objective-C code for the NeXT runtime, default to using
5182 ABI version 0 for 32-bit, and version 2 for 64-bit.
5183
0a8134ca
JM
51842011-02-17 Joseph Myers <joseph@codesourcery.com>
5185
5186 * common.opt (optimize_fast): New Variable.
5187 * opts.c (default_options_optimization): Use opts->x_optimize_fast
5188 instead of local variable ofast.
5189
0a256240
NP
51902011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
5191
5192 * doc/invoke.texi (fobjc-abi-version): Documented.
5193 (fobjc-nilcheck): Documented.
5194 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
5195 version.
5196
fa381cb2
JM
51972011-02-17 Joseph Myers <joseph@codesourcery.com>
5198
5199 PR driver/47390
5200 * common.opt (export-dynamic): New Driver option.
5201 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
5202
5437eaa6
JM
52032011-02-17 Joseph Myers <joseph@codesourcery.com>
5204
5205 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
5206
bb7e6d55
AO
52072011-02-17 Alexandre Oliva <aoliva@redhat.com>
5208 Jan Hubicka <jh@suse.cz>
5209
5210 PR debug/47106
5211 PR debug/47402
5212 * cfgexpand.c (account_used_vars_for_block): Remove.
5213 (estimated_stack_frame_size): Use referenced vars.
5214 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
5215 that were referenced in the original function. Test src_fn
5216 rather than cfun. Drop redundant get_var_ann.
5217 (setup_one_parameter): Drop redundant get_var_ann.
5218 (declare_return_variable): Likewise.
5219 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
5220 (copy_arguments_for_versioning): Drop redundant get_var_ann.
5221 * ipa-inline.c (compute_inline_parameters): Do not compute
5222 disregard_inline_limits here.
bb7e6d55
AO
5223 (compute_inlinable_for_current, pass_inlinable): New.
5224 (pass_inline_parameters): Require PROP_referenced_vars.
5225 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 5226 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
5227 (cgraph_analyze_function): Set .disregard_inline_limits.
5228 * tree-sra.c (convert_callers): Compute inliner parameters
5229 only for functions already in SSA form.
5230
f181a8a7
JM
52312011-02-17 Joseph Myers <joseph@codesourcery.com>
5232
5233 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
5234 -mlittle-endian-data.
5235
c6869789
JM
52362011-02-17 Joseph Myers <joseph@codesourcery.com>
5237
5238 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
5239 -mno-fpu, not -fpu and -no-fpu.
5240 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
5241 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
5242
fbf4bfd3
UB
52432011-02-17 Uros Bizjak <ubizjak@gmail.com>
5244
5245 PR target/43653
5246 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
5247 input reload with PLUS RTX.
5248
70be5dc7
JM
52492011-02-16 Joseph Myers <joseph@codesourcery.com>
5250
5251 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
5252 of InverseVar(MDMX).
5253
30b1646e
JM
52542011-02-16 Joseph Myers <joseph@codesourcery.com>
5255
5256 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
5257 --m4-340.
5258
ab7b71e9
JM
52592011-02-16 Joseph Myers <joseph@codesourcery.com>
5260
5261 * config/mn10300/mn10300.opt (mno-crt0): New.
5262
466f3f08
JM
52632011-02-16 Joseph Myers <joseph@codesourcery.com>
5264
5265 * config/m68k/uclinux.opt (static-libc): New Driver option.
5266
8226cd7b
JM
52672011-02-16 Joseph Myers <joseph@codesourcery.com>
5268
5269 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
5270
45cab1d7
JM
52712011-02-16 Joseph Myers <joseph@codesourcery.com>
5272
5273 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
5274 %{muser-extend-enabled}.
5275
65aab64f
RG
52762011-02-16 Richard Guenther <rguenther@suse.de>
5277
5278 PR tree-optimization/47738
5279 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
5280 the TODO from tree_predictive_commoning.
5281
fc2fa4fb
JL
52822011-02-15 Jeff Law <law@redhat.com>
5283
5284 Revert
5285 2011-01-25 Jeff Law <law@redhat.com>
5286
5287 PR rtl-optimization/37273
5288 * ira-costs.c (scan_one_insn): Detect constants living in memory and
5289 handle them like argument loads from stack slots. Do not double
5290 count memory for memory constants and argument loads from stack slots.
5291
4e380b8e
L
52922011-02-15 H.J. Lu <hongjiu.lu@intel.com>
5293
5294 PR middle-end/47725
5295 * combine.c (cant_combine_insn_p): Revert the last change.
5296
e3a69bb4
MM
52972011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
5298
5299 PR target/47755
5300 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
5301 mode for vector constants. Remove code that checks for TImode.
5302
de650422
AO
53032011-02-15 Alexandre Oliva <aoliva@redhat.com>
5304
5305 PR debug/47106
5306 PR debug/47402
5307 * cgraph.h (compute_inline_parameters): Return void.
5308 * ipa-inline.c (compute_inline_parameters): Adjust.
5309
30925d94
AO
53102011-02-15 Alexandre Oliva <aoliva@redhat.com>
5311
5312 PR debug/47106
5313 PR debug/47402
5314 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
5315 rather than decl.
5316 * cfgexpand.c (estimated_stack_frame_size): Likewise.
5317 * ipa-inline.c (compute_inline_parameters): Adjust.
5318
1b9a784a
AO
53192011-02-15 Alexandre Oliva <aoliva@redhat.com>
5320
5321 PR debug/47106
5322 PR debug/47402
5323 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
5324 Adjust all users. Pass FN to...
5325 * tree-flow-inline.h (first_referenced_var): ... this. Add
5326 fn argument.
5327 * ipa-struct-reorg.c: Adjust.
5328 * tree-dfa.c: Adjust.
5329 * tree-into-ssa.c: Adjust.
5330 * tree-sra.c: Adjust.
5331 * tree-ssa-alias.c: Adjust.
5332 * tree-ssa-live.c: Adjust.
5333 * tree-ssa.c: Adjust.
5334 * tree-ssanames.c: Adjust.
5335 * tree-tailcall.c: Adjust.
5336
27c6b086
AO
53372011-02-15 Alexandre Oliva <aoliva@redhat.com>
5338
5339 PR debug/47106
5340 PR debug/47402
5341 * tree-flow.h (referenced_var_lookup): Add fn parameter.
5342 Adjust all callers.
5343 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
5344 * tree-flow-inline.h: Adjust.
5345 * gimple-pretty-print.c: Adjust.
5346 * tree-into-ssa.c: Adjust.
5347 * tree-ssa.c: Adjust.
5348 * cfgexpand.c: Adjust.
5349
679e8183
NF
53502011-02-15 Nathan Froyd <froydnj@codesourcery.com>
5351
fbf4bfd3
UB
5352 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
5353 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5354 (EXTRA_CONSTRAINT): Delete.
5355 * config/iq2000/constraints.md: New file.
5356 * config/iq2000/iq2000.md: Include it.
679e8183
NF
5357 (define_insn ""): Delete.
5358 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
5359 unsupported constraint letters from patterns.
5360 (call_value, call_value_internal1): Likewise.
5361 (call_value_multiple_internal1): Likewise.
5362
a45d420a
NC
53632011-02-15 Nick Clifton <nickc@redhat.com>
5364
5365 * config/mn10300/mn10300.c: Include tm-constrs.h.
5366 (struct liw_data): New data structure describing an LIW candidate
5367 instruction.
5368 (extract_bundle): Use struct liw_data. Allow small integer
5369 operands for some instructions.
5370 (check_liw_constraints): Use struct liw_data. Remove swapped
5371 parameter. Add comments describing the checks. Fix bug when
5372 assigning the source of liw1 to the source of liw2.
5373 (liw_candidate): Delete. Code moved into extract_bundle.
5374 (mn10300_bundle_liw): Use struct liw_data. Check constraints
5375 before swapping.
5376 * config/mn10300/predicates.md (liw_operand): New predicate.
5377 Allows registers and small integer constants.
5378 * config/mn10300/constraints.md (O): New constraint. Accetps
5379 integers in the range -8 to +7 inclusive.
5380 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
5381 for moving a small integer into a register. Give this alternative
5382 LIW attributes.
5383 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
5384 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
5385 using the J,K,L and M constraints,
5386 (liw): Remove SI mode on second operands to allow for HI and QI
5387 mode values.
5388 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
5389 instruction.
5390
8a73faf1
L
53912011-02-15 H.J. Lu <hongjiu.lu@intel.com>
5392
5393 PR middle-end/47725
5394 * combine.c (cant_combine_insn_p): Check zero/sign extended
5395 hard registers.
5396
48feba28
RG
53972011-02-15 Richard Guenther <rguenther@suse.de>
5398
5399 PR tree-optimization/47743
5400 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
5401 for a non-type-compatible VN lookup bail out.
5402
ad1c1eeb
NF
54032011-02-15 Nathan Froyd <froydnj@codesourcery.com>
5404
5405 * config/fr30/constraints.md: New file.
5406 * config/fr30/fr30.md: Include it.
5407 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
5408 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5409 (EXTRA_CONSTRAINT): Delete.
5410
49ac143d
NF
54112011-02-15 Nathan Froyd <froydnj@codesourcery.com>
5412
5413 * config/frv/constraints.md: New file.
5414 * config/frv/predicates.md: Include it.
5415 * config/frv/frv.c (reg_class_from_letter): Delete.
5416 (frv_option_override): Don't initialize it.
5417 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
5418 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
5419 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
5420 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
5421 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
5422 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5423 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
5424 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
5425 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
5426 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
5427 (REG_CLASS_FROM_CONSTRAINT): Delete.
5428
c95f9494
JJ
54292011-02-15 Jakub Jelinek <jakub@redhat.com>
5430
5431 PR middle-end/47581
5432 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
5433 if frame size is 0 in a leaf function.
5434
13aed611
RO
54352011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5436
5437 PR pch/14940
5438 * config/alpha/host-osf.c: New file.
5439 * config/alpha/x-osf: New file.
5440 * config.host (alpha*-dec-osf*): Use it.
5441
b09c3081
AS
54422011-02-14 Anatoly Sokolov <aesok@post.ru>
5443
5444 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
5445 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
5446 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
5447 (rx_mode_dependent_address_p): ...this. Make static. Change argument
5448 type to const_rtx.
5449 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
5450
d634083b
NF
54512011-02-14 Nathan Froyd <froydnj@codesourcery.com>
5452
5453 * config/stormy16/constraints.md: New file.
5454 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
5455 Use satisfies_constraint_Q and satisfies_constraint_R.
5456 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
5457 Delete.
5458 (xstormy16_legitiamte_address_p): Declare.
5459 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
5460 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5461 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 5462 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
5463 Un-staticize.
5464 (xstormy16_extra_constraint_p): Delete.
5465
c7dd803e
EB
54662011-02-14 Eric Botcazou <ebotcazou@adacore.com>
5467
5468 PR tree-optimization/46494
5469 * loop-unroll.c (split_edge_and_insert): Adjust comment.
5470 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
5471 (pass_rtl_loop_done): Add TODO_verify_flow.
5472 * fwprop.c (pass_rtl_fwprop): Likewise.
5473 * modulo-sched.c (pass_sms): Likewise.
5474 * tree-ssa-dom.c (pass_dominator): Likewise.
5475 * tree-ssa-loop-ch.c (pass_ch): Likewise.
5476 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
5477 (pass_tree_loop_done): Likewise.
5478 * tree-ssa-pre.c (execute_pre): Likewise.
5479 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
5480 * tree-ssa-sink.c (pass_sink_code): Likewise.
5481 * tree-vrp.c (pass_vrp): Likewise.
5482
c6150df6
NF
54832011-02-14 Nathan Froyd <froydnj@codesourcery.com>
5484
c7dd803e
EB
5485 * config/v850/constraints.md: New file.
5486 * config/v850/v850.md: Include it.
5487 * config/v850/predicates.md (reg_or_0_operand): Use
5488 satisfies_constraint_G.
5489 (special_symbolref_operand): Use satisfies_constraint_K.
5490 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
5491 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
5492 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
5493 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
5494 (EXTRA_CONSTRAINT): Delete.
5495 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
5496 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
5497 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 5498
30dd1ea3
AS
54992011-02-14 Anatoly Sokolov <aesok@post.ru>
5500
5501 PR target/47696
5502 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
5503 description.
5504
944f4bb3
NF
55052011-02-14 Nathan Froyd <froydnj@codesourcery.com>
5506
5507 * config/mcore/constraints.md: New file.
5508 * config/mcore/mcore.md: Include it.
5509 * config/mcore/mcore.c (reg_class_from_letter): Delete.
5510 * config/mcore/mcore.h (reg_class_from_letter): Delete.
5511 (REG_CLASS_FROM_LETTER): Delete.
5512 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
5513 insn_const_int_ok_for_constraint.
5514 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
5515 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
5516 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
5517 (EXTRA_CONSTRAINT): Delete.
5518
ad56a54c
RO
55192011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5520
5521 PR ada/41929
5522 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
5523 (IS_SIGHANDLER): Define.
5524 (sparc64_is_sighandler): New function, split off from
5525 sparc64_fallback_frame_state.
5526 (sparc_is_sighandler): New function, split off from
5527 sparc_fallback_frame_state.
5528 (sparc64_fallback_frame_state): Merge with ...
5529 (sparc_fallback_frame_state): ... this into ...
5530 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
5531 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
5532 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
5533 stack instead of hardcoded offsets.
ad56a54c 5534
fbf4bfd3 55352011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
5536
5537 PR target/45808
5538 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
5539
029c8f3e
RW
55402011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5541
5542 * configure: Regenerate.
5543
a016dc83
JM
55442011-02-12 Joseph Myers <joseph@codesourcery.com>
5545
5546 PR driver/45731
5547 * gcc.c (asm_options): Correct spec matching --target-help.
5548
8957a0ec
MJ
55492011-02-12 Martin Jambor <mjambor@suse.cz>
5550
5551 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
5552 to gimple call error.
5553
6ef828bc
MS
55542011-02-12 Mike Stump <mikestump@comcast.net>
5555
5556 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
5557 comments in backslash regions.
5558
a4015be5
MS
55592011-02-12 Mike Stump <mikestump@comcast.net>
5560 Jakub Jelinek <jakub@redhat.com>
5561 Iain Sandoe <iains@gcc.gnu.org>
5562
5563 PR target/47324
5564 * dwarf2out.c (output_cfa_loc): When required, apply the
5565 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
5566 (output_loc_sequence): Likewise.
5567 (output_loc_operands_raw): Likewise.
5568 (output_loc_sequence_raw): Likewise.
5569 (output_cfa_loc): Likewise.
5570 (output_loc_list): Suppress register number adjustment when
5571 calling output_loc_sequence()
5572 (output_die): Likewise.
5573
5378dda2
AS
55742011-02-12 Anatoly Sokolov <aesok@post.ru>
5575
5576 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
5577 Remove macros.
5578 * config/xtensa/xtensa.c (xtensa_register_move_cost,
5579 xtensa_memory_move_cost): New functions.
5580 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
5581
f3d533d3
AO
55822011-02-12 Alexandre Oliva <aoliva@redhat.com>
5583
5584 PR lto/47225
5585 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
5586 in the current directory.
5587 * configure: Rebuilt.
5588
9d53403c
IS
55892011-02-12 Iain Sandoe <iains@gcc.gnu.org>
5590
5591 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 5592 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
5593 correct indents of the preceding block.
5594
a350a6c8
IS
55952011-02-12 Iain Sandoe <iains@gcc.gnu.org>
5596
5597 * gcc.c (driver_handle_option): Concatenate the argument to -F with
5598 the switch.
5599
bab79a40
JM
56002011-02-11 Joseph Myers <joseph@codesourcery.com>
5601
5602 * common.opt (nostartfiles): New Driver option.
5603
1bbc6693
XDL
56042011-02-11 Xinliang David Li <davidxl@google.com>
5605
5606 PR tree-optimization/47707
5607 * tree-chrec.c (convert_affine_scev): Keep type precision.
5608
1da7d8c0
EB
56092011-02-11 Eric Botcazou <ebotcazou@adacore.com>
5610
5611 PR tree-optimization/47420
5612 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
5613
56142011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
5615
5616 PR rtl-optimization/47614
5617 * rtl.h (check_for_inc_dec): Declare.
5618 * dse.c (check_for_inc_dec): Externalize...
5619 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
5620 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
5621
4df47bca
JM
56222011-02-11 Joseph Myers <joseph@codesourcery.com>
5623
5624 PR driver/47678
5625 * gcc.c (main): Do not compile inputs if there were errors in
5626 option handling.
5627 * opts-common.c (read_cmdline_option): Check for wrong language
5628 after other error checks.
5629
61502ca8
NF
56302011-02-11 Nathan Froyd <froydnj@codesourcery.com>
5631
5632 * cgraph.c: Fix comment typos.
5633 * cgraph.h: Likewise.
5634 * cgraphunit.c: Likewise.
5635 * ipa-cp.c: Likewise.
5636 * ipa-inline.c: Likewise.
5637 * ipa-prop.c: Likewise.
5638 * ipa-pure-const.c: Likewise.
5639 * ipa-ref.c: Likewise.
5640 * ipa-reference.c: Likewise.
5641
b63f974e
JJ
56422011-02-11 Jakub Jelinek <jakub@redhat.com>
5643
d50c5e0c
JJ
5644 PR debug/47684
5645 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 5646
6dd2a13c
RO
56472011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5648
5649 PR testsuite/47400
5650 * doc/sourcebuild.texi (Require Support): Document
5651 dg-require-ascii-locale.
5652
4a087ccf
MX
56532011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
5654
5655 * doc/lto.texi (Write summary): Fix missing parentheses.
5656
a4403164
DD
56572011-02-10 DJ Delorie <dj@redhat.com>
5658
5659 * config/m32c/m32c.c (m32c_option_override): Disable
5660 -fcombine-stack-adjustments until flag value tracking and compare
5661 optimization can be rewritten.
5662
4fac45bd
PB
56632011-02-10 Peter Bergner <bergner@vnet.ibm.com>
5664
5665 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
5666 PROCESSOR_POWER7.
5667 (PROCESSOR_DEFAULT64): Likewise.
5668
72602cd1
RH
56692011-02-10 Richard Henderson <rth@redhat.com>
5670
5671 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
5672 change from 2011-02-03.
5673 * config/rx/rx.c (flags_from_code): Likewise.
5674 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
5675 is valid, n/pz otherwise.
5676 (rx_select_cc_mode): Return CCmode if Y is not zero.
5677
ea57f573
RG
56782011-02-10 Richard Guenther <rguenther@suse.de>
5679
ea4c3e65 5680 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 5681
92b1d23b
RG
56822011-02-10 Richard Guenther <rguenther@suse.de>
5683
5684 PR tree-optimization/47677
5685 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
5686
525a2d06
JJ
56872011-02-10 Jakub Jelinek <jakub@redhat.com>
5688
5689 PR target/47665
5690 * combine.c (make_compound_operation): Only change shifts into
5691 multiplication for SCALAR_INT_MODE_P.
5692
06c969bd
JZ
56932011-02-10 Jie Zhang <jie@codesourcery.com>
5694
5695 PR testsuite/47622
5696 Revert
5697 2011-02-05 Jie Zhang <jie@codesourcery.com>
5698 PR debug/42631
5699 * web.c (entry_register): Don't clobber the number of the
5700 first uninitialized reference in used[].
5701
282ec48e
RG
57022011-02-09 Richard Guenther <rguenther@suse.de>
5703
5704 PR tree-optimization/47664
5705 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
5706 all edges again.
5707
df98c3e8
DE
57082011-02-09 David Edelsohn <dje.gcc@gmail.com>
5709
d0f21cd6
DE
5710 PR target/46481
5711 PR target/47032
df98c3e8
DE
5712 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
5713 PROCESSOR_POWER7.
5714 (PROCESSOR_DEFAULT64): Same.
5715 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
5716
67b6839f
RO
57172011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5718
5719 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
5720
4fd73214
MJ
57212011-02-09 Martin Jambor <mjambor@suse.cz>
5722
5723 PR middle-end/45505
5724 * tree-sra.c (struct access): New flags grp_scalar_read and
5725 grp_scalar_write. Changed description of assignment read and write
5726 flags.
5727 (dump_access): Dump new flags, reorder all of them.
5728 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
5729 to detect multiple scalar reads.
5730 (analyze_access_subtree): Use the new scalar read write flags instead
5731 of the old flags. Adjusted comments.
5732
91140cd3
DD
57332011-02-08 DJ Delorie <dj@redhat.com>
5734
5735 PR target/47548
5736 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
5737 patterns.
5738
4254bbfe
JM
57392011-02-08 Joseph Myers <joseph@codesourcery.com>
5740
5741 * config/m68k/uclinux.opt: New.
5742 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
5743
f1fda84e
JM
57442011-02-08 Joseph Myers <joseph@codesourcery.com>
5745
5746 * config/cris/elf.opt (sim): New Driver option.
5747
4933ae74
JM
57482011-02-08 Joseph Myers <joseph@codesourcery.com>
5749
5750 * config/xtensa/elf.opt: New.
5751 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
5752
4ad70280
JM
57532011-02-08 Joseph Myers <joseph@codesourcery.com>
5754
5755 * config/vax/elf.opt: New.
5756 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
5757
20893707
JM
57582011-02-08 Joseph Myers <joseph@codesourcery.com>
5759
5760 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
5761
b8e7038e
JM
57622011-02-08 Joseph Myers <joseph@codesourcery.com>
5763
5764 * config/gnu-user.opt: New.
5765 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
5766 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
5767 *-*-uclinux*): Use gnu-user.opt.
5768
e1c5225a
TS
57692011-02-08 Thomas Schwinge <thomas@schwinge.name>
5770
5771 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
5772 * config/i386/gnu.h (CPP_SPEC): Likewise.
5773
5e46b0c6
ILT
57742011-02-08 Ian Lance Taylor <iant@google.com>
5775
5776 * common.opt (fcx-limited-range): Add SetByCombined flag.
5777 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
5778 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
5779 (fassociative-math, freciprocal-math): Likewise.
5780 (funsafe-math-optimizations): Likewise.
5781 * opth-gen.awk: Handle SetByCombined.
5782 * optc-gen.awk: Likewise.
ea4c3e65 5783 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
5784 (set_unsafe_math_optimizations_flags): Likewise.
5785 * doc/options.texi (Option properties): Document SetByCombined.
5786
32243d46
JM
57872011-02-08 Joseph Myers <joseph@codesourcery.com>
5788
5789 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
5790 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
5791 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
5792 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
5793 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
5794
479c1fb3
SP
57952011-02-08 Sebastian Pop <sebastian.pop@amd.com>
5796
5797 PR tree-optimization/46834
5798 PR tree-optimization/46994
5799 PR tree-optimization/46995
5800 * graphite-sese-to-poly.c (used_outside_reduction): New.
5801 (detect_commutative_reduction): Call used_outside_reduction.
5802 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
5803 translate_scalar_reduction_to_array only when at least one
5804 loop-phi/close-phi tuple has been detected.
5805
3865a06f
RG
58062011-02-08 Richard Guenther <rguenther@suse.de>
5807
5808 PR middle-end/47639
5809 * tree-vect-generic.c (expand_vector_operations_1): Update
5810 stmts here ...
5811 (expand_vector_operations): ... not here. Cleanup EH info
5812 and the CFG if required.
5813
62902f3f
RG
58142011-02-08 Richard Guenther <rguenther@suse.de>
5815
5816 PR tree-optimization/47641
5817 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
5818 require type compatibility.
5819
0efb9d64
AK
58202011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5821
5822 * gimple-low.c (lower_function_body): Don't remove the location of
5823 the return statement here.
5824 (lower_gimple_return): Do it here instead but only if the return
5825 statement is actually used twice.
5826
034b8ae4
RG
58272011-02-08 Richard Guenther <rguenther@suse.de>
5828
5829 PR tree-optimization/47632
5830 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
5831 unused up_to_stmt parameter, return whether cfg-cleanup is
5832 necessary, remove EH info properly.
5833 (forward_propagate_into_gimple_cond): Adjust caller.
5834 (forward_propagate_into_cond): Likewise.
5835 (forward_propagate_comparison): Likewise.
5836 (tree_ssa_forward_propagate_single_use_vars): Make
5837 forward_propagate_comparison case similar to the two others.
5838
298362c8
NC
58392011-02-08 Nick Clifton <nickc@redhat.com>
5840
5841 * config/mn10300/mn10300.opt (mliw): New command line option.
5842 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
5843 (liw_bundling): New automaton.
5844 (liw): New attribute.
5845 (liw_op): New attribute.
5846 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
5847 (movsi_internal): Add LIW attributes.
5848 (andsi3): Likewise.
5849 (iorsi3): Likewise.
5850 (xorsi3): Likewise.
5851 (addsi3): Separate register and immediate alternatives.
5852 Add LIW attributes.
5853 (subsi3): Likewise.
5854 (cmpsi): Likewise.
5855 (aslsi3): Likewise.
5856 (lshrsi3): Likewise.
5857 (ashrsi3): Likewise.
5858 (liw): New pattern.
5859 * config/mn10300/mn10300.c (liw_op_names): New
5860 (mn10300_print_operand): Handle 'W' operand descriptor.
5861 (extract_bundle): New function.
5862 (check_liw_constraints): New function.
5863 (liw_candidate): New function.
5864 (mn10300_bundle_liw): New function.
5865 (mn10300_reorg): New function.
5866 (TARGET_MACHINE_DEPENDENT_REORG): Define.
5867 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
5868 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
5869 __LIW__ or __NO_LIW__.
5870 * doc/invoke.texi: Describe the -mliw command line option.
5871
90488014
JDA
58722011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5873
5874 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
5875 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
5876 pthread_mutex_unlock): Remove.
5877 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
5878 * config/pa/t-pa64: Likewise.
5879 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
5880 shared libc if not linking against libpthread.
5881 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
5882
689ff841
IS
58832011-02-07 Iain Sandoe <iains@gcc.gnu.org>
5884
5885 PR target/47558
5886 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
5887 on 10.6 and later to ensure that we always use the unwinder from
5888 the system. Only add -no_compact_unwind when tarteting darwin
5889 10.6 or later.
5890
821014aa
SE
58912011-02-07 Steve Ellcey <sje@cup.hp.com>
5892
5893 PR target/46997
5894 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
5895 (vec_interleave_lowv2sf): Ditto.
5896 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
5897 (vec_extract_oddv2sf): Ditto.
5898
41cf94fb
MS
58992011-02-07 Mike Stump <mikestump@comcast.net>
5900
62dea57d 5901 PR target/42333
41cf94fb
MS
5902 Add __ieee_divdc3 entry point.
5903 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
5904 entry point.
5905 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
5906 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
5907 * config/darwin.c (darwin_rename_builtins): Add.
5908 * config/darwin-protos.h (darwin_rename_builtins): Add.
5909
ee09a3dd
MM
59102011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
5911
5912 PR target/47636
5913 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
5914 for the condition.
5915
83296cd0
MS
59162011-02-07 Mike Stump <mikestump@comcast.net>
5917
ea4c3e65 5918 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 5919
0f4e946f
DC
59202011-02-07 Denis Chertykov <chertykov@gmail.com>
5921
5922 PR target/47534
5923 * config/avr/libgcc.S (exit): Move .endfunc
5924
1ec87690
RG
59252011-02-07 Richard Guenther <rguenther@suse.de>
5926
5927 PR tree-optimization/47615
5928 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
5929 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
5930 (run_scc_vn): Initialize it.
5931 (visit_reference_op_load): Use it.
5932 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
5933
b46ae6da
UW
59342011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5935
5936 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
5937 DImode trapping arithmetic libfuncs.
5938
c0aae19c
RG
59392011-02-07 Richard Guenther <rguenther@suse.de>
5940
5941 PR tree-optimization/47621
5942 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
5943 two duplicates ...
5944 (execute_update_addresses_taken): ... here. Make it more
5945 conservative in what we accept.
5946
295d926b
JM
59472011-02-06 Joseph Myers <joseph@codesourcery.com>
5948
5949 * config/sparc/freebsd.h (ASM_SPEC): Define.
5950 * config/sparc/vxworks.h (ASM_SPEC): Define.
5951
bdeb2471
JM
59522011-02-06 Joseph Myers <joseph@codesourcery.com>
5953
5954 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5955
d5d3781a
SB
59562011-02-06 Steven Bosscher <steven@gcc.gnu.org>
5957
5958 * doc/invoke.texi: Remove reference to compiler internals from
5959 user documentation.
5960
5961 * reg-notes.def: Remove REG_VALUE_PROFILE.
5962 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
5963
c42c09fc
JJ
59642011-02-05 Jakub Jelinek <jakub@redhat.com>
5965
5966 PR middle-end/47610
5967 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 5968 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 5969
beea2755
JZ
59702011-02-05 Jie Zhang <jie@codesourcery.com>
5971
5972 PR debug/42631
5973 * web.c (entry_register): Don't clobber the number of the
5974 first uninitialized reference in used[].
5975
a130584a
SP
59762011-02-04 Sebastian Pop <sebastian.pop@amd.com>
5977
5978 PR tree-optimization/46194
5979 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
5980 (build_classic_dist_vector_1): Do not represent classic distance
5981 vectors when the access functions are variating in different loops.
5982
962101ac
JM
59832011-02-04 Joseph Myers <joseph@codesourcery.com>
5984
5985 * config/mips/iris6.opt: New.
5986 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
5987
55eaaa5b
RH
59882011-02-04 Richard Henderson <rth@redhat.com>
5989 Steve Ellcey <sje@cup.hp.com>
5990
5991 PR target/46997
5992 * config/ia64/predicates.md (mux1_brcst_element): New.
5993 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
5994 * config/ia64/ia64.c (ia64_unpack_assemble): New.
5995 (ia64_unpack_sign): New.
5996 (ia64_expand_unpack): Rewrite using new routines.
5997 (ia64_expand_widen_sum): Ditto.
5998 (ia64_expand_dot_prod_v8qi): Ditto.
5999 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
6000 routines, add endian check.
6001 (pmpy2_even): Rename from pmpy2_r, add endian check.
6002 (pmpy2_odd): Rename from pmpy2_l, add endian check.
6003 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
6004 (vec_widen_smult_hi_v4hi): Ditto.
6005 (vec_widen_umult_lo_v4hi): Ditto.
6006 (vec_widen_umult_hi_v4hi): Ditto.
6007 (mulv2si3): Change endian checks.
6008 (sdot_prodv4hi): Rewrite with new calls.
6009 (udot_prodv4hi): New.
6010 (vec_pack_ssat_v4hi): Add endian check.
6011 (vec_pack_usat_v4hi): Ditto.
6012 (vec_pack_ssat_v2si): Ditto.
6013 (max1_even): Rename from max1_r, add endian check.
6014 (max1_odd): Rename from max1_l, add endian check.
6015 (*mux1_rev): Format change.
6016 (*mux1_mix): Ditto.
6017 (*mux1_shuf): Ditto.
6018 (*mux1_alt): Ditto.
6019 (*mux1_brcst_v8qi): Use new predicate.
6020 (vec_extract_evenv8qi): Remove endian check.
6021 (vec_extract_oddv8qi): Ditto.
6022 (vec_interleave_lowv4hi): Format change.
6023 (vec_interleave_highv4hi): Ditto.
6024 (mix2_even): Rename from mix2_r, add endian check.
6025 (mix2_odd): Rename from mux2_l, add endian check.
6026 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
6027 (vec_extract_evenodd_helper): Format change.
6028 (vec_extract_evenv4hi): Remove endian check.
6029 (vec_extract_oddv4hi): Remove endian check.
6030 (vec_interleave_lowv2si): Format change.
6031 (vec_interleave_highv2si): Format change.
6032 (vec_initv2si): Remove endian check.
6033 (vecinit_v2si): Add endian check.
6034 (reduc_splus_v2sf): Add endian check.
6035 (reduc_smax_v2sf): Ditto.
6036 (reduc_smin_v2sf): Ditto.
6037 (vec_initv2sf): Remove endian check.
6038 (fpack): Add endian check.
6039 (fswap): Add endian check.
6040 (vec_interleave_highv2sf): Add endian check.
6041 (vec_interleave_lowv2sf): Add endian check.
6042 (fmix_lr): Add endian check.
6043 (vec_setv2sf): Format change.
6044 (*vec_extractv2sf_0_be): Use shift to extract operand.
6045 (*vec_extractv2sf_1_be): New.
6046 (vec_pack_trunc_v4hi): Add endian check.
6047 (vec_pack_trunc_v2si): Format change.
6048
dcde5957
JJ
60492011-02-04 Jakub Jelinek <jakub@redhat.com>
6050
6051 PR inline-asm/23200
6052 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 6053 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
6054 (stmt_is_replaceable_p): New function.
6055 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
6056 callers.
6057 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
6058 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
6059 SSA_NAME_DEF_STMT.
6060 * tree-flow.h (stmt_is_replaceable_p): New prototype.
6061
a64a8e5a
JM
60622011-02-04 Joseph Myers <joseph@codesourcery.com>
6063
6064 * config/rs6000/xilinx.opt: New.
6065 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
6066
4da2ed2f
JM
60672011-02-04 Joseph Myers <joseph@codesourcery.com>
6068
6069 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
6070
a6e508f9
AS
60712011-02-03 Anatoly Sokolov <aesok@post.ru>
6072
6073 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
6074 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
6075 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
6076 secondary_reload_info, xtensa_secondary_reload): Remove.
6077 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
6078 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
6079 (xtensa_preferred_reload_class): Make static. Change return and
6080 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
6081 Use CONST_DOUBLE_P predicate.
6082 (xtensa_preferred_output_reload_class): New function.
6083 (xtensa_secondary_reload): Make static.
6084
82dc0de3
JM
60852011-02-03 Joseph Myers <joseph@codesourcery.com>
6086
6087 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
6088 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
6089 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
6090
7fece979
JJ
60912011-02-03 Jakub Jelinek <jakub@redhat.com>
6092
6093 PR middle-end/31490
6094 * output.h (SECTION_RELRO): Define.
6095 (SECTION_MACH_DEP): Adjust.
6096 (get_variable_section): New prototype.
6097 * varpool.c (varpool_finalize_named_section_flags): New function.
6098 (varpool_assemble_pending_decls): Call it.
6099 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
6100 * cgraphunit.c (cgraph_output_in_order): Call
6101 varpool_finalize_named_section_flags.
6102 * varasm.c (get_section): Allow section flags conflicts between
6103 relro and read-only sections if the section hasn't been declared yet.
6104 Set SECTION_OVERRIDE after diagnosing section type conflict.
6105 (get_variable_section): No longer static.
6106 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
6107 readonly sections that need relocations.
6108 (decl_readonly_section_1): New function.
6109 (decl_readonly_section): Use it.
6110
6111 Revert:
509d65dd 6112 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
6113 Steve Ellcey <sje@cup.hp.com>
6114
6115 PR middle-end/31490
6116 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
6117 if section attribute used.
6118
d18d5478
JJ
61192011-02-03 Jakub Jelinek <jakub@redhat.com>
6120
6121 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
6122 * config/darwin.c (SECTION_NO_ANCHOR): Define.
6123 (darwin_init_sections): Remove assertion.
6124
6479ed4b
NC
61252011-02-03 Nick Clifton <nickc@redhat.com>
6126
6127 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
6128 lt and ge.
38be4072 6129 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
6130 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
6131 instead of "n" and "pz".
6132 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
6133 CC_FLAG_S.
6134
89843f5d
JJ
61352011-02-03 Jakub Jelinek <jakub@redhat.com>
6136
65450d64
JJ
6137 PR target/47312
6138 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
6139 fma, expand FMA_EXPR as fma{,f,l} call.
6140
7d58701c
JJ
6141 PR lto/47274
6142 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
6143 copy them into a unsigned char variable and pass address of it to
6144 lto_output_data_stream.
6145
89843f5d
JJ
6146 PR target/47564
6147 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
6148 around backend_init_target and lang_dependent_init_target calls.
6149 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
6150 (verify_cgraph_node): Don't call set_cfun here. Use
6151 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
6152 Set error_found for incorrectly represented calls to thunks.
6153
4deef538
AO
61542011-02-03 Alexandre Oliva <aoliva@redhat.com>
6155
6156 PR debug/43092
6157 PR rtl-optimization/43494
6158 * rtl.h (for_each_inc_dec_fn): New type.
6159 (for_each_inc_dec): Declare.
6160 * rtlanal.c (struct for_each_inc_dec_ops): New type.
6161 (for_each_inc_dec_find_inc_dec): New fn.
6162 (for_each_inc_dec_find_mem): New fn.
6163 (for_each_inc_dec): New fn.
6164 * dse.c (struct insn_size): Remove.
6165 (replace_inc_dec, replace_inc_dec_mem): Remove.
6166 (emit_inc_dec_insn_before): New fn.
6167 (check_for_inc_dec): Use it, along with for_each_inc_dec.
6168 (canon_address): Pass mem modes to cselib_lookup.
6169 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
6170 (cselib_lookup_from_insn): Likewise.
6171 (cselib_subst_to_values): Likewise.
6172 * cselib.c (find_slot_memmode): New var.
6173 (cselib_find_slot): New fn. Use it instead of
6174 htab_find_slot_with_hash everywhere.
6175 (entry_and_rtx_equal_p): Use find_slot_memmode.
6176 (autoinc_split): New fn.
6177 (rtx_equal_for_cselib_p): Rename and implement in terms of...
6178 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
6179 Deal with autoinc. Special-case recursion into MEMs.
6180 (cselib_hash_rtx): Likewise.
6181 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
6182 address and MEM modes.
6183 (cselib_subst_to_values): Add memmode, pass it on.
6184 Deal with autoinc.
6185 (cselib_lookup): Add memmode argument, pass it on.
6186 (cselib_lookup_from_insn): Add memmode.
6187 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
6188 (struct cselib_record_autoinc_data): New.
6189 (cselib_record_autoinc_cb): New fn.
6190 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
6191 mode to cselib_lookup. Reset autoinced REGs here instead of...
6192 (cselib_process_insn): ... here.
6193 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
6194 to cselib_lookup.
6195 (add_uses): Likewise, also to cselib_subst_to_values.
6196 (add_stores): Likewise.
6197 * sched-deps.c (add_insn_mem_dependence): Pass mode to
6198 cselib_subst_to_values.
6199 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
6200 * gcse.c (do_local_cprop): Adjusted.
6201 * postreload.c (reload_cse_simplify_set): Adjusted.
6202 (reload_cse_simplify_operands): Adjusted.
6203 * sel-sched-dump (debug_mem_addr_value): Pass mode.
6204
1551d44a
AO
62052011-02-03 Alexandre Oliva <aoliva@redhat.com>
6206
6207 PR tree-optimization/45122
6208 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
6209 unsafe assumptions when there's more than one loop exit.
6210
c9485473
MM
62112011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
6212
6213 PR target/47272
6214 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6215 Document using vector double with the load/store builtins, and
6216 that the load/store builtins always use Altivec instructions.
6217
6218 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
6219 to use altivec memory instructions, even on VSX.
6220 (vector_altivec_store_<mode>): Ditto.
6221
6222 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
6223 function.
6224
6225 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6226 V2DF, V2DI support to load/store overloaded builtins.
6227
6228 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
6229 altivec load/store builtins for V2DF/V2DI types.
6230
6231 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
6232 set avoid indexed addresses on power6 if -maltivec.
6233 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
6234 vector_altivec_load/vector_altivec_store builtins.
6235 (altivec_expand_st_builtin): Ditto.
6236 (altivec_expand_builtin): Add VSX memory builtins.
6237 (rs6000_init_builtins): Add V2DI types to internal types.
6238 (altivec_init_builtins): Add support for V2DF/V2DI altivec
6239 load/store builtins.
6240 (rs6000_address_for_altivec): Insure memory address is appropriate
6241 for Altivec.
6242
6243 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
6244 vec_vsx_ld and vec_vsx_st.
6245 (vsx_store_<mode>): Ditto.
6246
6247 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
6248 variables to hold long long types for VSX vector memory builtins.
6249 (RS6000_BTI_unsigned_long_long): Ditto.
6250 (long_long_integer_type_internal_node): Ditti.
6251 (long_long_unsigned_type_internal_node): Ditti.
6252
6253 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
6254 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
6255 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
6256
6257 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
6258 short cuts.
6259 (vec_vsx_st): Ditto.
6260
b24d1acf
JM
62612011-02-02 Joseph Myers <joseph@codesourcery.com>
6262
6263 * config/pa/pa-hpux10.opt: New.
6264 * config/hpux11.opt (pthread): New Driver option.
6265 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
6266 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
6267
aa18dd0f
JM
62682011-02-02 Joseph Myers <joseph@codesourcery.com>
6269
6270 * config/ia64/vms.opt: New.
6271 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
6272
28fc3eee
MM
62732011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
6274
6275 PR target/47580
6276 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
6277 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
6278 generator functions.
6279 (vsx_floatuns<VSi><mode>2): Ditto.
6280 (vsx_fix_trunc<mode><VSi>2): Ditto.
6281 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
6282
b5838b1f
JM
62832011-02-02 Joseph Myers <joseph@codesourcery.com>
6284
6285 * config/i386/djgpp.opt (posix): New Driver option.
6286
0db8fa89
GP
62872011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
6288
6289 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
6290 Move to the unsupported targets list.
6291
9cd4f22a
PB
62922011-02-02 Peter Bergner <bergner@vnet.ibm.com>
6293
6294 PR rtl-optimization/47525
6295 * df-scan.c: Update copyright years.
6296 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
6297 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
6298
9ed8059c
RO
62992011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6300
6301 * config/i386/sysv4.h (TARGET_VERSION): Remove.
6302 (SUBTARGET_RETURN_IN_MEMORY): Remove.
6303 (ASM_OUTPUT_ASCII): Remove.
6304 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
6305
2a737389
JL
63062011-02-02 Jeff Law <law@redhat.com>
6307
6308 PR middle-end/47543
6309 * reload.c (find_reloads_address): Handle reg+d address where both
6310 components are invalid by reloading the entire address.
6311
9dac82c4
SP
63122011-02-02 Sebastian Pop <sebastian.pop@amd.com>
6313 Richard Guenther <rguenther@suse.de>
6314
6315 PR tree-optimization/40979
6316 PR bootstrap/47044
6317 * passes.c (init_optimization_passes): After LIM call copy_prop
6318 and DCE to clean up.
6319 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
6320
14dd9aab
SP
63212011-02-02 Sebastian Pop <sebastian.pop@amd.com>
6322
6323 PR tree-optimization/47576
6324 PR tree-optimization/47555
6325 * doc/invoke.texi (scev-max-expr-complexity): Documented.
6326 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
6327 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
6328 * tree-scalar-evolution.c (follow_ssa_edge): Use
6329 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
6330
5cbf5c20
RG
63312011-02-02 Richard Guenther <rguenther@suse.de>
6332
6333 PR tree-optimization/47566
6334 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
6335
83d70792
AO
63362011-02-02 Alexandre Oliva <aoliva@redhat.com>
6337
e829c321
AO
6338 PR debug/47106
6339 PR debug/47402
6340 * tree-inline.c (declare_return_variable): Remove unused caller
6341 variable.
6342
83d70792
AO
6343 PR debug/47106
6344 PR debug/47402
6345 * tree-flow-inline.h (clear_is_used, is_used_p): New.
6346 * cfgexpand.c (account_used_vars_for_block): Use them.
6347 * tree-nrv.c (tree_nrv): Likewise.
6348 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
6349 (dump_scope_block): Likewise.
6350 (remove_unused_locals): Likewise.
6351
aaa2ac93
AO
6352 PR debug/47106
6353 PR debug/47402
6354 * tree-inline.c (declare_return_variable): Add result decl to
6355 local decls only once.
6356 * gimple-low.c (record_vars_into): Mark newly-created variables
6357 as referenced.
6358
a59d15cf
AO
63592011-02-02 Alexandre Oliva <aoliva@redhat.com>
6360
6361 PR debug/47498
6362 PR debug/47501
6363 PR debug/45136
6364 PR debug/45130
6365 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6366 debug insns.
6367 (no_real_insns_p, schedule_block, set_priorities): Drop special
6368 treatment of boundary debug insns.
38be4072 6369 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
6370 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
6371 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6372 (BOUNDARY_DEBUG_INSN_P): Likewise.
6373 (SCHEDULE_DEBUG_INSN_P): Likewise.
6374 * sched-rgn.c (init_ready_list): Drop special treatment of
6375 boundary debug insns.
6376 * final.c (rest_of_clean_state): Clear notes' BB.
6377
6fc2f091
JM
63782011-02-01 Joseph Myers <joseph@codesourcery.com>
6379
6380 * config/openbsd.opt (assert=): New Driver option.
6381
fc523387
JM
63822011-02-01 Joseph Myers <joseph@codesourcery.com>
6383
6384 * config/i386/nto.opt: New.
6385 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
6386
6d9821e5
JM
63872011-02-01 Joseph Myers <joseph@codesourcery.com>
6388
6389 * config/i386/netware.opt: New.
6390 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
6391
cef932d4
JM
63922011-02-01 Joseph Myers <joseph@codesourcery.com>
6393
6394 * config/interix.opt (posix): New Driver option.
6395
22843acd
DD
63962011-02-01 DJ Delorie <dj@redhat.com>
6397
56490b74
DD
6398 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
6399
22843acd
DD
6400 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
6401 class for A0/A1.
6402
199c8f2f
SP
64032011-02-01 Sebastian Pop <sebastian.pop@amd.com>
6404
6405 PR tree-optimization/47561
6406 * toplev.c (process_options): Print the Graphite flags. Add
6407 flag_loop_flatten to the list of options requiring Graphite.
6408
926bcf22
JM
64092011-02-01 Joseph Myers <joseph@codesourcery.com>
6410
6411 * config/i386/cygming.opt (posix): New Driver option.
6412
59793c51
JM
64132011-02-01 Joseph Myers <joseph@codesourcery.com>
6414
6415 * config/arm/vxworks.opt: New.
6416 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
6417
183c38a4
JM
64182011-02-01 Joseph Myers <joseph@codesourcery.com>
6419
6420 * config/alpha/elf.opt: New.
6421 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
6422 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
6423
9939e416
RG
64242011-02-01 Richard Guenther <rguenther@suse.de>
6425
6426 PR tree-optimization/47559
6427 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
6428 store-motion on references that can throw.
6429
4a3c9687
BS
64302011-02-01 Bernd Schmidt <bernds@codesourcery.com>
6431
6432 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
6433 * tree-pass.h (TDF_CSELIB): New macro.
6434 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
6435 cselib_lookup): Check for it rather than for TDF_DETAILS.
6436
dd3b31fb
L
64372011-02-01 H.J. Lu <hongjiu.lu@intel.com>
6438
6439 PR driver/47547
6440 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
6441 is HOST_BIT_BUCKET.
6442
6443 * opts.c (finish_options): Don't add x_aux_base_name if it is
6444 HOST_BIT_BUCKET.
6445
34c1de79
RG
64462011-02-01 Richard Guenther <rguenther@suse.de>
6447
6448 PR tree-optimization/47555
6449 Revert
6450 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
6451
6452 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
6453
dd2804d2
SB
64542011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
6455
6456 PR gcc/46692
6457 * config/lm32/t-lm32: Add multilib for all CPU options.
6458
3fd3b156
RG
64592011-02-01 Richard Guenther <rguenther@suse.de>
6460
6461 PR tree-optimization/47541
6462 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
6463 sure to have a field at offset zero.
6464
f16072b6
JM
64652011-01-31 Joseph Myers <joseph@codesourcery.com>
6466
6467 * config/arc/arc.opt (EB, EL): New Driver options.
6468
6456cf2e
JM
64692011-01-31 Joseph Myers <joseph@codesourcery.com>
6470
6471 * config/alpha/osf5.opt: New.
6472 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
6473
cdde6ab4
JM
64742011-01-31 Joseph Myers <joseph@codesourcery.com>
6475
6476 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
6477
7633415c
SP
64782011-01-31 Sebastian Pop <sebastian.pop@amd.com>
6479
6480 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
6481 -floop-interchange.
6482 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
6483 is an alias of -floop-interchange and that it requires the
6484 Graphite infrastructure.
6485 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
6486 flag_loop_interchange based on the value of flag_tree_loop_linear.
6487
0425d6f5
JJ
64882011-01-31 Jakub Jelinek <jakub@redhat.com>
6489 Richard Guenther <rguenther@suse.de>
6490
6491 PR tree-optimization/47538
6492 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
6493 type instead of r1type, except for comparisons. For right
6494 shifts and comparisons punt if there are mismatches in
6495 sizetype vs. non-sizetype types.
6496
500b16c3
RO
64972011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6498
6499 * doc/sourcebuild.texi (Effective-Target Keywords): Document
6500 avx_runtime.
6501
e279edb0
RO
65022011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6503
6504 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
6505 version number.
6506 * configure: Regenerate.
6507
c6092243
RO
65082011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6509
6510 * configure.ac (gcc_cv_ld_static_option): Define.
6511 (gcc_cv_ld_dynamic_option): Define.
6512 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
6513 instead.
6514 (HAVE_LD_STATIC_DYNAMIC): Update message.
6515 (LD_STATIC_OPTION): Define.
6516 (LD_DYNAMIC_OPTION): Define.
6517 * configure: Regenerate.
6518 * config.in: Regenerate.
6519 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
6520 HAVE_LD_STATIC_DYNAMIC]: Use them.
6521
d7862be3
NC
65222011-01-31 Nick Clifton <nickc@redhat.com>
6523
6524 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
6525 registers inside interrupt handlers if the handler is not a leaf
6526 function.
6527
ba4ec0e0
NC
65282011-01-31 Nick Clifton <nickc@redhat.com>
6529
6530 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
6531 reg_renumber returning an INVALID_REGNUM.
6532
29a63921
AO
65332011-01-31 Alexandre Oliva <aoliva@redhat.com>
6534
6535 PR libgcj/44341
6536 * doc/install.texi: Document host options discarded when cross
6537 configuring target libraries.
6538
ef591d3f
AO
65392011-01-31 Alexandre Oliva <aoliva@redhat.com>
6540
6541 Reverted:
6542 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
6543 PR debug/45136
6544 PR debug/45130
6545 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6546 debug insns.
6547 (no_real_insns_p, schedule_block, set_priorities): Drop special
6548 treatment of boundary debug insns.
38be4072 6549 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
6550 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
6551 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6552 (BOUNDARY_DEBUG_INSN_P): Likewise.
6553 (SCHEDULE_DEBUG_INSN_P): Likewise.
6554 * sched-rgn.c (init_ready_list): Drop special treatment of
6555 boundary debug insns.
6556 * final.c (rest_of_clean-state): Clear notes' BB.
6557
61052244
AM
65582011-01-31 Alan Modra <amodra@gmail.com>
6559
6560 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
6561 toc relative expressions as we do in print_operand_address.
6562
c4c8962b
KH
65632011-01-30 Kazu Hirata <kazu@codesourcery.com>
6564
6565 * doc/extend.texi: Follow spelling conventions.
6566 * doc/invoke.texi: Fix a typo.
6567
e543b94c
JM
65682011-01-30 Joseph Myers <joseph@codesourcery.com>
6569
6570 * config/hpux11.opt: New.
6571 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
6572 ia64*-*-hpux*): Use hpux11.opt.
6573
509d65dd 65742011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
6575
6576 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
6577 to tmake_file.
6578
7be03a0e
GP
65792011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
6580
6581 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
6582 support sites.
6583
419d1d37
GP
65842011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
6585
b596ed64
GP
6586 * doc/install.texi (Binaries): Remove outdated reference for
6587 Motorola 68HC11/68HC12 downloads.
6588
65892011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 6590
419d1d37
GP
6591 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
6592 Drepper's paper.
6593
4406d0e9
JW
65942011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6595
6596 PR bootstrap/47147
6597 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
6598 used by NetBSD.
6599
38be4072 66002011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
6601
6602 * value-prof.c (check_counter): Corrected error message.
6603
0cd98787
JZ
66042011-01-29 Jie Zhang <jie@codesourcery.com>
6605
6606 * config/arm/arm.c (arm_legitimize_reload_address): New.
6607 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
6608 arm_legitimize_reload_address.
38be4072 6609 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 6610
9b798ac5
ILT
66112011-01-28 Ian Lance Taylor <iant@google.com>
6612
6613 * godump.c (go_define): Ignore macros whose definitions include
6614 two adjacent operands.
6615
591e29d9
JJ
66162011-01-28 Jakub Jelinek <jakub@redhat.com>
6617
6618 PR target/42894
6619 * varasm.c (force_const_mem): Store copy of x in desc->constant
6620 instead of x itself.
6621 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
6622 itself into REG_EQUAL note.
6623
62dcc44a
JM
66242011-01-28 Joseph Myers <joseph@codesourcery.com>
6625
6626 * config/freebsd.opt (posix, rdynamic): New Driver options.
6627
c9f58b9a
RO
66282011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6629
6630 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
6631 -Bstatic/-Bdynamic.
6632 * configure: Regenerate.
6633
5f02b9db
JM
66342011-01-27 Joseph Myers <joseph@codesourcery.com>
6635
6636 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
6637 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
6638
5df97412
AS
66392011-01-27 Anatoly Sokolov <aesok@post.ru>
6640
6641 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
6642 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
6643 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
6644 (s390_preferred_reload_class): Make static. Change return and
6645 'rclass' argument type to reg_class_t.
6646
779d4b91
JH
66472011-01-27 Jan Hubicka <jh@suse.cz>
6648
6649 PR middle-end/46949
6650 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
6651 (process_function_and_variable_attributes): Check defined weakrefs.
6652
e80b21ed
MJ
66532011-01-27 Martin Jambor <mjambor@suse.cz>
6654
6655 PR tree-optimization/47228
6656 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
6657 build_ref_for_offset.
6658
6dcc4f31
UW
66592011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6660
6661 * config/spu/spu-elf.h (ASM_SPEC): Remove.
6662
509d65dd 66632011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
6664
6665 PR rtl-optimization/46856
6666 * postreload.c (reload_combine_recognize_const_pattern): Do not
6667 separate cc0 setter and user on cc0 targets.
6668
04af8788
NP
66692011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
6670
6671 PR c/43082
6672 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
6673 passed a VOID_TYPE expression, immediately emit an error and
6674 return error_mark_node.
6675
f7a60085
JL
66762011-01-26 Jeff Law <law@redhat.com>
6677
6678 PR rtl-optimization/47464
6679 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
6680 rather than may_trap_p as needed.
6681
5c2917ec
DD
66822011-01-26 DJ Delorie <dj@redhat.com>
6683
6684 PR rtl-optimization/46878
6685 * combine.c (insn_a_feeds_b): Check for the implicit cc0
6686 setter/user dependency as well.
6687
bef16e87
EB
66882011-01-26 Eric Botcazou <ebotcazou@adacore.com>
6689
6690 PR rtl-optimization/44469
6691 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
6692 after removing trivially dead basic blocks.
6693
c75d884b
JM
66942011-01-26 Joseph Myers <joseph@codesourcery.com>
6695
6696 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
6697 * config/frv/frv.h (LINK_SPEC): Likewise.
6698 * config/i386/netware.h (LINK_SPEC): Likewise.
6699 * config/m68k/linux.h (ASM_SPEC): Likewise.
6700 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
6701 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6702 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6703 * config/sparc/linux.h (ASM_SPEC): Likewise.
6704 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6705 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6706
d3153553
JM
67072011-01-26 Joseph Myers <joseph@codesourcery.com>
6708
6709 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
6710 * config/frv/frv.h (ASM_SPEC): Likewise.
6711 * config/m68k/linux.h (ASM_SPEC): Likewise.
6712 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6713 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
6714 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6715 * config/sparc/linux.h (ASM_SPEC): Likewise.
6716 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6717 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6718
b89b1e9d
JM
67192011-01-26 Joseph Myers <joseph@codesourcery.com>
6720
6721 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
6722 * config/frv/frv.h (LINK_SPEC): Likewise.
6723 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6724
12eb1a9c
JM
67252011-01-26 Joseph Myers <joseph@codesourcery.com>
6726
6727 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
6728 * config/frv/frv.h (ASM_SPEC): Likewise.
6729 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
6730 * config/m68k/linux.h (ASM_SPEC): Likewise.
6731 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6732 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
6733 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6734 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
6735 * config/sparc/linux.h (ASM_SPEC): Likewise.
6736 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6737 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6738 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
6739
e435f098
SE
67402011-01-26 Steve Ellcey <sje@cup.hp.com>
6741
6742 PR target/46997
6743 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
6744 (*mux2): Ditto.
6745 (vec_extract_evenodd_help): Ditto.
6746 (vec_extract_evenv4hi): Ditto.
6747 (vec_extract_oddv4hi): Ditto.
6748 (vec_interleave_lowv2si): Ditto.
6749 (vec_interleave_highv2si): Ditto.
6750 (vec_extract_evenv2si): Ditto.
6751 (vec_extract_oddv2si: Ditto.
6752 (vec_pack_trunc_v2si): Ditto.
6753
34f0eee0
JH
67542011-01-22 Jan Hubicka <jh@suse.cz>
6755
6756 PR target/47237
6757 * cgraph.h (cgraph_local_info): New field can_change_signature.
6758 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
6759 signature can change.
6760 (ipcp_estimate_growth): Call sequence simplify only if calle signature
6761 can change.
6762 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
6763 (cgraph_function_versioning): We can not change signature of functions
6764 that don't allow that.
6765 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
6766 (lto_input_node): Likewise.
38be4072
UB
6767 * ipa-inline.c (compute_inline_parameters): Compute
6768 local.can_change_signature.
34f0eee0 6769 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
6770 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
6771 functions that can not change signature.
34f0eee0 6772 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
6773 init_cumulative_args): Do not use local calling conventions
6774 for functions that can not change signature.
34f0eee0 6775
980ca891
JH
67762011-01-22 Jan Hubicka <jh@suse.cz>
6777
6778 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
6779
768e3c60
RG
67802011-01-26 Richard Guenther <rguenther@suse.de>
6781
6782 PR tree-optimization/47190
61052244
AM
6783 * cgraphunit.c (process_common_attributes): New function.
6784 (process_function_and_variable_attributes): Use it.
768e3c60 6785
21d6a1c7
RG
67862011-01-26 Richard Guenther <rguenther@suse.de>
6787
6788 PR lto/47423
6789 * cgraphbuild.c (record_eh_tables): Record reference to personality
6790 function.
6791
48bb58b1
AO
67922011-01-26 Alexandre Oliva <aoliva@redhat.com>
6793
6794 PR debug/45454
6795 * sel-sched.c (moveup_expr): Don't let debug insns prevent
6796 non-debug insns from moving up.
6797
58c741a6
DK
67982011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6799
6800 PR target/40125
6801 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
6802 t-dlldir{,-x} fragment for build and add it to tmake_file.
6803 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
6804 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
6805 * config/i386/t-dlldir: New file.
6806 (SHLIB_DLLDIR): Define.
6807 * config/i386/t-dlldir-x: New file.
6808 (SHLIB_DLLDIR): Define.
6809 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
6810 (SHLIB_INSTALL): Use it.
6811
bff99262
CLT
68122011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
6813
6814 PR target/47246
6815 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
6816 lower bound of the allowed Thumb-2 coprocessor load/store
6817 index range to -256. Add explaining comment.
6818
82c03907
ILT
68192011-01-25 Ian Lance Taylor <iant@google.com>
6820
6821 * godump.c (go_define): Improve lexing of macro expansion to only
6822 accept expressions which match Go spec.
6823
47ea1edf
DK
68242011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6825
d4dba752 6826 PR c++/43601
47ea1edf
DK
6827 * tree.c (handle_dll_attribute): Handle it.
6828 * doc/extend.texi (@item dllexport): Mention it.
6829 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
6830
744f0946
ILT
68312011-01-25 Ian Lance Taylor <iant@google.com>
6832
6833 PR tree-optimization/26854
6834 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
6835 (decl_jump_unsafe): Move higher in file, with no other change.
6836 (bind): Set has_jump_unsafe_decl if appropriate.
6837 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
6838 (check_earlier_gotos): Likewise.
6839 (c_check_switch_jump_warnings): Likewise.
6840
5734f2b3
JW
68412011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
6842
6843 * doc/invoke.texi (Warning Options): Add missing hyphen.
6844 (-fprofile-dir): Minor grammatical fixes.
6845 (-fbranch-probabilities): Likewise.
6846
9bdbdcef
AO
68472011-01-25 Alexandre Oliva <aoliva@redhat.com>
6848
6849 PR debug/45136
6850 PR debug/45130
6851 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6852 debug insns.
6853 (no_real_insns_p, schedule_block, set_priorities): Drop special
6854 treatment of boundary debug insns.
38be4072 6855 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
6856 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
6857 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6858 (BOUNDARY_DEBUG_INSN_P): Likewise.
6859 (SCHEDULE_DEBUG_INSN_P): Likewise.
6860 * sched-rgn.c (init_ready_list): Drop special treatment of
6861 boundary debug insns.
6862 * final.c (rest_of_clean-state): Clear notes' BB.
6863
b305e3da
SP
68642011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6865
6866 * Makefile.in (LAMBDA_H): Removed.
6867 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
6868 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
6869 lambda-trans.o, and tree-loop-linear.o.
6870 (lto-symtab.o): Remove dependence on LAMBDA_H.
6871 (tree-loop-linear.o): Remove rule.
6872 (lambda-mat.o): Same.
6873 (lambda-trans.o): Same.
6874 (lambda-code.o): Same.
6875 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
6876 (tree-vect-slp.o): Same.
6877 * hwint.h (gcd): Moved here.
6878 (least_common_multiple): Same.
6879 * lambda-code.c: Removed.
6880 * lambda-mat.c: Removed.
6881 * lambda-trans.c: Removed.
6882 * lambda.h: Removed.
6883 * tree-loop-linear.c: Removed.
6884 * lto-symtab.c: Do not include lambda.h.
6885 * omega.c (gcd): Removed.
6886 * passes.c (init_optimization_passes): Remove pass_linear_transform.
6887 * tree-data-ref.c (print_lambda_vector): Moved here.
6888 (lambda_vector_copy): Same.
6889 (lambda_matrix_copy): Same.
6890 (lambda_matrix_id): Same.
6891 (lambda_vector_first_nz): Same.
6892 (lambda_matrix_row_add): Same.
6893 (lambda_matrix_row_exchange): Same.
6894 (lambda_vector_mult_const): Same.
6895 (lambda_vector_negate): Same.
6896 (lambda_matrix_row_negate): Same.
6897 (lambda_vector_equal): Same.
6898 (lambda_matrix_right_hermite): Same.
6899 * tree-data-ref.h: Do not include lambda.h.
6900 (lambda_vector): Moved here.
6901 (lambda_matrix): Same.
6902 (dependence_level): Same.
6903 (lambda_transform_legal_p): Removed declaration.
6904 (lambda_collect_parameters): Same.
6905 (lambda_compute_access_matrices): Same.
6906 (lambda_vector_gcd): Same.
6907 (lambda_vector_new): Same.
6908 (lambda_vector_clear): Same.
6909 (lambda_vector_lexico_pos): Same.
6910 (lambda_vector_zerop): Same.
6911 (lambda_matrix_new): Same.
6912 * tree-flow.h (least_common_multiple): Removed declaration.
6913 * tree-parloops.c (lambda_trans_matrix): Moved here.
6914 (LTM_MATRIX): Same.
6915 (LTM_ROWSIZE): Same.
6916 (LTM_COLSIZE): Same.
6917 (LTM_DENOMINATOR): Same.
6918 (lambda_trans_matrix_new): Same.
6919 (lambda_matrix_vector_mult): Same.
6920 (lambda_transform_legal_p): Same.
6921 * tree-pass.h (pass_linear_transform): Removed declaration.
6922 * tree-ssa-loop.c (tree_linear_transform): Removed.
6923 (gate_tree_linear_transform): Removed.
6924 (pass_linear_transform): Removed.
6925 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
6926 flag_loop_interchange.
6927
6bdfdb96
JJ
69282011-01-25 Jakub Jelinek <jakub@redhat.com>
6929
6930 PR tree-optimization/47265
6931 PR tree-optimization/47443
6932 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
6933 if name still has some uses.
6934
e4cba915
MJ
69352011-01-25 Martin Jambor <mjambor@suse.cz>
6936
6937 PR tree-optimization/47382
6938 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
6939 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
6940
509d65dd 69412011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
6942
6943 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
6944 sjlj_except_unwind_info.
6945
194313e2
RG
69462011-01-25 Richard Guenther <rguenther@suse.de>
6947
6948 PR tree-optimization/47426
6949 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
6950 visible functions results escape.
6951
147a0bcf
JJ
69522011-01-25 Jakub Jelinek <jakub@redhat.com>
6953
6954 PR target/45701
6955 * config/arm/arm.c (any_sibcall_uses_r3): New function.
6956 (arm_get_frame_offsets): Use it.
6957
db963b52
SP
69582011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6959 Jakub Jelinek <jakub@redhat.com>
6960
6961 PR tree-optimization/47271
6962 * tree-if-conv.c (bb_postdominates_preds): New.
6963 (if_convertible_bb_p): Call bb_postdominates_preds.
6964 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
6965 (predicate_scalar_phi): Call bb_postdominates_preds.
6966
bcddd3b9
NC
69672011-01-25 Nick Clifton <nickc@redhat.com>
6968
6969 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
6970 * config/rx/rx.c (rx_function_value): Likewise.
6971 (rx_promote_function_mode): Likewise.
6972 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
6973 in order to make it legitimate.
38be4072
UB
6974 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
6975 make sure that the first operand is the same as the result register.
bcddd3b9
NC
6976 (addsi3_unspec): Delete.
6977 (subdi3): Do not accept immediate operands.
6978 (subdi3_internal): Likewise.
6979
7e6cb022
JL
69802011-01-25 Jeff Law <law@redhat.com>
6981
6982 PR rtl-optimization/37273
6983 * ira-costs.c (scan_one_insn): Detect constants living in memory and
6984 handle them like argument loads from stack slots. Do not double
6985 count memory for memory constants and argument loads from stack slots.
6986
9ffa621e
JJ
69872011-01-25 Jakub Jelinek <jakub@redhat.com>
6988
6989 PR tree-optimization/47427
6990 PR tree-optimization/47428
6991 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
6992 coalesce if the new root var would be TREE_READONLY.
6993
5bd6e652
RG
69942011-01-25 Richard Guenther <rguenther@suse.de>
6995
6996 PR middle-end/47414
6997 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
6998 correct type for TBAA.
6999
7c48ea69
SP
70002011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7001
7002 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
7003 (close_phi_written_to_memory): Call for_each_index with
7004 dr_indices_valid_in_loop.
7005
38013f25
SP
70062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7007
7008 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
7009 when it is initialized.
7010
5c640e29
SP
70112011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7012
7013 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
7014 call to graphite_find_data_references_in_stmt.
7015 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
7016 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
7017 call to graphite_find_data_references_in_stmt.
7018 (analyze_drs_in_stmts): Same.
7019 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
7020 in which the scalar analysis of indices is performed.
7021 (create_data_ref): Same. Update call to dr_analyze_indices.
7022 (find_data_references_in_stmt): Update call to create_data_ref.
7023 (graphite_find_data_references_in_stmt): Same.
7024 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
7025 declaration.
7026 (create_data_ref): Same.
7027 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
7028 call to create_data_ref.
7029
ac53c069
SP
70302011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7031
7032 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 7033 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 7034
3d17df15
SP
70352011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7036
7037 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
7038 VAR_DECL, PARM_DECL, and RESULT_DECL.
7039
c513da01
SP
70402011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7041
7042 * graphite-dependences.c (reduction_dr_1): Allow several reductions
7043 in a reduction PBB.
7044 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
7045 that have already been marked as PBB_IS_REDUCTION.
7046
3a292d59
SP
70472011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7048
7049 * graphite-scop-detection.c (same_close_phi_node): New.
7050 (remove_duplicate_close_phi): New.
7051 (make_close_phi_nodes_unique): New.
7052 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
7053
ba858447
SP
70542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7055
7056 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
7057 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
7058 of both data references to be the same.
7059
8d865c56
SP
70602011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7061
38be4072
UB
7062 * graphite-dependences.c (build_lexicographical_constraint): Remove
7063 the gdim parameter.
7064 (build_lexicographical_constraint): Adjust call to
7065 ppl_powerset_is_empty.
8d865c56
SP
7066 (dependence_polyhedron): Same.
7067 (graphite_legal_transform_dr): Same.
7068 (graphite_carried_dependence_level_k): Same.
38be4072
UB
7069 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
7070 parameter.
8d865c56
SP
7071 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
7072
50034a36
SP
70732011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7074
7075 * graphite-sese-to-poly.c
7076 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
7077 (close_phi_written_to_memory): New.
7078 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
7079 and unshare_expr.
7080
0deada9e
SP
70812011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7082
7083 * doc/install.texi: Update the expected version number of PPL to 0.11.
7084 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
7085 #if PPL_VERSION_MINOR < 11.
7086
d7d3d6af
SP
70872011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7088
7089 * graphite-dependences.c: Include graphite-cloog-util.h.
7090 (new_poly_ddr): Inlined into dependence_polyhedron.
7091 (free_poly_ddr): Moved close by new_poly_ddr.
7092 (dependence_polyhedron_1): Renamed dependence_polyhedron.
7093 Early return NULL when ppl_powerset_is_empty returns true.
7094 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
7095 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
7096 (graphite_legal_transform_dr): Call new_poly_ddr.
7097 (graphite_carried_dependence_level_k): Same.
7098 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
7099 (dot_transformed_deps_stmt_1): Removed.
7100 (dot_deps_stmt_1): Call dot_deps_stmt_2.
7101 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
7102 (dot_deps_1): Call dot_deps_2.
7103 * Makefile.in (graphite-dependences.o): Add missing dependence on
7104 graphite-cloog-util.h.
7105
28c5db57
SP
71062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7107
7108 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
7109 (build_lexicographical_constraint): Same.
7110 (dependence_polyhedron_1): Same.
7111 (graphite_legal_transform_dr): Same.
7112 (graphite_carried_dependence_level_k): Same.
7113 * graphite-ppl.c (ppl_powerset_is_empty): New.
7114 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
7115 * tree-data-ref.c (dump_data_reference): Print the basic block index.
7116
5168d98f
SP
71172011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7118
7119 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
7120 the "a followed by b" relation and document it.
7121
4a40293a
SP
71222011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7123
7124 * graphite-dependences.c (build_lexicographical_constraint): Stop the
7125 iteration when the bag of constraints is empty.
7126
271fb6fa
SP
71272011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7128
7129 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
7130
92d23680
SP
71312011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7132
7133 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
7134 nest and two loop depths as parameters.
7135 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
7136 lst_perfect_nestify.
7137
2f51deff
SP
71382011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7139
7140 * graphite-dependences.c (print_pddr): Call
7141 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
7142
07f3593c
SP
71432011-01-25 Sebastian Pop <sebastian.pop@amd.com>
7144
7145 * graphite-ppl.c (debug_gmp_value): New.
7146 * graphite-ppl.h (debug_gmp_value): Declared.
7147
3fae6099
TG
71482011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
7149
7150 * doc/install.texi: Document availability of cloog-0.16.
7151
1c3ba85b
SP
71522011-01-25 Vladimir Kargov <kargov@gmail.com>
7153
7154 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
7155 invalid postdominance info.
7156
e8ba94fc
JH
71572011-01-24 Jan Hubicka <jh@suse.cz>
7158
7159 PR c/21659
7160 * doc/extend.texi (weak pragma): Drop claim that it must
7161 appear before definition.
7162 * varasm.c (merge_weak, declare_weak): Only sanity check
7163 that DECL is not output at a time it is declared weak.
7164
2b6e2d13
KZ
71652011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
7166
7167 * machmode.def: Fixed comments.
1c3ba85b 7168
9841210f
KT
71692011-01-24 Kai Tietz <kai.tietz@onevision.com>
7170
7171 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
7172
71732011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
7174
7175 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 7176 WORDS_BIG_ENDIAN.
e046112d 7177
a6c5070a
L
71782011-01-24 H.J. Lu <hongjiu.lu@intel.com>
7179
7180 PR target/46519
7181 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
7182 (block_info): Add scanned and prev.
7183 (move_or_delete_vzeroupper_2): Return if the basic block
7184 has been scanned and the upper 128bit state is unchanged
7185 from the last scan.
7186 (move_or_delete_vzeroupper_1): Return true if the exit
7187 state is changed.
7188 (move_or_delete_vzeroupper): Visit basic blocks using the
7189 work-list based algorithm based on vt_find_locations in
7190 var-tracking.c.
7191
7192 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
7193
a40d79d7
NC
71942011-01-24 Nick Clifton <nickc@redhat.com>
7195
7196 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
7197 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
7198 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
7199 then define __v850e1__.
7200 * doc/invoke.texi: Document -mv850es.
7201
440eb8de
RH
72022011-01-24 Richard Henderson <rth@redhat.com>
7203
7204 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
7205 compound unordered comparisons.
7206 * config/rx/rx.c (rx_split_fp_compare): Remove.
7207 * config/rx/rx-protos.h: Update.
7208 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
7209 (cbranchsf4): Don't call rx_split_fp_compare.
7210 (*cbranchsf4): Use rx_split_cbranch.
7211 (*cmpsf): Don't accept "i" constraint.
7212 (*conditional_branch): Only valid after reload.
7213 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
7214
3ff79f99
MM
72152011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
7216
7217 PR target/47385
7218 * config/rs6000/altivec.md (vector constant splitters): Add
7219 support for creating vector single precision constants if -mvsx is
7220 used and we would create the constant using Altivec primitives.
7221
ff3d9d08
BS
72222011-01-23 Bernd Schmidt <bernds@codesourcery.com>
7223 Richard Sandiford <rdsandiford@googlemail.com>
7224
7225 PR rtl-optimization/47166
7226 * reload1.c (emit_reload_insns): Disable the spill_reg_store
7227 mechanism for PRE_MODIFY and POST_MODIFY.
7228 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
7229 reloadreg.
7230
7fcaf152
AS
72312011-01-23 Andreas Schwab <schwab@linux-m68k.org>
7232
8788adb6 7233 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 7234
d09b58c4
JH
72352011-01-22 Jan Hubicka <jh@suse.cz>
7236
7237 PR lto/47333
7238 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
7239
e8ff8c5a
JH
72402011-01-22 Jan Hubicka <jh@suse.cz>
7241
7242 PR tree-optimization/43884
7243 PR lto/44334
8788adb6 7244 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
7245 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
7246
ccaed3ba
AS
72472011-01-22 Anatoly Sokolov <aesok@post.ru>
7248
7249 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
7250 * config/s390/s390.c (s390_register_move_cost,
7251 s390_memory_move_cost): New.
7252 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
7253
0cecee06
UW
72542011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7255
7256 PR middle-end/47401
7257 * except.c (sjlj_assign_call_site_values): Move setting the
7258 crtl->uses_eh_lsda flag to ...
7259 (sjlj_mark_call_sites): ... here.
7260 (sjlj_emit_function_enter): Support NULL dispatch label.
7261 (sjlj_build_landing_pads): In a function with no landing pads
7262 that still has must-not-throw regions, generate code to register
7263 a personality function with empty LSDA.
7264
e692f276
RH
72652011-01-21 Richard Henderson <rth@redhat.com>
7266
1b7ae0b7
RH
7267 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
7268
3843787f
RH
7269 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
7270
e692f276
RH
7271 * compare-elim.c: New file.
7272 * Makefile.in (OBJS-common): Add it.
7273 (compare-elim.o): New.
7274 * common.opt (fcompare-elim): New.
7275 * opts.c (default_options_table): Add OPT_fcompare_elim.
7276 * tree-pass.h (pass_compare_elim_after_reload): New.
7277 * passes.c (init_optimization_passes): Add it.
7278 * recog.h: Protect against re-inclusion.
7279 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
7280 * doc/invoke.texi (-fcompare-elim): Document it.
7281 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
7282 * doc/tm.texi: Rebuild.
7283
9a7c2050
NC
72842011-01-22 Nick Clifton <nickc@redhat.com>
7285
7286 * config/rx/rx.md (cstoresf4): Pass comparison operator to
7287 rx_split_fp_compare.
7288
15ba5696
NC
72892011-01-22 Nick Clifton <nickc@redhat.com>
7290
7291 * config/rx/rx.md (UNSPEC_CONST): New.
7292 (deallocate_and_return): Wrap the amount popped off the stack in
7293 an UNSPEC_CONST in order to stop it being rejected by
7294 -mmax-constant-size.
7295 (pop_and_return): Add a "(return)" rtx.
7296 (call): Drop the immediate operand.
7297 (call_internal): Likewise.
7298 (call_value): Likewise.
7299 (call_value_internal): Likewise.
7300 (sibcall_internal): Likewise.
7301 (sibcall_value_internal): Likewise.
7302 (sibcall): Likewise. Generate an explicit call using
7303 sibcall_internal.
7304 (sibcall_value): Likewise.
7305 (mov<>): FAIL if a constant operand is not legitimate.
7306 (addsi3_unpsec): New pattern.
9a7c2050 7307
38be4072 7308 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
7309 (ok_for_max_constant): New function.
7310 (gen_safe_add): New function.
7311 (rx_expand_prologue): Use gen_safe_add.
7312 (rx_expand_epilogue): Likewise.
7313 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
7314 UNSPEC CONSTs.
7315
caaf13d3
JL
73162011-01-21 Jeff Law <law@redhat.com>
7317
7318 PR tree-optimization/47053
7319 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
7320 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
7321 statements are deleted.
7322 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
7323 is nonempty, then purge dead edges and cleanup the CFG.
7324
12c30f2f
AO
73252011-01-21 Alexandre Oliva <aoliva@redhat.com>
7326
7327 PR debug/47402
7328 Temporarily revert:
7329 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
7330 PR debug/47106
7331 * tree-dfa.c (create_var_ann): Mark variable as used.
7332
7360d2ac
JJ
73332011-01-21 Jakub Jelinek <jakub@redhat.com>
7334
aaa52a96
JJ
7335 PR middle-end/45566
7336 * except.c (convert_to_eh_region_ranges): Emit queued no-region
7337 notes from other section in hot/cold partitioning even if
7338 last_action is -3. Increment call_site_base.
7339
7360d2ac
JJ
7340 PR rtl-optimization/47366
7341 * fwprop.c (forward_propagate_into): Return bool. If
7342 any changes are made, -fnon-call-exceptions is used and
7343 REG_EH_REGION note is present, call purge_dead_edges
7344 and return true if it purged anything.
7345 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
7346 any EH edges were purged.
7347
e90b336f
JL
73482011-01-21 Jeff Law <law@redhat.com>
7349
7350 PR rtl-optimization/41619
7351 * caller-save.c (setup_save_areas): Break out code to determine
7352 which hard regs are live across calls by examining the reload chains
7353 so that it is always used.
7354 Eliminate code which checked REG_N_CALLS_CROSSED.
7355
3ffe07e1
JJ
73562011-01-21 Jakub Jelinek <jakub@redhat.com>
7357
7358 PR tree-optimization/47355
7359 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
7360 NOP has non-debug uses beyond PHIs in new_bb.
7361
1c7d0b34
AO
73622011-01-21 Alexandre Oliva <aoliva@redhat.com>
7363
7364 PR debug/47106
7365 * cfgexpand.c (account_used_vars_for_block): Only account vars
7366 that are annotated as used.
7367 (estimated_stack_frame_size): Don't set TREE_USED.
7368 * tree-dfa.c (create_var_ann): Mark variable as used.
7369
f99cc488
RG
73702011-01-21 Richard Guenther <rguenther@suse.de>
7371
7372 PR middle-end/47395
7373 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
7374
3bc27de7
RG
73752011-01-21 Richard Guenther <rguenther@suse.de>
7376
7377 PR tree-optimization/47365
7378 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
7379 (vn_reference_lookup_pieces): Adjust.
7380 (vn_reference_lookup): Likewise.
7381 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
7382 (vn_reference_lookup_3): Only look through kills if in
7383 VN_WALKREWRITE mode.
7384 (vn_reference_lookup_pieces): Adjust.
7385 (vn_reference_lookup): Likewise.
7386 (visit_reference_op_load): Likewise.
7387 (visit_reference_op_store): Likewise.
7388 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
7389 (compute_avail): Likewise.
7390 (eliminate): Likewise.
7391
d8debb1d
JJ
73922011-01-21 Jakub Jelinek <jakub@redhat.com>
7393
7394 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
7395 DECL_IGNORED_P non-reg vars if they are used.
7396
3a2df831
JJ
7397 PR tree-optimization/47391
7398 * varpool.c (const_value_known_p): Return false if
7399 decl is volatile.
7400
1dd584a2
KT
74012011-01-21 Kai Tietz <kai.tietz@onevision.com>
7402
7403 PR bootstrap/47215
7404 * config/i386/i386.c (ix86_local_alignment): Handle
7405 case for va_list_type_node is nil.
7406 (ix86_canonical_va_list_type): Likewise.
7407
7f9f095e
AM
74082011-01-21 Alan Modra <amodra@gmail.com>
7409
7410 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
7411 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
7412
837b01f6
RR
74132011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7414
7415 * config/arm/arm.md (define_attr type): Rename f_load
7416 and f_store to f_fpa_load and f_fpa_store. Update.
7417 (write_conflict): Deal with rename fallout.
7418 (*push_fp_multi): Likewise.
7419 * config/arm/fpa.md (f_load): Use f_fpa_load.
7420 (f_store): Use f_fpa_store.
7421 (*movsf_fpa): Likewise.
7422 (*movdf_fpa): Likewise.
7423 (*movxf_fpa): Likewise.
7424 (*thumb2_movsf_fpa): Likewise.
7425 (*thumb2_movdf_fpa): Likewise.
7426 (*thumb2_movxf_fpa): Likewise.
7427 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
7428 f_loadd and f_stored.
7429 (*thumb2_movdi_vfp): Likewise.
7430 (*thumb2_movsf_vfp): Fix attribute to f_loads.
7431 (*thumb2_movsi_vfp): Likewise.
7432 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
7433 Use f_loads instead of f_load.
7434 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
7435
a1a79768
AS
74362011-01-20 Anatoly Sokolov <aesok@post.ru>
7437
7438 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7439 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
7440 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7441 (xtensa_mode_dependent_address_p): New function.
7442 (constantpool_address_p): Make static. Change return type to bool.
7443 Change argument type to const_rtx. Use CONST_INT_P predicate.
7444
427f6cec
AO
74452011-01-20 Alexandre Oliva <aoliva@redhat.com>
7446
7447 PR debug/46583
7448 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
7449
583ac69c
JJ
74502011-01-20 Jakub Jelinek <jakub@redhat.com>
7451
7452 PR debug/47283
7453 * cfgexpand.c (expand_debug_expr): Instead of generating
7454 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
7455 etc. handling.
7456
93e452ed
RG
74572011-01-20 Richard Guenther <rguenther@suse.de>
7458
7459 PR middle-end/47370
7460 * tree-inline.c (remap_gimple_op_r): Recurse manually for
7461 the pointer operand of MEM_REFs.
7462
28fc44f3
JJ
74632011-01-20 Jakub Jelinek <jakub@redhat.com>
7464
7465 PR tree-optimization/46130
7466 * ipa-split.c (consider_split): If return_bb contains non-virtual
7467 PHIs other than for retval or if split_function would not adjust it,
7468 refuse to split.
7469
ddd268f2
RG
74702011-01-20 Richard Guenther <rguenther@suse.de>
7471
7472 PR tree-optimization/47167
7473 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
7474 Revert previous change, only avoid enumeral type changes.
7475
882020aa
MS
74762011-01-19 Mike Stump <mikestump@comcast.net>
7477
7478 * doc/tm.texi.in (BRANCH_COST): Englishify.
7479 * doc/tm.texi (BRANCH_COST): Likewise.
7480
7edb6247
DS
74812011-01-19 Dodji Seketeli <dodji@redhat.com>
7482
7483 PR c++/47291
7484 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
7485 (gen_scheduled_generic_parms_dies): New functions.
7486 (gen_struct_or_union_type_die): Schedule template parameters DIEs
7487 generation for the end of CU compilation.
7488 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 7489
23d5ed5d
AO
74902011-01-19 Alexandre Oliva <aoliva@redhat.com>
7491
7492 PR debug/46240
7493 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
7494 debug bind stmt on merge edges.
7495
37d6a488
AO
74962011-01-19 Alexandre Oliva <aoliva@redhat.com>
7497
7498 PR debug/47079
7499 PR debug/46724
7500 * function.c (instantiate_expr): Instantiate incoming rtl of
7501 implicit arguments, and recurse on VALUE_EXPRs.
7502 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
7503 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
7504
689f2c82
AO
75052011-01-19 Alexandre Oliva <aoliva@redhat.com>
7506
7507 * c-parser.c (c_parser_for_statement): Initialize
7508 collection_expression.
7509
03029de4
JM
75102011-01-19 Joseph Myers <joseph@codesourcery.com>
7511
7512 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
7513
3e03217e
JM
75142011-01-19 Joseph Myers <joseph@codesourcery.com>
7515
7516 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
7517 (LINK_SHLIB_SPEC): Don't use %(link_path).
7518 (SUBTARGET_EXTRA_SPECS): Remove link_path.
7519
5bbe9b3f
JM
75202011-01-19 Joseph Myers <joseph@codesourcery.com>
7521
7522 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
7523 (NO_SHARED_LIB_SUPPORT): Remove.
7524 (LINK_SHLIB_SPEC): Remove one conditional definition.
7525
368e0b39
JM
75262011-01-19 Joseph Myers <joseph@codesourcery.com>
7527
7528 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
7529 %{call_shared}.
7530 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
7531 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
7532 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
7533 %{call_shared} and conditionals on these options not being passed.
7534 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
7535 %{call_shared}.
7536
ed7656f6
JJ
75372011-01-19 Jakub Jelinek <jakub@redhat.com>
7538
68457901
JJ
7539 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
7540 simplify.
7541
ed7656f6
JJ
7542 * ipa-split.c: Spelling fixes.
7543
e0d1958f
RH
75442011-01-19 Richard Henderson <rth@redhat.com>
7545
7546 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
7547 (*mulsi3): Likewise.
7548
27098b6b
RH
7549 * longlong.h [__mn10300__] (count_leading_zeros): New.
7550 [__mn10300__] (umul_ppmm, smul_ppmm): New.
7551 [__mn10300__] (add_ssaaaa, subddmmss): New.
7552 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
7553 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
7554
d6be7c36
UW
75552011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7556
7557 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
7558
b1efde2a
RH
75592011-01-19 Richard Henderson <rth@redhat.com>
7560
44217823
RH
7561 * config/mn10300/mn10300.md (addsi3_flags): New.
7562 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
7563 (subsi3_flags, subc_internal, subdi3): New.
7564 (subdi3_internal, *subdi3_degenerate): New.
7565 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
7566
37a185d7
RH
7567 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
7568 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
7569 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
7570 * config/mn10300/mn10300-protos.h: Update.
7571 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
7572 (return_ret): Likewise. Rename from return_internal_regs.
7573 (return_internal): Remove.
7574
040c5757
RH
7575 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
7576 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
7577 (mn10300_legitimate_constant_p): Likewise.
7578 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
7579 (mn10300_frame_size): New.
7580 (mn10300_expand_prologue): Use it.
7581 (mn10300_expand_epilogue): Likewise.
7582 (mn10300_initial_offset): Likewise.
7583 * config/mn10300/mn10300-protos.h: Update.
7584 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
7585 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
7586 (prologue, epilogue, return_internal): Tidy output code.
7587 (mn10300_store_multiple_operation, return): Likewise.
7588 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
7589 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
7590 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
7591 (load_pic, am33_load_pic): New.
7592 (mn10300_load_pic0, mn10300_load_pic1): New.
7593
bad41521
RH
7594 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
7595 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
7596 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
7597 (cc_flags_for_mode, cc_flags_for_code): New.
7598 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
7599 overflow flag is not valid. Validate that the flags we need
7600 for the comparison are valid.
7601 (mn10300_output_cmp): Remove.
7602 (mn10300_output_add): New.
7603 (mn10300_select_cc_mode): Use cc_flags_for_code.
7604 (mn10300_split_cbranch): New.
7605 (mn10300_match_ccmode): New.
7606 (mn10300_split_and_operand_count): New.
7607 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
7608 to the function.
7609 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
7610 (addsi3): ... here. Use mn10300_output_add.
7611 (*addsi3_flags): New.
7612 (*am33_subsi3, *mn10300_subsi3): Merge...
7613 (subsi3): ... here. Use attribute isa.
7614 (*subsi3_flags): New.
7615 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
7616 when possible.
7617 (*am33_andsi3, *mn10300_andsi3): Merge...
7618 (andsi3): ... here.
7619 (*andsi3_flags): New.
7620 (andsi3 splitters): New.
7621 (*am33_iorsi3, *mn10300_iorsi3): Merge...
7622 (iorsi3): ... here.
7623 (*iorsi3_flags): New.
7624 (*am33_xorsi3, *mn10300_xorsi3): Merge...
7625 (xorsi3): ... here.
7626 (*xorsi3_flags): New.
7627 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
7628 (one_cmplsi2): ... here.
7629 (*one_cmplsi2_flags): New.
7630 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
7631 instead of "dax" in constraints. Use mn10300_split_cbranch.
7632 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
7633 use matching constraints to eliminate a self-comparison.
7634 (*integer_conditional_branch): Rename from integer_conditional_branch.
7635 Use int_mode_flags to match CC_REG.
7636 (*cbranchsi4_btst, *btstsi): New.
7637 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
7638 mn10300_split_cbranch.
7639 (*am33_cmpsf): Rename from am33_cmpsf.
7640 (*float_conditional_branch): Rename from float_conditional_branch.
7641 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
7642 (zero_extendqisi2): ... here.
7643 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
7644 (zero_extendhisi2): ... here.
7645 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
7646 (extendqisi2): ... here.
7647 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
7648 (extendhisi2): ... here.
7649 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
7650 (ashlsi3): ... here.
7651 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
7652 (lshrsi3): ... here.
7653 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
7654 (ashrsi3): ... here.
7655 (consecutive add peephole): Remove.
7656 * config/mn10300/predicates.md (label_ref_operand): New.
7657 (int_mode_flags): New.
7658 (CCZN_comparison_operator): New.
7659
9efb4993
RH
7660 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
7661 (throughput_42_latency_43): New reservation.
7662 (mulsidi3, umulsidi3): New expanders.
7663 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
7664 the MDR register to allocation; separately allocate the low and
7665 high parts of the DImode result.
7666 (umulsidi3_internal): Similarly.
7667 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
7668 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
7669 (udivsi3, umodsi3): Remove.
7670 (udivmodsi4, divmodsi4): New expanders.
7671 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
7672 (*divmodsi4): Simiarly.
7673 (ext_internal): New.
7674
c25a21f5
RH
7675 * config/mn10300/constraints.md ("z"): New constraint.
7676 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
7677 (FIXED_REGISTERS): Don't fix MDR.
7678 (CALL_USED_REGSITERS): Reformat nicely.
7679 (REG_ALLOC_ORDER): Add MDR.
7680 (enum regclass): Add MDR_REGS.
7681 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
7682 (IRA_COVER_CLASSES): Add MDR_REGS.
7683 (REGNO_REG_CLASS): Handle MDR_REG.
7684 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
7685 (mn10300_register_move_cost): Likewise.
7686 * config/mn10300/mn10300.md (MDR_REG): New.
7687 (*movsi_internal): Handle moves to/from MDR_REGS.
7688
36846b26
RH
7689 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
7690 POST_MODIFY.
7691 (mn10300_secondary_reload): Tidy combination reload classes.
7692 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
7693 addresses for AM33. Allow symbolic offsets for reg+imm.
7694 (mn10300_regno_in_class_p): New.
7695 (mn10300_legitimize_reload_address): New.
7696 * config/mn10300/mn10300.h (enum reg_class): Remove
7697 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
7698 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
7699 SP_OR_GENERAL_REGS.
7700 (REG_CLASS_NAMES): Update to match.
7701 (REG_CLASS_CONTENTS): Likewise.
7702 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
7703 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
7704 (REGNO_IN_RANGE_P): Remove.
7705 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
7706 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
7707 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
7708 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
7709 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
7710 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
7711 (REGNO_GENERAL_P): New.
7712 (HAVE_POST_MODIFY_DISP): New.
7713 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
7714 (LEGITIMIZE_RELOAD_ADDRESS): New.
7715 * config/mn10300/mn10300-protos.h: Update.
7716
8b119bb6
RH
7717 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
7718 DATA_REGS for AM33 stack-pointer destination.
7719 (mn10300_preferred_output_reload_class): Likewise.
7720 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
7721 into a form appropriate for ...
7722 (TARGET_SECONDARY_RELOAD): New.
7723 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
7724 * config/mn10300/mn10300-protos.h: Update.
7725 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
7726 reload_insi; use the "A" constraint for the scratch; handle AM33
7727 moves of sp to non-address registers.
7728
b1efde2a
RH
7729 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
7730 (*movqi_internal): ... here.
7731 (*am33_movhi, *mn10300_movhi): Merge into...
7732 (*movhi_internal): ... here.
7733 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
7734 as the source/destination of moves from/to SP.
7735 (movsf): Only allow for AM33-2.
1c3ba85b 7736 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
7737 any integer constant constraint. Only allow for AM33-2. Tidy
7738 all of the alternative outputs.
7739 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
7740 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
7741 for MN103.
7742 (udivsi3, umodsi3): New patterns for MN103 only.
7743
b899fd78
JR
77442011-01-19 Joern Rennecke <amylaar@spamcop.net>
7745
7746 * doc/tm.texi.in: Spell out that a lack of register class unions
7747 can lead to ICEs.
7748 * doc/tm.texi: Regenerate.
7749
afaaa67d
JJ
77502011-01-19 Jakub Jelinek <jakub@redhat.com>
7751
2e0642cd
JJ
7752 PR rtl-optimization/47337
7753 * dce.c (check_argument_store): New function.
7754 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
7755
afaaa67d
JJ
7756 PR tree-optimization/47290
7757 * tree-eh.c (infinite_empty_loop_p): New function.
7758 (cleanup_empty_eh): Use it.
7759
d2cd871f
SE
77602011-01-18 Steve Ellcey <sje@cup.hp.com>
7761
7762 PR target/46997
7763 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
7764 (a64_expand_widen_sum): Ditto.
7765 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
7766 (vec_extract_evenodd_help): Ditto.
7767 (vec_extract_evenv4hi): Ditto.
7768 (vec_extract_oddv4hi): Ditto.
7769 (vec_extract_evenv2si): Ditto.
7770 (vec_extract_oddv2si): Ditto.
7771 (vec_extract_evenv2sf): Ditto.
7772 (vec_extract_oddv2sf): Ditto.
7773 (vec_pack_trunc_v4hi: Ditto.
7774 (vec_pack_trunc_v2si): Ditto.
7775 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
7776 (vec_interleave_highv8qi): Ditto.
7777 (mix1_r): Ditto.
7778 (vec_extract_oddv8qi): Ditto.
7779 (vec_interleave_lowv4hi): Ditto.
7780 (vec_interleave_highv4hi): Ditto.
7781 (vec_interleave_lowv2si): Ditto.
7782 (vec_interleave_highv2si): Ditto.
7783
41a1208a
JDA
77842011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7785
7786 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
7787 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
7788 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
7789 (pa_c_mode_for_suffix): New.
7790 (TARGET_EXPAND_BUILTIN): Define.
7791 (TARGET_C_MODE_FOR_SUFFIX): Define.
7792 (pa_builtins): Define.
7793 (pa_init_builtins): Register __float128 type and init new support
7794 builtins.
7795 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
7796 * config/pa/quadlib.c (_U_Qfcopysign): New.
7797
1ecad98e
EB
77982011-01-18 Eric Botcazou <ebotcazou@adacore.com>
7799
7800 PR middle-end/46894
7801 * explow.c (allocate_dynamic_stack_space): Do not assume more than
7802 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
7803 are defined.
7804
d4f2460a
UW
78052011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7806
7807 PR tree-optimization/47179
7808 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
7809 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
7810
4994da65
RG
78112011-01-18 Richard Guenther <rguenther@suse.de>
7812
7813 PR rtl-optimization/47216
7814 * emit-rtl.c: Include tree-flow.h.
7815 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
7816 of replicating it with different semantics.
7817 * Makefile.in (emit-rtl.o): Adjust.
7818
1eb458d1
RR
78192011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7820
38be4072 7821 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 7822 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 7823
e7ef91dc
JJ
78242011-01-18 Jakub Jelinek <jakub@redhat.com>
7825
7826 PR rtl-optimization/47299
7827 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 7828 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
7829 * expmed.c (expand_widening_mult): Don't try to optimize constant
7830 multiplication if op0 has VOIDmode. Convert op1 constant to mode
7831 before using it.
7832
535b7874
RW
78332011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7834
7835 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
7836 spacing after 'e.g.', typos, comma, hyphenation.
7837
27bf36f3
RH
78382011-01-17 Richard Henderson <rth@redhat.com>
7839
8a5b5449
RH
7840 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
7841 (rx_restricted_mem_operand): New.
7842 (rx_shift_operand): Use register_operand.
7843 (rx_source_operand, rx_compare_operand): Likewise.
7844 * config/rx/rx.md (addsi3_flags): New expander.
7845 (adddi3): Rewrite as expander.
7846 (adc_internal, *adc_flags, adddi3_internal): New patterns.
7847 (subsi3_flags): New expander.
7848 (subdi3): Rewrite as expander.
7849 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
7850
784f69be
RH
7851 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
7852 (rx_init_builtins): Remove sat builtin.
7853 (rx_expand_builtin): Likewise.
7854 * config/rx/rx.md (ssaddsi3): New.
7855 (*sat): Rename from sat. Represent the CC_REG input.
7856
f033541c
RH
7857 * config/rx/predicates.md (rshift_operator): New.
7858 * config/rx/rx.c (rx_expand_insv): Remove.
7859 * config/rx/rx-protos.h: Update.
7860 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
7861 operand to the canonical position.
7862 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
7863 (*bitclr, *bitclr_in_memory): Similarly.
7864 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
7865 (insv): Retain the zero_extract in the expansion.
7866
34fee389
RH
7867 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
7868 (bswaphi2, bitinvert, revw): Likewise.
7869
265c835f
RH
7870 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
7871 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
7872 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
7873 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
7874 (bitset, bitset_in_memory): Likewise.
7875 (bitinvert, bitinvert_in_memory): Likewise.
7876 (bitclr, bitclr_in_memory): Likewise.
7877 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
7878 (rx_strend, rx_cmpstrn): Likewise.
7879 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
7880 (bitop peep2 patterns): Remove.
7881
b4d83be3
RH
7882 * config/rx/rx.c (rx_match_ccmode): New.
7883 * config/rx/rx-protos.h: Update.
7884 * config/rx/rx.md (abssi2): Clobber, don't set flags.
7885 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
7886 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
7887 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
7888 (fix_truncsfsi2, floatsisf2): Likewise.
7889 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
7890 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
7891 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
7892 (*subsi3_flags, *xorsi3_flags): New.
7893
d0acb939
RH
7894 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
7895
c06fc3d9
RH
7896 * config/rx/rx.c (rx_print_operand): Remove workaround for
7897 unsplit comparison operations.
7898
2882702b
RH
7899 * config/rx/rx.md (movsicc): Split after reload.
7900 (*movsicc): Merge *movsieq and *movsine via match_operator.
7901 (*stcc): New pattern.
7902
6f7310f2
RH
7903 * config/rx/rx.c (rx_float_compare_mode): Remove.
7904 * config/rx/rx.h (rx_float_compare_mode): Remove.
7905 * config/rx/rx.md (cstoresi4): Split after reload.
7906 (*sccc): New pattern.
7907
e963cb1a
RH
7908 * config/rx/predicates.md (label_ref_operand): New.
7909 (rx_z_comparison_operator): New.
7910 (rx_zs_comparison_operator): New.
7911 (rx_fp_comparison_operator): New.
7912 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
7913 Validate that the flags are set properly for the comparison.
7914 (rx_gen_cond_branch_template): Remove.
7915 (rx_cc_modes_compatible): Remove.
7916 (mode_from_flags): New.
7917 (flags_from_code): Rename from flags_needed_for_conditional.
7918 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
7919 (rx_select_cc_mode): Likewise.
7920 (rx_split_fp_compare): New.
7921 (rx_split_cbranch): New.
7922 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
7923 (*cbranchsi4): Use match_operator and rx_split_cbranch.
7924 (*cbranchsf4): Similarly.
7925 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
7926 match_operator and rx_split_cbranch.
7927 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
7928 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
7929 (*cmpsi): Rename from cmpsi.
7930 (*tstsi): Rename from tstsi.
7931 (*cmpsf): Rename from cmpsf; use CC_Fmode.
7932 (*conditional_branch): Rename from conditional_branch.
7933 (*reveresed_conditional_branch): Remove.
7934 (b<code>): Remove expander.
7935 * config/rx/rx-protos.h: Update.
7936
af530bb4
RH
7937 * config/rx/rx.c (rx_compare_redundant): Remove.
7938 * config/rx/rx.md (cmpsi): Don't use it.
7939 * config/rx/rx-protos.h: Update.
7940
27bf36f3
RH
7941 * config/rx/rx-modes.def (CC_F): New mode.
7942 * config/rx/rx.c (rx_select_cc_mode): New.
7943 * config/rx/rx.h (SELECT_CC_MODE): Use it.
7944 * config/rx/rx-protos.h: Update.
7945
d7fde127
RH
79462011-01-17 Richard Henderson <rth@redhat.com>
7947
7948 * except.c (dump_eh_tree): Fix stray ; after for statement.
7949
6ff38230
RG
79502011-01-17 Richard Guenther <rguenther@suse.de>
7951
7952 PR tree-optimization/47313
7953 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
7954 handling before copying the body. Properly deal with
7955 by-reference result in SSA form.
7956
114ce554
ILT
79572011-01-17 Ian Lance Taylor <iant@google.com>
7958
bf5cd92b 7959 PR target/47219
114ce554
ILT
7960 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
7961 (struct_value_alias_set): Don't define.
7962 (sparc_option_override): Don't set sparc_sr_alias_set and
7963 struct_value_alias_set.
7964 (save_or_restore_regs): Use gen_frame_mem rather than calling
7965 set_mem_alias_set.
7966 (sparc_struct_value_rtx): Likewise.
7967
98c6d93c
L
79682011-01-17 H.J. Lu <hongjiu.lu@intel.com>
7969
7970 PR target/47318
7a81008b 7971 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
7972 (_mm_maskstore_pd): Likewise.
7973 (_mm_maskload_ps): Likewise.
7974 (_mm_maskstore_ps): Likewise.
7975 (_mm256_maskload_pd): Change mask to __m256i.
7976 (_mm256_maskstore_pd): Likewise.
7977 (_mm256_maskload_ps): Likewise.
7978 (_mm256_maskstore_ps): Likewise.
7979
7980 * config/i386/i386-builtin-types.def: Updated.
7981 (ix86_expand_special_args_builtin): Likewise.
7982
7983 * config/i386/i386.c (bdesc_special_args): Update
7984 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
7985 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
7986 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
7987 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
7988
7989 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
7990 Use <avxpermvecmode> on mask register.
7991 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
7992
b9361af2 79932011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
7994 Michael Haubenwallner <michael.haubenwallner@salomon.at>
7995 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
7996
7997 PR target/46655
7998 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
7999 if <= USHRT_MAX in 32-bit mode.
8000
b7ae9eb5
RW
80012011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8002
8003 * doc/install.texi (Configuration, Specific): Wrap long
8004 lines in examples. Allow line wrapping in long options
8005 and URLs where beneficial for PDF output.
8006
4377fad9
RS
80072011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
8008
8009 * config/mips/mips.c (mips_classify_symbol): Don't return
8010 SYMBOL_PC_RELATIVE for nonlocal labels.
8011
55959ffa 80122011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 8013
55959ffa
EB
8014 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
8015
80162011-01-15 Jan Hubicka <jh@suse.cz>
8017
8018 PR tree-optimization/47276
be46831f
JH
8019 * ipa.c (function_and_variable_visibility): Do not try to mark alias
8020 declarations as needed.
8021
05842ff5
MJ
80222011-01-15 Martin Jambor <mjambor@suse.cz>
8023
8024 * common.opt (fdevirtualize): New flag.
8025 * doc/invoke.texi (Option Summary): Document it.
8026 * opts.c (default_options_table): Add devirtualize flag.
8027 * ipa-prop.c (detect_type_change): Return immediately if
8028 devirtualize flag is not set.
8029 (detect_type_change_ssa): Likewise.
8030 (compute_known_type_jump_func): Likewise.
8031 (ipa_analyze_virtual_call_uses): Likewise.
8032
f65cf2b7
MJ
80332011-01-14 Martin Jambor <mjambor@suse.cz>
8034
8035 PR tree-optimization/45934
8036 PR tree-optimization/46302
8037 * ipa-prop.c (type_change_info): New type.
8038 (stmt_may_be_vtbl_ptr_store): New function.
8039 (check_stmt_for_type_change): Likewise.
8040 (detect_type_change): Likewise.
8041 (detect_type_change_ssa): Likewise.
8042 (compute_complex_assign_jump_func): Check for dynamic type change.
8043 (compute_complex_ancestor_jump_func): Likewise.
8044 (compute_known_type_jump_func): Likewise.
8045 (compute_scalar_jump_functions): Likewise.
8046 (ipa_analyze_virtual_call_uses): Likewise.
8047 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
8048
eb5bb0fd
JM
80492011-01-14 Joseph Myers <joseph@codesourcery.com>
8050
8051 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
8052 * config/i386/i386.opt (msse5): New Alias.
8053
f2060fbe
JM
80542011-01-14 Joseph Myers <joseph@codesourcery.com>
8055
8056 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
8057 * config/sparc/linux64.h (CC1_SPEC): Likewise.
8058 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
8059 * config/sparc/sparc.h (CC1_SPEC): Likewise.
8060
3a7b4385
JM
80612011-01-14 Joseph Myers <joseph@codesourcery.com>
8062
8063 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
8064 -mcpu options.
8065 * config/sparc/linux64.h (CC1_SPEC): Likewise.
8066 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
8067 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
8068 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
8069 Likewise.
8070 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
8071
a7b778f8
JM
80722011-01-14 Joseph Myers <joseph@codesourcery.com>
8073
38be4072 8074 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 8075
a7edae0a
MS
80762011-01-14 Mike Stump <mikestump@comcast.net>
8077
8078 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
8079 * config/fr30/fr30.md: Likweise
8080 (movsi_push): Likewise.
8081 (movsi_pop): Likewise.
8082 (enter_func): Likewise.
8083 * config/moxie/moxie.md (movsi_push): Likewise.
8084 (movsi_pop): Likewise.
8085
cbabf03f
JM
80862011-01-14 Joseph Myers <joseph@codesourcery.com>
8087
8088 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
8089 %{no_archive} %{exact_version}.
8090 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
8091 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
8092 %{no_archive} %{exact_version}.
8093 * config/mips/openbsd.h (LINK_SPEC): Likewise.
8094 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
8095 * config/mips/vxworks.h: Likewise.
8096
438da41a
JM
80972011-01-14 Joseph Myers <joseph@codesourcery.com>
8098
38be4072 8099 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 8100
da290a42
JM
81012011-01-14 Joseph Myers <joseph@codesourcery.com>
8102
8103 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
8104 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
8105
8989d00e
JM
81062011-01-14 Joseph Myers <joseph@codesourcery.com>
8107
8108 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
8109 -nodefaultlib.
8110
a3010a69
JM
81112011-01-14 Joseph Myers <joseph@codesourcery.com>
8112
8113 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
8114 for mcpu not cpu.
8115 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
8116 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
8117 not cpu.
8118 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
8119 Don't handle -shlib.
8120
e7f2f537
JM
81212011-01-14 Joseph Myers <joseph@codesourcery.com>
8122
8123 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
8124 (CC1_SPEC): Don't handle -profile.
8125
34830bfd
JM
81262011-01-14 Joseph Myers <joseph@codesourcery.com>
8127
8128 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
8129 * config/mips/mips.h (CC1_SPEC): Likewise.
8130
b2d36e74
JM
81312011-01-14 Joseph Myers <joseph@codesourcery.com>
8132
8133 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
8134 * config/mips/mips.h (CC1_SPEC): Likewise.
8135
dabadc52
JM
81362011-01-14 Joseph Myers <joseph@codesourcery.com>
8137
8138 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
8139 * config/m32r/linux.h (LINK_SPEC): Likewise.
8140 * config/mips/linux.h (LINK_SPEC): Likewise.
8141 * config/mips/linux64.h (LINK_SPEC): Likewise.
8142 * config/sparc/linux.h (LINK_SPEC): Likewise.
8143 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
8144 LINK_SPEC): Likewise.
8145 * config/xtensa/linux.h (LINK_SPEC): Likewise.
8146
43ee6785
JM
81472011-01-14 Joseph Myers <joseph@codesourcery.com>
8148
8149 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
8150 %{version:-v}.
8151 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
8152
45e79dfd
JM
81532011-01-14 Joseph Myers <joseph@codesourcery.com>
8154
8155 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
8156 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
8157
37e9e71d
JM
81582011-01-14 Joseph Myers <joseph@codesourcery.com>
8159
8160 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
8161
bb127cd8
RO
81622011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8163
8164 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
8165 supports -Bstatic/-Bdynamic.
8166 * configure: Regenerate.
8167
89a012ea 81682011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 8169 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
8170
8171 PR target/46037
8172 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
8173 when checking debug_info_level. Test write_symbols instead of
8174 debug_hooks->var_location when setting flag_var_tracking_uninit.
8175
7352c013
RG
81762011-01-14 Richard Guenther <rguenther@suse.de>
8177
8178 PR tree-optimization/47179
8179 * target.def (ref_may_alias_errno): New target hook.
8180 * targhooks.h (default_ref_may_alias_errno): Declare.
8181 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
8182 (default_ref_may_alias_errno): New function.
8183 * target.h (struct ao_ref_s): Declare.
8184 * tree-ssa-alias.c: Include target.h.
8185 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
8186 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
8187 (targhooks.o): Likewise.
8188 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
8189 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
8190
9a6c9288
RG
81912011-01-14 Richard Guenther <rguenther@suse.de>
8192
8193 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
8194
0fdb0d27
RG
81952011-01-14 Richard Guenther <rguenther@suse.de>
8196
8197 PR tree-optimization/47280
8198 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
8199 return CFG changes.
8200 (tree_ssa_forward_propagate_single_use_vars): Deal with
8201 CFG changes from associate_plusminus.
8202
8f66db3b
RG
82032011-01-14 Richard Guenther <rguenther@suse.de>
8204
8205 PR middle-end/47281
8206 Revert
8207 2011-01-11 Richard Guenther <rguenther@suse.de>
8208
280d9630
EB
8209 PR tree-optimization/46076
8210 * tree-ssa.c (useless_type_conversion_p): Conversions from
8211 unprototyped to empty argument list function types are useless.
8f66db3b 8212
6c0c92e6
RG
82132011-01-14 Richard Guenther <rguenther@suse.de>
8214
8215 PR tree-optimization/47286
280d9630 8216 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 8217
db09f943
MJ
82182011-01-14 Martin Jambor <mjambor@suse.cz>
8219
8220 PR middle-end/46823
8221 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
8222
dde8a3a4
AS
82232011-01-13 Anatoly Sokolov <aesok@post.ru>
8224
8225 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
8226 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
8227 * config/xtensa/xtensa.c (xtensa_libcall_value,
8228 xtensa_function_value_regno_p): New functions.
8229 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
8230
a2b63a20
KT
82312011-01-13 Kai Tietz <kai.tietz@onevision.com>
8232
8233 PR c++/47213
8234 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
8235 PE specific hook.
8236 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
8237 New function prototype.
8238 * config/i386/winnt.c (i386_pe_assemble_visibility):
8239 Warn only if attribute was specified by user.
8240
b41f0b34
MM
82412011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
8242
8243 PR target/47251
8244 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
8245 floating point.
8246 (floatunsdidf2_fcfidu): Ditto.
8247
3f3c098d
AK
82482011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8249
8250 * config/s390/s390.c (print_operand_address): Replace 'error' with
8251 'output_operand_lossage'.
8252 (print_operand): Likewise.
8253
29fa95ed
JL
82542011-01-13 Jeff Law <law@redhat.com>
8255
280d9630 8256 PR rtl-optimization/39077
29fa95ed
JL
8257 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
8258 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
8259 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
8260 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
8261 * gcse.c (prune_insertions_deletions): New function.
8262 (compute_pre_data): Use it.
8263
71d12276
DS
82642011-01-13 Dodji Seketeli <dodji@redhat.com>
8265
8266 PR debug/PR46973
8267 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
8268 static function.
61052244 8269 (prune_unused_types_mark): Use it.
71d12276 8270
9b0f04e7
AB
82712011-01-13 Andrey Belevantsev <abel@ispras.ru>
8272
8273 PR rtl-optimization/45352
1c3ba85b 8274 * sel-sched.c: Update copyright years.
9b0f04e7 8275 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 8276 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 8277
d6a3e264
RH
82782011-01-12 Richard Henderson <rth@redhat.com>
8279
a49b692a
RH
8280 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
8281 (TARGET_MD_ASM_CLOBBERS): New.
8282
126b1483
RH
8283 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
8284 (TARGET_DELEGITIMIZE_ADDRESS): New.
8285
f3d9d2e0
RH
8286 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
8287 (clzsi2, *bsch): New patterns.
8288
d84760c9
RH
8289 * config/mn10300/mn10300.md (INT): New mode iterator.
8290 (*mov<INT>_clr): New pattern, and peep2 to generate it.
8291
ec815d65
RH
8292 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
8293 flag_split_wide_types.
8294
d6a3e264
RH
8295 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
8296 (mn10300_trampoline_init): Rewrite without a template, an immediate
8297 load and a direct branch.
8298 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
8299
0f8ab434
AS
83002011-01-12 Anatoly Sokolov <aesok@post.ru>
8301
8302 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
8303 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
8304 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
8305 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8306
d8a24b65
KT
83072011-01-12 Kai Tietz <kai.tietz@onevision.com>
8308
8309 PR debug/47209
8310 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
8311 of type.
8312
56e22cab
JH
83132011-01-12 Jan Hubicka <jh@suse.cz>
8314
8315 PR driver/47244
8316 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
8317 (PLUGIN_COND_CLOSE): New macro.
8318 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
8319
4b18b3c2
RG
83202011-01-12 Richard Guenther <rguenther@suse.de>
8321
8322 PR lto/47259
8323 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
8324 register variables in a MEM_REF.
8325
8e38461c
JM
83262011-01-12 Joseph Myers <joseph@codesourcery.com>
8327
8328 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
8329 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
8330 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
8331 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
8332 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
8333 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
8334 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
8335 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
8336 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
8337 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
8338 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
8339 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
8340 * config/gnu-user.h: New. Copied from linux.h.
8341 (LINUX_TARGET_STARTFILE_SPEC): Rename to
8342 GNU_USER_TARGET_STARTFILE_SPEC.
8343 (LINUX_TARGET_ENDFILE_SPEC): Rename to
8344 GNU_USER_TARGET_ENDFILE_SPEC.
8345 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
8346 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
8347 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
8348 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
8349 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
8350 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
8351 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
8352 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
8353 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
8354 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
8355 * config/arm/linux-eabi.h (CC1_SPEC): Use
8356 GNU_USER_TARGET_CC1_SPEC.
8357 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
8358 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
8359 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
8360 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
8361 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
8362 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
8363 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
8364 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
8365
a570fc16
RG
83662011-01-12 Richard Guenther <rguenther@suse.de>
8367
8368 PR other/46946
8369 * doc/invoke.texi (ffast-math): Document it is turned on
8370 with -Ofast.
8371
b0223c3e
JH
83722011-01-12 Jan Hubicka <jh@suse.cz>
8373
8374 PR tree-optimization/47233
ca1e00b3
EB
8375 * opts.c (common_handle_option): Disable ipa-reference with profile
8376 feedback.
b0223c3e 8377
1c3ba85b 83782011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
8379
8380 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
8381 error message.
8382
d853ee42
NP
83832011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
8384
8385 * c-parser.c (c_lex_one_token): Updated and reindented some
8386 comments. No changes in code.
8387
4053a5a0
ILT
83882011-01-11 Ian Lance Taylor <iant@google.com>
8389
8390 * godump.c (go_output_var): Don't output the variable if there is
8391 already a type with the same name.
8392
fa3e04d2
ILT
83932011-01-11 Ian Lance Taylor <iant@google.com>
8394
8395 * godump.c (go_format_type): Don't generate float80.
8396
885fe07c
RH
83972011-01-11 Richard Henderson <rth@redhat.com>
8398
72d6e3c5
RH
8399 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
8400 declaration. Rewrite for both speed and size.
8401 (mn10300_address_cost_1): Remove.
8402 (mn10300_register_move_cost): New.
8403 (mn10300_memory_move_cost): New.
8404 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
8405 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
8406 extensions, shifts, BSWAP, CLZ.
8407 (mn10300_wide_const_load_uses_clr): Remove.
8408 (TARGET_REGISTER_MOVE_COST): New.
8409 (TARGET_MEMORY_MOVE_COST): New.
8410 * config/mn10300/mn10300-protos.h: Update.
8411 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
8412
df37c023
RH
8413 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
8414 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
8415 * config/mn10300/mn10300-protos.h: Update.
8416 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
8417 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
8418 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
8419 (*test_int_bitfield, *test_byte_bitfield): Remove.
8420 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 8421 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 8422
85a337b5
RH
8423 * config/mn10300/constraints.md ("c"): Rename from "A".
8424 ("A", "D"): New constraint letters.
8425 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
8426 (fmssf4, fnmasf4, fnmssf4): Likewise.
8427
a5c727e3
RH
8428 * config/mn10300/mn10300.md (isa): New attribute.
8429 (enabled): New attribute.
8430
0d9e23f4
RH
8431 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
8432 (abssf2, negsf2): Define only for hardware fp.
8433 (sqrtsf2): Reformat.
8434 (addsf3, subsf3, mulsf3): Merge expander and insn.
8435
c157b3f0
RH
8436 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
8437 (DEBUGGER_AUTO_OFFSET): Remove.
8438 (DEBUGGER_ARG_OFFSET): Remove.
8439
cc909bba
RH
8440 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
8441 Emit register stores with the same offsets as the hardware.
8442 (mn10300_store_multiple_operation): Don't check that the register
8443 save offsets are monotonic.
8444 * config/mn10300/mn10300-protos.h: Update.
8445
e3b5c2f3
RH
8446 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
8447
885fe07c
RH
8448 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
8449 in terms of the value on the stack, not the MDR register.
8450
6e701822
JH
84512011-01-11 Jan Hubicka <jh@suse.cz>
8452
8453 PR lto/45721
8454 PR lto/45375
8455 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
8456 (symbol_alias_set_destroy, symbol_alias_set_contains,
8457 propagate_aliases_backward): Declare.
8458 * lto-streamer-out.c (struct sets): New sturcture.
8459 (trivally_defined_alias): New function.
8460 (output_alias_pair_p): Rewrite.
8461 (output_unreferenced_globals): Fix output of alias pairs.
8462 (produce_symtab): Likewise.
8463 * ipa.c (function_and_variable_visibility): Set weak alias destination
8464 as needed in lto.
8465 * varasm.c (symbol_alias_set_t): Remove.
8466 (symbol_alias_set_destroy): Export.
8467 (propagate_aliases_forward, propagate_aliases_backward): New functions
8468 based on ...
8469 (compute_visible_aliases): ... this one; remove.
8470 (trivially_visible_alias): New
8471 (trivially_defined_alias): New.
8472 (remove_unreachable_alias_pairs): Rewrite.
8473 (finish_aliases_1): Reorganize code checking if alias is defined.
8474 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
8475 in LTO mode.
8476
1b248907
RG
84772011-01-11 Richard Guenther <rguenther@suse.de>
8478
8479 PR tree-optimization/46076
8480 * tree-ssa.c (useless_type_conversion_p): Conversions from
8481 unprototyped to empty argument list function types are useless.
8482
b1923f0a
RG
84832011-01-11 Richard Guenther <rguenther@suse.de>
8484
8485 PR middle-end/45235
8486 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
8487 volatile MEMs as MEM_READONLY_P.
8488
e98965af
RG
84892011-01-11 Richard Guenther <rguenther@suse.de>
8490
8491 PR tree-optimization/47239
8492 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
8493
9f9ca914
JL
84942011-01-11 Jeff Law <law@redhat.com>
8495
1ee3ea05 8496 PR tree-optimization/47086
9f9ca914
JL
8497 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
8498 IVs from statements that might throw.
8499
345fdcb7
JH
85002011-01-10 Jan Hubicka <jh@suse.cz>
8501
8502 PR lto/45375
8503 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
8504
c459c97b
JH
85052011-01-10 Jan Hubicka <jh@suse.cz>
8506
8507 PR lto/45375
8508 * profile.c (read_profile_edge_counts): Ignore profile inconistency
8509 when correcting profile.
8510
06c9eb51
JH
85112011-01-10 Jan Hubicka <jh@suse.cz>
8512
8513 PR lto/46083
8514 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
8515 DECL_FINI_PRIORITY.
8516 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
8517 Restore DECL_FINI_PRIORITY.
8518
ae9fd815
RW
85192011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8520
8521 * doc/gimple.texi: Fix quoting of multi-word return values in
8522 @deftypefn statements. Ensure presence of return value. Wrap
8523 overlong @deftypefn lines.
8524 (is_gimple_operand, is_gimple_min_invariant_address): Remove
8525 descriptions of removed functions.
8526 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
8527 of multi-word return value in @deftypefn statement.
8528
0ecb4a7c
RW
85292011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8530
8531 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
8532 (Conditional Expressions, Logical Operators)
8533 (Statement and operand traversals): Do not indent smallexample
8534 code. Fix duplicate function argument in example.
8535
2e5e346d
JL
85362011-01-10 Jeff Law <law@redhat.com>
8537
1ee3ea05 8538 PR tree-optimization/47141
2e5e346d
JL
8539 * ipa-split.c (split_function): Handle case where we are
8540 returning a value and the return block has a virtual operand phi.
8541
cf9712cc
JH
85422011-01-10 Jan Hubicka <jh@suse.cz>
8543
1c3ba85b 8544 PR tree-optimization/47234
cf9712cc
JH
8545 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
8546 (pass_feedback_split_functions): Declare.
8547 * passes.c (init_optimization_passes): Add ipa-split as subpass of
8548 tree-profile.
8549 * ipa-split.c (gate_split_functions): Update comments; disable
8550 split-functions for profile_arc_flag and branch_probabilities.
8551 (gate_feedback_split_functions): New function.
8552 (execute_feedback_split_functions): New function.
8553 (pass_feedback_split_functions): New global var.
8554
94cd932c
L
85552011-01-10 H.J. Lu <hongjiu.lu@intel.com>
8556
8557 PR lto/46760
8558 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
8559 calling gimple_call_set_cannot_inline.
8560
fbbfcaf1
IS
85612011-01-10 Iain Sandoe <iains@gcc.gnu.org>
8562
8563 * config/darwin-sections.def: Remove unused section.
8564
d06865bf
DK
85652011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
8566
8567 PR c++/47218
8568 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
8569
96bbfbac
NP
85702011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
8571
8572 PR objc/47232
8573 * c-parser.c (c_parser_declaration_or_fndef): Improved
8574 error message.
8575
1ba6516f
KT
85762011-01-09 Kai Tietz <kai.tietz@onevision.com>
8577
8578 * config/i386/winnt.c (i386_pe_start_function): Make sure
8579 to switch back to function's section.
8580
0c5d770e
IS
85812011-01-09 Iain Sandoe <iains@gcc.gnu.org>
8582
8583 PR gcc/46902
8584 PR testsuite/46912
8585 * plugin.c: Move include of dlfcn.h from here...
8586 * system.h: ... to here.
8587
85882011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
8589
8590 * doc/cpp.texi (C++ Named Operators): Fix markup for header
8591 file name.
8592 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
8593 two extra empty pages in PDF output.
8594
046608a3
NP
85952011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
8596
8597 PR objc/47078
8598 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
8599 for error recovery purposes behave as if it was not specified so
8600 that the default type is usd.
8601
8cb114b9
JH
86022011-01-07 Jan Hubicka <jh@suse.cz>
8603
8604 PR tree-optmization/46469
8605 * ipa.c (function_and_variable_visibility): Clear needed flags on
8606 nodes with external decls; handle weakrefs merging correctly.
8607
b294a75e
JM
86082011-01-07 Joseph Myers <joseph@codesourcery.com>
8609
8610 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
8611 not false.
8612
96bdf9b4
JH
86132011-01-07 Jan Hubicka <jh@suse.cz>
8614
8615 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
8616 and no longer claim that gold is required for linker plugin.
8617 * configure: Regenerate.
8618 * gcc.c (PLUGIN_COND): New macro.
8619 (LINK_COMMAND_SPEC): Use it.
8620 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
8621 * config.in (HAVE_LTO_PLUGIN): New.
8622 * configure.ac (--with-lto-plugin): New parameter; autodetect
8623 HAVE_LTO_PLUGIN.
8624
17afc0fe
JH
86252011-01-07 Jan Hubicka <jh@suse.cz>
8626
8627 PR tree-optimization/46367
8628 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
8629 when we can update original.
8630 (cgraph_mark_inline_edge): Sanity check.
8631 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
8632
d4c48c0f
UW
86332011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8634
8635 * config/spu/spu.h (ASM_COMMENT_START): Define.
8636
96f5b137
L
86372011-01-07 H.J. Lu <hongjiu.lu@intel.com>
8638
8639 PR driver/42445
8640 * gcc.c (%>S): New.
8641 (SWITCH_KEEP_FOR_GCC): Likewise.
8642 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
8643 (do_spec_1): Handle "%>".
8644
8645 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
8646
c6a8f6de
JJ
86472011-01-07 Jakub Jelinek <jakub@redhat.com>
8648
c21bbd7a
JJ
8649 PR target/47201
8650 * config/i386/i386.c (ix86_delegitimize_address): If
8651 simplify_gen_subreg fails, return orig_x.
8652
c6a8f6de
JJ
8653 PR bootstrap/47187
8654 * value-prof.c (gimple_stringop_fixed_value): Handle
8655 lhs of the call properly.
8656
fe95fbf9
JH
86572011-01-07 Jan Hubicka <jh@suse.cz>
8658
8659 PR lto/45375
8660 * lto-opt.c (lto_reissue_options): Set flag_shlib.
8661
14d11d40
IS
86622011-01-07 Iain Sandoe <iains@gcc.gnu.org>
8663
72e961c8
EB
8664 * target.def (function_switched_text_sections): New hook.
8665 * doc/tm.texi: Regenerated.
8666 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 8667 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
8668 (final_scan_insn): Call function_switched_text_sections when a
8669 mid-function section change occurs.
14d11d40 8670 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
8671 * config/darwin-protos.h (darwin_function_switched_text_sections):
8672 Likewise.
14d11d40 8673 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 8674 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 8675
0b764288
IS
86762011-01-07 Iain Sandoe <iains@gcc.gnu.org>
8677
8678 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
8679 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
8680 the secondary code fragment when outputting for DWARF == 2.
8681
2ac6bb04
AS
86822011-01-07 Anatoly Sokolov <aesok@post.ru>
8683
8684 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
8685 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
8686 Remove.
8687 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
8688 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8689
9f82de11
EB
86902011-01-06 Eric Botcazou <ebotcazou@adacore.com>
8691
8692 PR debug/46704
280d9630
EB
8693 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
8694 when it is not empty.
9f82de11
EB
8695
86962011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 8697
1ed72abf 8698 Bobcat Enablement
14b52538 8699 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 8700 (case ${target}): Add btver1.
14b52538 8701 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 8702 -march=native recognize btver1 processors.
14b52538 8703 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 8704 btver1 def_and_undef
14b52538 8705 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
8706 btver1 cost table.
8707 (m_BTVER1): New definition.
8708 (m_AMD_MULTIPLE): Includes m_BTVER1.
8709 (initial_ix86_tune_features): Add btver1 tune.
8710 (processor_target_table): Add btver1 entry.
8711 (static const char *const cpu_names): Add btver1 entry.
8712 (software_prefetching_beneficial_p): Add btver1.
8713 (ix86_option_override_internal): Add btver1 instruction sets.
8714 (ix86_issue_rate): Add btver1.
8715 (ix86_adjust_cost): Add btver1.
14b52538 8716 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
8717 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
8718 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
8719 * config/i386/i386.md (define_attr "cpu"): Add btver1.
8720
e1a973d8
RO
87212011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8722
8723 PR target/43309
8724 * config/i386/i386.c (legitimize_tls_address)
8725 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
8726 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
8727 (tls_initial_exec_64_sun): New pattern.
8728
c73f67c5
GP
87292011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
8730
8731 * doc/invoke.texi (Overall Options): Improve wording and markup
8732 of the description of -wrapper.
8733
bc4c6f9c
JM
87342011-01-06 Joseph Myers <joseph@codesourcery.com>
8735
8736 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
8737 rdynamic, threads): New Driver options.
8738
adb75db0
RO
87392011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8740
8741 PR target/38118
8742 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
8743 if coming from .tdata.
8744 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
8745
402c1cb4
JH
87462011-01-06 Jan Hubicka <jh@suse.cz>
8747
8748 PR lto/47188
8749 * collect2.c (main): Do not enable LTOmode when plugin is active.
8750
a4da6485
RO
87512011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8752
8753 PR other/45915
8754 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
8755 --version output if supported.
8756 * configure: Regenerate.
8757
028dbdf4
JM
87582011-01-06 Joseph Myers <joseph@codesourcery.com>
8759
8760 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
8761 Driver options.
8762
dfe776dd
JJ
87632011-01-06 Jakub Jelinek <jakub@redhat.com>
8764
8765 PR c/47150
8766 * c-convert.c (convert): When converting a complex expression
8767 other than COMPLEX_EXPR to a different complex type, ensure
8768 c_save_expr is called instead of save_expr, unless in_late_binary_op.
8769 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
8770 when converting COMPLEX_TYPE.
8771
210dedfe
IR
87722011-01-06 Ira Rosen <irar@il.ibm.com>
8773
8774 PR tree-optimization/47139
8775 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
8776 only the last reduction value is used outside the loop. Update
8777 documentation.
8778
cd33a412
JM
87792011-01-05 Joseph Myers <joseph@codesourcery.com>
8780
8781 * config/rtems.opt: New.
8782 * config.gcc (*-*-rtems*): Use rtems.opt.
8783
819edd94
CF
87842011-01-05 Changpeng Fang <changpeng.fang@amd.com>
8785
8786 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
8787 processors do not support 3DNow instructions.
8788
dc242c4a
UW
87892011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8790
8791 * config/spu/spu.c (spu_option_override): Set parameter
8792 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
8793
be286227
JH
87942011-01-05 Jan Hubicka <jh@suse.cz>
8795
8796 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
8797 at the command line.
8798
644e637f
MJ
87992011-01-05 Martin Jambor <mjambor@suse.cz>
8800
8801 PR lto/47162
8802 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
8803 deltas on streamed outgoing edges.
8804 (output_node_opt_summary): Output info for outgoing edges only when
8805 the node is in new parameter set.
8806 (output_cgraph_opt_summary): New parameter set, passed to the two
8807 aforementioned functions. Update its forward declaration and its
8808 callee too.
8809
7bd11157
TT
88102011-01-05 Tom Tromey <tromey@redhat.com>
8811
8812 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
8813 operator to c_finish_omp_atomic.
8814 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
8815 (build_unary_op): Update.
8816 (build_modify_expr): Update.
8817 (build_asm_expr): Update.
8818
f626b979
UW
88192011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8820
8821 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
8822 newly inserted insns.
8823 (pad_bb): Likewise.
8824 (spu_emit_branch_hint): Likewise.
8825 (insert_hbrp_for_ilb_runout): Likewise.
8826 (spu_machine_dependent_reorg): Call df_finish_pass after
8827 schedule_insns returns.
8828
4c825c02
UW
88292011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8830
8831 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
8832
5e9fba51
EB
88332011-01-05 Eric Botcazou <ebotcazou@adacore.com>
8834
8835 PR tree-optimization/47005
8836 * tree-sra.c (struct access): Add 'non_addressable' bit.
8837 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
8838 (decide_one_param_reduction): Return 0 if the parameter is passed by
8839 reference and one of the accesses in the group is non_addressable.
8840
3ebb5ca6
EB
88412011-01-04 Eric Botcazou <ebotcazou@adacore.com>
8842
8843 PR tree-optimization/47056
8844 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
8845 (mark_load): Likewise. Handle FUNCTION_DECL specially.
8846 (mark_store): Likewise. Pass STMT to ipa_record_reference.
8847
d5d4d14e
EB
88482011-01-04 Eric Botcazou <ebotcazou@adacore.com>
8849
8850 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
8851 initializer. Skip view conversions from aggregate types.
8852
d996ef70
KT
88532011-01-04 Kai Tietz <kai.tietz@onevision.com>
8854
8855 PR bootstrap/47055
8856 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
8857
509d65dd 88582011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
8859
8860 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
8861 obvious typo.
8862
55c623b5
UW
88632011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8864
8865 * function.c (thread_prologue_and_epilogue_insns): Do not crash
8866 on empty epilogue sequences.
8867
b98d6b35
JM
88682011-01-04 Joseph Myers <joseph@codesourcery.com>
8869
8870 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
8871 non-static): New Driver options.
8872
a0d43bac
JZ
88732011-01-04 Jie Zhang <jie@codesourcery.com>
8874
8875 PR driver/47137
8876 * gcc.c (default_compilers[]): Set combinable field to 0
8877 for all assembly languages.
8878
2b18eb32
MX
88792011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
8880
8881 * config/mips/loongson3a.md: New file.
8882 * config/mips/mips.md: Include loongson3a.md.
8883 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
8884 TUNE_LOONGSON_3A.
8885
42a48c4f
EB
88862011-01-03 Eric Botcazou <ebotcazou@adacore.com>
8887
8888 PR middle-end/47017
8889 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
8890 instead of convert_memory_address_addr_space on the base expression.
8891
9c1732c4
UW
88922011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8893
8894 * config/spu/spu.c (spu_option_override): Update error text
8895 for bad -march= / -mtune= values.
8896
aa474365
UW
88972011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8898
8899 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
8900 if branch-hint optimization will be performed.
8901
9766135b
JJ
89022011-01-03 Jakub Jelinek <jakub@redhat.com>
8903
371556ee
JJ
8904 PR tree-optimization/47148
8905 * ipa-split.c (split_function): Convert arguments to
8906 DECL_ARG_TYPE if possible.
8907
1ac12fa2
JJ
8908 PR tree-optimization/47155
8909 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
8910 when computing uns.
8911
9766135b
JJ
8912 PR rtl-optimization/47157
8913 * combine.c (try_combine): If undobuf.other_insn becomes
8914 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
8915 and set *new_direct_jump_p too.
8916
f4a2e571
SP
89172011-01-03 Sebastian Pop <sebastian.pop@amd.com>
8918
8919 PR tree-optimization/47021
8920 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
8921
9f8e43c0
JJ
89222011-01-03 Jakub Jelinek <jakub@redhat.com>
8923
8924 * gcc.c (process_command): Update copyright notice dates.
8925 * gcov.c (print_version): Likewise.
8926 * gcov-dump.c (print_version): Likewise.
8927 * mips-tfile.c (main): Likewise.
8928 * mips-tdump.c (main): Likewise.
8929
1a2e38f3
MJ
89302011-01-03 Martin Jambor <mjambor@suse.cz>
8931
8932 PR tree-optimization/46801
8933 * tree-sra.c (type_internals_preclude_sra_p): Check whether
8934 aggregate fields start at byte boundary instead of the bit-field flag.
8935
56b721c5
L
89362011-01-03 H.J. Lu <hongjiu.lu@intel.com>
8937
8938 PR driver/47137
8939 * gcc.c (main): Revert revision 168407.
8940
839d549b
MJ
89412011-01-03 Martin Jambor <mjambor@suse.cz>
8942
8943 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
8944
4ce99a20 89452011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
8946
8947 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
8948 vector optab to expand vector/scalar shift, update gimple to vector.
8949
76df0ae6
MJ
89502011-01-03 Martin Jambor <mjambor@suse.cz>
8951
8952 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
8953 a thunk.
8954
ce47fda3
MJ
89552011-01-03 Martin Jambor <mjambor@suse.cz>
8956
8957 PR tree-optimization/46984
8958 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
8959 HOST_WIDE_INT.
8960 (cgraph_create_indirect_edge): Fixed line length.
8961 (cgraph_indirect_call_info): Declare.
8962 (cgraph_make_edge_direct) Update declaration.
8963 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
8964 (cgraph_create_indirect_edge): Use it.
8965 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
8966 callees.
8967 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
8968 the new thunk_delta representation.
8969 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
8970 HOST_WIDE_INT.
8971 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
8972 (ipa_read_indirect_edge_info): Likewise.
8973 * lto-cgraph.c (output_edge_opt_summary): New function.
8974 (output_node_opt_summary): Call it on all outgoing edges.
8975 (input_edge_opt_summary): New function.
8976 (input_node_opt_summary): Call it on all outgoing edges.
8977
1e67fa1f
L
89782011-01-02 H.J. Lu <hongjiu.lu@intel.com>
8979
8980 PR driver/47137
8981 * gcc.c (main): Don't check have_o when settting combine_inputs.
8982
6656b2ac
EB
89832011-01-02 Eric Botcazou <ebotcazou@adacore.com>
8984
8985 * regrename.c: Add general comment describing the pass.
8986 (struct du_head): Remove 'length' field.
8987 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
8988 (regrename_optimize): Do not sort chains. Rework comments, add others.
8989 Force renaming to the preferred class (if any) in the first pass and do
8990 not consider registers that belong to it in the second pass.
8991 (create_new_chain): Do not set 'length' field.
8992 (scan_rtx_reg): Likewise.
8993
bc470c24
JJ
89942011-01-02 Jakub Jelinek <jakub@redhat.com>
8995
4e996296
JJ
8996 PR tree-optimization/47140
8997 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
8998 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
8999 to bit_value_binop.
9000
bc470c24 9001 PR rtl-optimization/47028
6656b2ac
EB
9002 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
9003 parm_birth_insn instead of at the beginning of first bb.
bc470c24 9004
5af62fcd 90052011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
9006
9007 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
9008 Remove the word "see" before "@pxref".
9009 * doc/rtl.texi: Remove the word "see" before "@pxref".
9010
0e20c89f
JH
90112011-01-01 Jan Hubicka <jh@suse.cz>
9012
6656b2ac
EB
9013 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
9014 memory.
0e20c89f 9015
220e83ca
KT
90162011-01-01 Kai Tietz <kai.tietz@onevision.com>
9017
9018 PR target/38662
6656b2ac 9019 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 9020
ad41bd84 9021\f
797103eb 9022Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
9023
9024Copying and distribution of this file, with or without modification,
9025are permitted in any medium without royalty provided the copyright
9026notice and this notice are preserved.